Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 1 Dec 2008 15:58:49 +0000 (07:58 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 1 Dec 2008 15:58:49 +0000 (07:58 -0800)
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB: serial: add more Onda device ids to option driver
  USB: usb-storage: unusual_devs entry for Nikon D2H
  USB: storage: unusual_devs entry for Mio C520-GPS
  USB: fsl_usb2_udc: Report disconnect before unbinding
  USB: fsl_qe_udc: Report disconnect before unbinding
  USB: fix SB600 USB subsystem hang bug
  Revert "USB: improve ehci_watchdog's side effect in CPU power management"

arch/powerpc/kernel/sysfs.c
arch/sparc64/kernel/pci_fire.c
arch/sparc64/kernel/pci_psycho.c
arch/sparc64/kernel/pci_sun4v.c
drivers/sbus/char/bbc_i2c.c
mm/vmscan.c
sound/sparc/cs4231.c

index 86a2ffc..20885a3 100644 (file)
@@ -717,9 +717,11 @@ static void unregister_cpu_online(unsigned int cpu)
 
        BUG_ON(!c->hotpluggable);
 
+#ifdef CONFIG_PPC64
        if (!firmware_has_feature(FW_FEATURE_ISERIES) &&
                        cpu_has_feature(CPU_FTR_SMT))
                sysdev_remove_file(s, &attr_smt_snooze_delay);
+#endif
 
        /* PMC stuff */
        switch (cur_cpu_spec->pmc_type) {
index fcbbac6..9462b68 100644 (file)
@@ -455,7 +455,7 @@ static int __init pci_fire_pbm_init(struct pci_pbm_info *pbm,
        return 0;
 }
 
-static int __init fire_probe(struct of_device *op,
+static int __devinit fire_probe(struct of_device *op,
                                const struct of_device_id *match)
 {
        struct device_node *dp = op->node;
index 56605ad..dfb3ec8 100644 (file)
@@ -493,7 +493,7 @@ static void __init psycho_pbm_init(struct pci_pbm_info *pbm,
        psycho_scan_bus(pbm, &op->dev);
 }
 
-static struct pci_pbm_info * __init psycho_find_sibling(u32 upa_portid)
+static struct pci_pbm_info * __devinit psycho_find_sibling(u32 upa_portid)
 {
        struct pci_pbm_info *pbm;
 
@@ -506,7 +506,7 @@ static struct pci_pbm_info * __init psycho_find_sibling(u32 upa_portid)
 
 #define PSYCHO_CONFIGSPACE     0x001000000UL
 
-static int __init psycho_probe(struct of_device *op,
+static int __devinit psycho_probe(struct of_device *op,
                                  const struct of_device_id *match)
 {
        const struct linux_prom64_registers *pr_regs;
index 4b27b0e..34a1fde 100644 (file)
@@ -929,7 +929,7 @@ static int __init pci_sun4v_pbm_init(struct pci_pbm_info *pbm,
        return 0;
 }
 
-static int __init pci_sun4v_probe(struct of_device *op,
+static int __devinit pci_sun4v_probe(struct of_device *op,
                                     const struct of_device_id *match)
 {
        const struct linux_prom64_registers *regs;
index 054f5dd..f08e169 100644 (file)
@@ -361,7 +361,7 @@ fail:
 extern int bbc_envctrl_init(struct bbc_i2c_bus *bp);
 extern void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp);
 
-static int __init bbc_i2c_probe(struct of_device *op,
+static int __devinit bbc_i2c_probe(struct of_device *op,
                                   const struct of_device_id *match)
 {
        struct bbc_i2c_bus *bp;
@@ -386,7 +386,7 @@ static int __init bbc_i2c_probe(struct of_device *op,
        return err;
 }
 
-static int __exit bbc_i2c_remove(struct of_device *op)
+static int __devexit bbc_i2c_remove(struct of_device *op)
 {
        struct bbc_i2c_bus *bp = dev_get_drvdata(&op->dev);
 
@@ -417,7 +417,7 @@ static struct of_platform_driver bbc_i2c_driver = {
        .name           = "bbc_i2c",
        .match_table    = bbc_i2c_match,
        .probe          = bbc_i2c_probe,
-       .remove         = __exit_p(bbc_i2c_remove),
+       .remove         = __devexit_p(bbc_i2c_remove),
 };
 
 static int __init bbc_i2c_init(void)
index 7ea1440..62e7f62 100644 (file)
@@ -1248,6 +1248,7 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone,
                list_add(&page->lru, &l_inactive);
        }
 
+       spin_lock_irq(&zone->lru_lock);
        /*
         * Count referenced pages from currently used mappings as
         * rotated, even though they are moved to the inactive list.
@@ -1263,7 +1264,6 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone,
 
        pgmoved = 0;
        lru = LRU_BASE + file * LRU_FILE;
-       spin_lock_irq(&zone->lru_lock);
        while (!list_empty(&l_inactive)) {
                page = lru_to_page(&l_inactive);
                prefetchw_prev_lru_page(page, &l_inactive, flags);
index 6c427bb..d44bf98 100644 (file)
@@ -1856,7 +1856,7 @@ static int __init snd_cs4231_sbus_create(struct snd_card *card,
        return 0;
 }
 
-static int __init cs4231_sbus_probe(struct of_device *op, const struct of_device_id *match)
+static int __devinit cs4231_sbus_probe(struct of_device *op, const struct of_device_id *match)
 {
        struct resource *rp = &op->resource[0];
        struct snd_card *card;
@@ -2048,7 +2048,7 @@ static int __init snd_cs4231_ebus_create(struct snd_card *card,
        return 0;
 }
 
-static int __init cs4231_ebus_probe(struct of_device *op, const struct of_device_id *match)
+static int __devinit cs4231_ebus_probe(struct of_device *op, const struct of_device_id *match)
 {
        struct snd_card *card;
        int err;
@@ -2072,7 +2072,7 @@ static int __init cs4231_ebus_probe(struct of_device *op, const struct of_device
 }
 #endif
 
-static int __init cs4231_probe(struct of_device *op, const struct of_device_id *match)
+static int __devinit cs4231_probe(struct of_device *op, const struct of_device_id *match)
 {
 #ifdef EBUS_SUPPORT
        if (!strcmp(op->node->parent->name, "ebus"))
@@ -2086,7 +2086,7 @@ static int __init cs4231_probe(struct of_device *op, const struct of_device_id *
        return -ENODEV;
 }
 
-static int __exit cs4231_remove(struct of_device *op)
+static int __devexit cs4231_remove(struct of_device *op)
 {
        struct snd_cs4231 *chip = dev_get_drvdata(&op->dev);
 
@@ -2112,7 +2112,7 @@ static struct of_platform_driver cs4231_driver = {
        .name           = "audio",
        .match_table    = cs4231_match,
        .probe          = cs4231_probe,
-       .remove         = __exit_p(cs4231_remove),
+       .remove         = __devexit_p(cs4231_remove),
 };
 
 static int __init cs4231_init(void)