diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-17 22:49:06 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-17 22:49:06 +0400 |
commit | 8364919c5698d934860aabc607ffd32b13c8c37c (patch) | |
tree | 8d11db5c61d442f9bfc4499e56353ac120af6f8b | |
parent | d3569d163cba40f9c5682df083dbed3f049478a4 (diff) | |
parent | 7f788ec07d169123bb1bd14e6221a2b228079ce8 (diff) | |
download | linux-8364919c5698d934860aabc607ffd32b13c8c37c.tar.xz |
Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze
* 'next' of git://git.monstr.eu/linux-2.6-microblaze:
USB: EHCI: Don't use NO_IRQ in xilinx ehci driver
microblaze: Add topology init
-rw-r--r-- | arch/microblaze/kernel/setup.c | 21 | ||||
-rw-r--r-- | drivers/usb/host/ehci-xilinx-of.c | 2 |
2 files changed, 21 insertions, 2 deletions
diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c index 604cd9dd1333..d4fc1a971779 100644 --- a/arch/microblaze/kernel/setup.c +++ b/arch/microblaze/kernel/setup.c @@ -26,6 +26,7 @@ #include <linux/cache.h> #include <linux/of_platform.h> #include <linux/dma-mapping.h> +#include <linux/cpu.h> #include <asm/cacheflush.h> #include <asm/entry.h> #include <asm/cpuinfo.h> @@ -226,5 +227,23 @@ static int __init setup_bus_notifier(void) return 0; } - arch_initcall(setup_bus_notifier); + +static DEFINE_PER_CPU(struct cpu, cpu_devices); + +static int __init topology_init(void) +{ + int i, ret; + + for_each_present_cpu(i) { + struct cpu *c = &per_cpu(cpu_devices, i); + + ret = register_cpu(c, i); + if (ret) + printk(KERN_WARNING "topology_init: register_cpu %d " + "failed (%d)\n", i, ret); + } + + return 0; +} +subsys_initcall(topology_init); diff --git a/drivers/usb/host/ehci-xilinx-of.c b/drivers/usb/host/ehci-xilinx-of.c index 32793ce3d9e9..9c2cc4633894 100644 --- a/drivers/usb/host/ehci-xilinx-of.c +++ b/drivers/usb/host/ehci-xilinx-of.c @@ -183,7 +183,7 @@ static int __devinit ehci_hcd_xilinx_of_probe(struct platform_device *op) } irq = irq_of_parse_and_map(dn, 0); - if (irq == NO_IRQ) { + if (!irq) { printk(KERN_ERR "%s: irq_of_parse_and_map failed\n", __FILE__); rv = -EBUSY; goto err_irq; |