irq fixes
Subsystems (2)
Linus,
Please pull the latest irq-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-urgent-for-linus
Thanks,
Ingo
------------------>
Rob Herring (2):
irq: Add declaration of irq_domain_simple_ops to irqdomain.h
irq: Fix check for already initialized irq_domain in irq_domain_add
include/linux/irqdomain.h | 1 + kernel/irq/irqdomain.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletions(-)
include/linux/irqdomain.h +1 -0
@@ -80,6 +80,7 @@ extern void irq_domain_del(struct irq_domain *domain);#endif /* CONFIG_IRQ_DOMAIN */ #if defined(CONFIG_IRQ_DOMAIN ) && defined(CONFIG_OF_IRQ ) +extern struct irq_domain_ops irq_domain_simple_ops;extern void irq_domain_add_simple (struct device_node *controller,int irq_base);extern void irq_domain_generate_simple (const struct of_device_id *match,u64 phys_base,unsigned int irq_start);
kernel/irq/irqdomain.c +5 -1
@@ -29,7 +29,11 @@ void irq_domain_add(struct irq_domain *domain)*/ for (hwirq =0 ; hwirq < domain->nr_irq; hwirq++) { d =irq_get_irq_data (irq_domain_to_irq (domain, hwirq)); -if (d || d->domain) { +if (!d) { +WARN (1 ,"error: assigning domain to non existant irq_desc" ); +return ; + } +if (d->domain) {/* things are broken; just report, don't clean up */ WARN (1 ,"error: irq_desc already assigned to a domain" );return ;
Quoted 5 lines · Ingo Molnar
Linus,
Please pull the latest irq-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.gitirq-urgent-for-linus
That would be a neat trick... Did you mean some other location? git.kernel.org still isn't back as far as I know.
josh
Quoted 6 lines · Ingo Molnar
Linus,
Please pull the latest irq-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.gitirq-urgent-for-linus
git://tesla.tglx.de/git/linux-2.6-tip irq-urgent-for-linus
might actually work
Thanks,
tglx
Quoted 4 lines · Thomas Gleixner
git://tesla.tglx.de/git/linux-2.6-tipirq-urgent-for-linusmight actually work
Erm, indeed korg is down so that URI won't work, silly me.
Linus, here's the updated pull request:
Please pull the latest irq-urgent-for-linus git tree from:
git://tesla.tglx.de/git/linux-2.6-tip.git irq-urgent-for-linus
Thanks,
Ingo
------------------>
Rob Herring (2):
irq: Add declaration of irq_domain_simple_ops to irqdomain.h
irq: Fix check for already initialized irq_domain in irq_domain_add
include/linux/irqdomain.h | 1 + kernel/irq/irqdomain.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletions(-)
include/linux/irqdomain.h +1 -0
@@ -80,6 +80,7 @@ extern void irq_domain_del(struct irq_domain *domain);#endif /* CONFIG_IRQ_DOMAIN */ #if defined(CONFIG_IRQ_DOMAIN ) && defined(CONFIG_OF_IRQ ) +extern struct irq_domain_ops irq_domain_simple_ops;extern void irq_domain_add_simple (struct device_node *controller,int irq_base);extern void irq_domain_generate_simple (const struct of_device_id *match,u64 phys_base,unsigned int irq_start);
kernel/irq/irqdomain.c +5 -1
@@ -29,7 +29,11 @@ void irq_domain_add(struct irq_domain *domain)*/ for (hwirq =0 ; hwirq < domain->nr_irq; hwirq++) { d =irq_get_irq_data (irq_domain_to_irq (domain, hwirq)); -if (d || d->domain) { +if (!d) { +WARN (1 ,"error: assigning domain to non existant irq_desc" ); +return ; + } +if (d->domain) {/* things are broken; just report, don't clean up */ WARN (1 ,"error: irq_desc already assigned to a domain" );return ;