Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 26 Oct 2008 16:36:19 +0000 (09:36 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 26 Oct 2008 16:36:19 +0000 (09:36 -0700)
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX
  hwmon: (abituguru3) Cosmetic whitespace fixes
  hwmon: (adt7473) Fix voltage conversion routines
  hwmon: (lm90) Add support for the LM99 16 degree offset
  hwmon: (lm90) Fix handling of hysteresis value
  hwmon-vid: Add support for AMD family 10h CPUs
  hwmon: (w83781d) Fix linking when built-in

drivers/ata/libata-scsi.c
drivers/ide/icside.c
drivers/ide/rapide.c
drivers/net/r8169.c
fs/ext3/dir.c
fs/ext4/dir.c
init/main.c
kernel/stop_machine.c
scripts/kconfig/confdata.c

index d5b9b7266c8bc9c6549acc679ec7be1b827f6f22..4b95c4387e9e2197947af00745b8c81c509d1c7d 100644 (file)
@@ -708,7 +708,11 @@ static struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device *dev,
 {
        struct ata_queued_cmd *qc;
 
-       qc = ata_qc_new_init(dev, cmd->request->tag);
+       if (cmd->request->tag != -1)
+               qc = ata_qc_new_init(dev, cmd->request->tag);
+       else
+               qc = ata_qc_new_init(dev, 0);
+
        if (qc) {
                qc->scsicmd = cmd;
                qc->scsidone = done;
index 76bdc9a27f6f7ae91bbdd0ad4635fb169229a27c..2d848010499dfed1997e0f0eed459cb0cff847ec 100644 (file)
@@ -690,9 +690,9 @@ static int __init icside_init(void)
        return ecard_register_driver(&icside_driver);
 }
 
-static void __exit icside_exit(void);
+static void __exit icside_exit(void)
 {
-       ecard_unregister_driver(&icside_driver);
+       ecard_remove_driver(&icside_driver);
 }
 
 MODULE_AUTHOR("Russell King <rmk@arm.linux.org.uk>");
index 78d27d9ae4303ab6ee1dd4d2860445b80ea69a2d..d5003ca69801684bdc71e65db78767a41445c42e 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <asm/ecard.h>
 
-static struct const ide_port_info rapide_port_info = {
+static const struct ide_port_info rapide_port_info = {
        .host_flags             = IDE_HFLAG_MMIO | IDE_HFLAG_NO_DMA,
 };
 
@@ -97,7 +97,7 @@ static int __init rapide_init(void)
 
 static void __exit rapide_exit(void)
 {
-       ecard_unregister_driver(&rapide_driver);
+       ecard_remove_driver(&rapide_driver);
 }
 
 MODULE_LICENSE("GPL");
index 2b4e975770f3a950d982f4f084d4ff81f8c94301..4b7cb389dc4989edaf2f70ce9da55420484767bd 100644 (file)
@@ -1915,92 +1915,6 @@ static void rtl_disable_msi(struct pci_dev *pdev, struct rtl8169_private *tp)
        }
 }
 
-static int rtl_eeprom_read(struct pci_dev *pdev, int cap, int addr, __le32 *val)
-{
-       int ret, count = 100;
-       u16 status = 0;
-       u32 value;
-
-       ret = pci_write_config_word(pdev, cap + PCI_VPD_ADDR, addr);
-       if (ret < 0)
-               return ret;
-
-       do {
-               udelay(10);
-               ret = pci_read_config_word(pdev, cap + PCI_VPD_ADDR, &status);
-               if (ret < 0)
-                       return ret;
-       } while (!(status & PCI_VPD_ADDR_F) && --count);
-
-       if (!(status & PCI_VPD_ADDR_F))
-               return -ETIMEDOUT;
-
-       ret = pci_read_config_dword(pdev, cap + PCI_VPD_DATA, &value);
-       if (ret < 0)
-               return ret;
-
-       *val = cpu_to_le32(value);
-
-       return 0;
-}
-
-static void rtl_init_mac_address(struct rtl8169_private *tp,
-                                void __iomem *ioaddr)
-{
-       struct pci_dev *pdev = tp->pci_dev;
-       int vpd_cap;
-       __le32 sig;
-       u8 mac[8];
-       u8 cfg1;
-
-       cfg1 = RTL_R8(Config1);
-       if (!(cfg1  & VPD)) {
-               if (netif_msg_probe(tp))
-                       dev_info(&pdev->dev, "VPD access disabled, enabling\n");
-               RTL_W8(Cfg9346, Cfg9346_Unlock);
-               RTL_W8(Config1, cfg1 | VPD);
-               RTL_W8(Cfg9346, Cfg9346_Lock);
-       }
-
-       vpd_cap = pci_find_capability(pdev, PCI_CAP_ID_VPD);
-       if (!vpd_cap)
-               return;
-
-       if (rtl_eeprom_read(pdev, vpd_cap, RTL_EEPROM_SIG_ADDR, &sig) < 0)
-               return;
-
-       if ((sig & RTL_EEPROM_SIG_MASK) != RTL_EEPROM_SIG) {
-               dev_info(&pdev->dev, "Missing EEPROM signature: %08x\n", sig);
-               return;
-       }
-
-       /*
-        * MAC address is stored in EEPROM at offset 0x0e
-        * Realtek says: "The VPD address does not have to be a DWORD-aligned
-        * address as defined in the PCI 2.2 Specifications, but the VPD data
-        * is always consecutive 4-byte data starting from the VPD address
-        * specified."
-        */
-       if (rtl_eeprom_read(pdev, vpd_cap, 0x000e, (__le32*)&mac[0]) < 0 ||
-           rtl_eeprom_read(pdev, vpd_cap, 0x0012, (__le32*)&mac[4]) < 0) {
-               if (netif_msg_probe(tp)) {
-                       dev_warn(&pdev->dev,
-                                "reading MAC address from EEPROM failed\n");
-               }
-               return;
-       }
-
-       if (netif_msg_probe(tp)) {
-               DECLARE_MAC_BUF(buf);
-
-               dev_info(&pdev->dev, "MAC address found in EEPROM: %s\n",
-                        print_mac(buf, mac));
-       }
-
-       if (is_valid_ether_addr(mac))
-               rtl_rar_set(tp, mac);
-}
-
 static int __devinit
 rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
@@ -2178,8 +2092,6 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        tp->mmio_addr = ioaddr;
 
-       rtl_init_mac_address(tp, ioaddr);
-
        /* Get MAC address */
        for (i = 0; i < MAC_ADDR_LEN; i++)
                dev->dev_addr[i] = RTL_R8(MAC0 + i);
index 4c82531ea0a8b0d13ce61b63eb7daeecbe5d1423..5853f4440af41949081cfd2bf3e2b8f1b9363c18 100644 (file)
@@ -456,17 +456,8 @@ static int ext3_dx_readdir(struct file * filp,
        if (info->extra_fname) {
                if (call_filldir(filp, dirent, filldir, info->extra_fname))
                        goto finished;
-
                info->extra_fname = NULL;
-               info->curr_node = rb_next(info->curr_node);
-               if (!info->curr_node) {
-                       if (info->next_hash == ~0) {
-                               filp->f_pos = EXT3_HTREE_EOF;
-                               goto finished;
-                       }
-                       info->curr_hash = info->next_hash;
-                       info->curr_minor_hash = 0;
-               }
+               goto next_node;
        } else if (!info->curr_node)
                info->curr_node = rb_first(&info->root);
 
@@ -498,9 +489,14 @@ static int ext3_dx_readdir(struct file * filp,
                info->curr_minor_hash = fname->minor_hash;
                if (call_filldir(filp, dirent, filldir, fname))
                        break;
-
+       next_node:
                info->curr_node = rb_next(info->curr_node);
-               if (!info->curr_node) {
+               if (info->curr_node) {
+                       fname = rb_entry(info->curr_node, struct fname,
+                                        rb_hash);
+                       info->curr_hash = fname->hash;
+                       info->curr_minor_hash = fname->minor_hash;
+               } else {
                        if (info->next_hash == ~0) {
                                filp->f_pos = EXT3_HTREE_EOF;
                                break;
index 3ca6a2b7632dcd987db185d3fbe40926628b3d78..fed5b610df5ac4485e0db7a5c796154ba89b9247 100644 (file)
@@ -459,17 +459,8 @@ static int ext4_dx_readdir(struct file *filp,
        if (info->extra_fname) {
                if (call_filldir(filp, dirent, filldir, info->extra_fname))
                        goto finished;
-
                info->extra_fname = NULL;
-               info->curr_node = rb_next(info->curr_node);
-               if (!info->curr_node) {
-                       if (info->next_hash == ~0) {
-                               filp->f_pos = EXT4_HTREE_EOF;
-                               goto finished;
-                       }
-                       info->curr_hash = info->next_hash;
-                       info->curr_minor_hash = 0;
-               }
+               goto next_node;
        } else if (!info->curr_node)
                info->curr_node = rb_first(&info->root);
 
@@ -501,9 +492,14 @@ static int ext4_dx_readdir(struct file *filp,
                info->curr_minor_hash = fname->minor_hash;
                if (call_filldir(filp, dirent, filldir, fname))
                        break;
-
+       next_node:
                info->curr_node = rb_next(info->curr_node);
-               if (!info->curr_node) {
+               if (info->curr_node) {
+                       fname = rb_entry(info->curr_node, struct fname,
+                                        rb_hash);
+                       info->curr_hash = fname->hash;
+                       info->curr_minor_hash = fname->minor_hash;
+               } else {
                        if (info->next_hash == ~0) {
                                filp->f_pos = EXT4_HTREE_EOF;
                                break;
index 130d1a0eef113ef62f873d386f689f8533591d28..7e117a231af10313f1b9bd963bf404eecaf94c9e 100644 (file)
@@ -768,6 +768,7 @@ static void __init do_initcalls(void)
 static void __init do_basic_setup(void)
 {
        rcu_init_sched(); /* needed by module_init stage. */
+       init_workqueues();
        usermodehelper_init();
        driver_init();
        init_irq_proc();
@@ -851,8 +852,6 @@ static int __init kernel_init(void * unused)
 
        cad_pid = task_pid(current);
 
-       init_workqueues();
-
        smp_prepare_cpus(setup_max_cpus);
 
        do_pre_smp_initcalls();
index 8aff79d90ddccd3647cb884664920e45c609fe72..9bc4c00872c927a1033013a31ab19630ba9dc170 100644 (file)
@@ -160,4 +160,4 @@ static int __init stop_machine_init(void)
        stop_machine_work = alloc_percpu(struct work_struct);
        return 0;
 }
-early_initcall(stop_machine_init);
+core_initcall(stop_machine_init);
index b91cf241a539ceaadbf603374d45b3c012a24e41..830d9eae11f99210d4f0c51ec177446e8074d6d0 100644 (file)
@@ -852,8 +852,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)
 
        }
 
-       if (modules_sym)
-               sym_calc_value(modules_sym);
+       sym_clear_all_valid();
 
        if (mode != def_random)
                return;