* [PATCH] genirq: Export IRQ functions for module use
@ 2016-03-03 14:56 Quan Nguyen
2016-03-07 7:39 ` Linus Walleij
2016-03-10 15:03 ` [tip:irq/core] " tip-bot for Quan Nguyen
0 siblings, 2 replies; 3+ messages in thread
From: Quan Nguyen @ 2016-03-03 14:56 UTC (permalink / raw)
To: qnguyen, Loc Ho, Phong Vo, Keyur Chudgar, Thomas Gleixner,
Jiang Liu, Marc Zyngier, linux-kernel
Cc: patches
Export list of functions below to build gpio-xgene-sb driver as module
+ irq_chip_*_parent()
+ irq_domain_create_hierarchy(),
+ irq_domain_set_hwirq_and_chip(),
+ irq_domain_reset_irq_data(),
+ irq_domain_alloc/free_irqs_parent()
Signed-off-by: Quan Nguyen <qnguyen@apm.com>
Link: https://lists.01.org/pipermail/kbuild-all/2016-February/017914.html
---
kernel/irq/chip.c | 4 ++++
kernel/irq/irqdomain.c | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 5797909..2f9f2b0 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -961,6 +961,7 @@ void irq_chip_mask_parent(struct irq_data *data)
data = data->parent_data;
data->chip->irq_mask(data);
}
+EXPORT_SYMBOL_GPL(irq_chip_mask_parent);
/**
* irq_chip_unmask_parent - Unmask the parent interrupt
@@ -971,6 +972,7 @@ void irq_chip_unmask_parent(struct irq_data *data)
data = data->parent_data;
data->chip->irq_unmask(data);
}
+EXPORT_SYMBOL_GPL(irq_chip_unmask_parent);
/**
* irq_chip_eoi_parent - Invoke EOI on the parent interrupt
@@ -981,6 +983,7 @@ void irq_chip_eoi_parent(struct irq_data *data)
data = data->parent_data;
data->chip->irq_eoi(data);
}
+EXPORT_SYMBOL_GPL(irq_chip_eoi_parent);
/**
* irq_chip_set_affinity_parent - Set affinity on the parent interrupt
@@ -1016,6 +1019,7 @@ int irq_chip_set_type_parent(struct irq_data *data, unsigned int type)
return -ENOSYS;
}
+EXPORT_SYMBOL_GPL(irq_chip_set_type_parent);
/**
* irq_chip_retrigger_hierarchy - Retrigger an interrupt in hardware
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 3e56d2f0..3829bd7 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -895,6 +895,7 @@ struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
return domain;
}
+EXPORT_SYMBOL_GPL(irq_domain_create_hierarchy);
static void irq_domain_insert_irq(int virq)
{
@@ -1045,6 +1046,7 @@ int irq_domain_set_hwirq_and_chip(struct irq_domain *domain, unsigned int virq,
return 0;
}
+EXPORT_SYMBOL_GPL(irq_domain_set_hwirq_and_chip);
/**
* irq_domain_set_info - Set the complete data for a @virq in @domain
@@ -1078,6 +1080,7 @@ void irq_domain_reset_irq_data(struct irq_data *irq_data)
irq_data->chip = &no_irq_chip;
irq_data->chip_data = NULL;
}
+EXPORT_SYMBOL_GPL(irq_domain_reset_irq_data);
/**
* irq_domain_free_irqs_common - Clear irq_data and free the parent
@@ -1275,6 +1278,7 @@ int irq_domain_alloc_irqs_parent(struct irq_domain *domain,
nr_irqs, arg);
return -ENOSYS;
}
+EXPORT_SYMBOL_GPL(irq_domain_alloc_irqs_parent);
/**
* irq_domain_free_irqs_parent - Free interrupts from parent domain
@@ -1292,6 +1296,7 @@ void irq_domain_free_irqs_parent(struct irq_domain *domain,
irq_domain_free_irqs_recursive(domain->parent, irq_base,
nr_irqs);
}
+EXPORT_SYMBOL_GPL(irq_domain_free_irqs_parent);
/**
* irq_domain_activate_irq - Call domain_ops->activate recursively to activate
--
1.7.12.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] genirq: Export IRQ functions for module use
2016-03-03 14:56 [PATCH] genirq: Export IRQ functions for module use Quan Nguyen
@ 2016-03-07 7:39 ` Linus Walleij
2016-03-10 15:03 ` [tip:irq/core] " tip-bot for Quan Nguyen
1 sibling, 0 replies; 3+ messages in thread
From: Linus Walleij @ 2016-03-07 7:39 UTC (permalink / raw)
To: Quan Nguyen
Cc: Loc Ho, Phong Vo, Keyur Chudgar, Thomas Gleixner, Jiang Liu,
Marc Zyngier, linux-kernel@vger.kernel.org, patches
On Thu, Mar 3, 2016 at 9:56 PM, Quan Nguyen <qnguyen@apm.com> wrote:
> Export list of functions below to build gpio-xgene-sb driver as module
> + irq_chip_*_parent()
> + irq_domain_create_hierarchy(),
> + irq_domain_set_hwirq_and_chip(),
> + irq_domain_reset_irq_data(),
> + irq_domain_alloc/free_irqs_parent()
>
> Signed-off-by: Quan Nguyen <qnguyen@apm.com>
> Link: https://lists.01.org/pipermail/kbuild-all/2016-February/017914.html
Seems like the right solution if we should have run-time loaded
IRQchips.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
This causes a build error in -next so if it's not solved before the merge window
we may have to mark the xgene standby driver as bool to overcome the problem.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 3+ messages in thread
* [tip:irq/core] genirq: Export IRQ functions for module use
2016-03-03 14:56 [PATCH] genirq: Export IRQ functions for module use Quan Nguyen
2016-03-07 7:39 ` Linus Walleij
@ 2016-03-10 15:03 ` tip-bot for Quan Nguyen
1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Quan Nguyen @ 2016-03-10 15:03 UTC (permalink / raw)
To: linux-tip-commits
Cc: mingo, lho, hpa, marc.zyngier, linux-kernel, pvo, kchudgar,
jiang.liu, qnguyen, tglx, linus.walleij
Commit-ID: 52b2a05fa7c8cfceebb59117a95decd68cf7e465
Gitweb: http://git.kernel.org/tip/52b2a05fa7c8cfceebb59117a95decd68cf7e465
Author: Quan Nguyen <qnguyen@apm.com>
AuthorDate: Thu, 3 Mar 2016 21:56:52 +0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Thu, 10 Mar 2016 16:00:35 +0100
genirq: Export IRQ functions for module use
Export irq_chip_*_parent(), irq_domain_create_hierarchy(),
irq_domain_set_hwirq_and_chip(), irq_domain_reset_irq_data(),
irq_domain_alloc/free_irqs_parent()
So gpio drivers can be built as modules. First user: gpio-xgene-sb
Signed-off-by: Quan Nguyen <qnguyen@apm.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Phong Vo <pvo@apm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: patches@apm.com
Cc: Loc Ho <lho@apm.com>
Cc: Keyur Chudgar <kchudgar@apm.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>
Link: https://lists.01.org/pipermail/kbuild-all/2016-February/017914.html
Link: http://lkml.kernel.org/r/1457017012-10628-1-git-send-email-qnguyen@apm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/irq/chip.c | 4 ++++
kernel/irq/irqdomain.c | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 5797909..2f9f2b0 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -961,6 +961,7 @@ void irq_chip_mask_parent(struct irq_data *data)
data = data->parent_data;
data->chip->irq_mask(data);
}
+EXPORT_SYMBOL_GPL(irq_chip_mask_parent);
/**
* irq_chip_unmask_parent - Unmask the parent interrupt
@@ -971,6 +972,7 @@ void irq_chip_unmask_parent(struct irq_data *data)
data = data->parent_data;
data->chip->irq_unmask(data);
}
+EXPORT_SYMBOL_GPL(irq_chip_unmask_parent);
/**
* irq_chip_eoi_parent - Invoke EOI on the parent interrupt
@@ -981,6 +983,7 @@ void irq_chip_eoi_parent(struct irq_data *data)
data = data->parent_data;
data->chip->irq_eoi(data);
}
+EXPORT_SYMBOL_GPL(irq_chip_eoi_parent);
/**
* irq_chip_set_affinity_parent - Set affinity on the parent interrupt
@@ -1016,6 +1019,7 @@ int irq_chip_set_type_parent(struct irq_data *data, unsigned int type)
return -ENOSYS;
}
+EXPORT_SYMBOL_GPL(irq_chip_set_type_parent);
/**
* irq_chip_retrigger_hierarchy - Retrigger an interrupt in hardware
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 8681154..3a519a0 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -893,6 +893,7 @@ struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
return domain;
}
+EXPORT_SYMBOL_GPL(irq_domain_create_hierarchy);
static void irq_domain_insert_irq(int virq)
{
@@ -1043,6 +1044,7 @@ int irq_domain_set_hwirq_and_chip(struct irq_domain *domain, unsigned int virq,
return 0;
}
+EXPORT_SYMBOL_GPL(irq_domain_set_hwirq_and_chip);
/**
* irq_domain_set_info - Set the complete data for a @virq in @domain
@@ -1076,6 +1078,7 @@ void irq_domain_reset_irq_data(struct irq_data *irq_data)
irq_data->chip = &no_irq_chip;
irq_data->chip_data = NULL;
}
+EXPORT_SYMBOL_GPL(irq_domain_reset_irq_data);
/**
* irq_domain_free_irqs_common - Clear irq_data and free the parent
@@ -1273,6 +1276,7 @@ int irq_domain_alloc_irqs_parent(struct irq_domain *domain,
nr_irqs, arg);
return -ENOSYS;
}
+EXPORT_SYMBOL_GPL(irq_domain_alloc_irqs_parent);
/**
* irq_domain_free_irqs_parent - Free interrupts from parent domain
@@ -1290,6 +1294,7 @@ void irq_domain_free_irqs_parent(struct irq_domain *domain,
irq_domain_free_irqs_recursive(domain->parent, irq_base,
nr_irqs);
}
+EXPORT_SYMBOL_GPL(irq_domain_free_irqs_parent);
/**
* irq_domain_activate_irq - Call domain_ops->activate recursively to activate
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-03-10 15:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-03 14:56 [PATCH] genirq: Export IRQ functions for module use Quan Nguyen
2016-03-07 7:39 ` Linus Walleij
2016-03-10 15:03 ` [tip:irq/core] " tip-bot for Quan Nguyen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.