amd_80w = ((t & 0x3) ? 1 : 0) | ((t & 0xc) ? 2 : 0);
        for (i = 24; i >= 0; i -= 8)
                if (((u >> i) & 4) && !(amd_80w & (1 << (1 - (i >> 4))))) {
-                       printk(KERN_WARNING "%s: BIOS didn't set cable bits "
-                                           "correctly. Enabling workaround.\n",
-                                           name);
+                       printk(KERN_WARNING "%s %s: BIOS didn't set cable bits "
+                               "correctly. Enabling workaround.\n",
+                               name, pci_name(dev));
                        amd_80w |= (1 << (1 - (i >> 4)));
                }
 }
                        d.udma_mask = ATA_UDMA5;
        }
 
-       printk(KERN_INFO "%s: %s (rev %02x) UDMA%s controller\n",
-                        d.name, pci_name(dev), dev->revision,
-                        amd_dma[fls(d.udma_mask) - 1]);
+       printk(KERN_INFO "%s %s: UDMA%s controller\n",
+               d.name, pci_name(dev), amd_dma[fls(d.udma_mask) - 1]);
 
        /*
        * Determine the system bus clock.
 
                u16 command;
                pci_read_config_word(dev, PCI_COMMAND, &command);
                if (!(command & PCI_COMMAND_IO)) {
-                       printk(KERN_INFO "Skipping disabled %s IDE "
-                                       "controller.\n", d->name);
+                       printk(KERN_INFO "%s %s: skipping disabled "
+                               "controller\n", d->name, pci_name(dev));
                        goto out;
                }
        }
 
                if ((temp & 0xFFFFF000) != 0xABCDE000) {
                        int i;
 
-                       printk(KERN_WARNING "%s: no clock data saved by BIOS\n",
-                              name);
+                       printk(KERN_WARNING "%s %s: no clock data saved by "
+                               "BIOS\n", name, pci_name(dev));
 
                        /* Calculate the average value of f_CNT. */
                        for (temp = i = 0; i < 128; i++) {
                else
                        pci_clk = 66;
 
-               printk(KERN_INFO "%s: DPLL base: %d MHz, f_CNT: %d, "
-                      "assuming %d MHz PCI\n", name, dpll_clk, f_cnt, pci_clk);
+               printk(KERN_INFO "%s %s: DPLL base: %d MHz, f_CNT: %d, "
+                       "assuming %d MHz PCI\n", name, pci_name(dev),
+                       dpll_clk, f_cnt, pci_clk);
        } else {
                u32 itr1 = 0;
 
                }
 
                if (info->timings->clock_table[clock] == NULL) {
-                       printk(KERN_ERR "%s: unknown bus timing!\n", name);
+                       printk(KERN_ERR "%s %s: unknown bus timing!\n",
+                               name, pci_name(dev));
                        return -EIO;
                }
 
                                f_low += adjust >> 1;
                }
                if (adjust == 8) {
-                       printk(KERN_ERR "%s: DPLL did not stabilize!\n", name);
+                       printk(KERN_ERR "%s %s: DPLL did not stabilize!\n",
+                               name, pci_name(dev));
                        return -EIO;
                }
 
-               printk("%s: using %d MHz DPLL clock\n", name, dpll_clk);
+               printk(KERN_INFO "%s %s: using %d MHz DPLL clock\n",
+                       name, pci_name(dev), dpll_clk);
        } else {
                /* Mark the fact that we're not using the DPLL. */
                dpll_clk = 0;
 
-               printk("%s: using %d MHz PCI clock\n", name, pci_clk);
+               printk(KERN_INFO "%s %s: using %d MHz PCI clock\n",
+                       name, pci_name(dev), pci_clk);
        }
 
        /* Store the clock frequencies. */
        if (dev2->irq != dev->irq) {
                /* FIXME: we need a core pci_set_interrupt() */
                dev2->irq = dev->irq;
-               printk(KERN_INFO "HPT374: PCI config space interrupt fixed\n");
+               printk(KERN_INFO "HPT374 %s: PCI config space interrupt "
+                       "fixed\n", pci_name(dev2));
        }
 }
 
        pci_read_config_byte(dev2, PCI_INTERRUPT_PIN, &pin2);
 
        if (pin1 != pin2 && dev->irq == dev2->irq) {
-               printk(KERN_INFO "HPT36x: onboard version of chipset, "
-                                "pin1=%d pin2=%d\n", pin1, pin2);
+               printk(KERN_INFO "HPT36x %s: onboard version of chipset, "
+                       "pin1=%d pin2=%d\n", pci_name(dev), pin1, pin2);
                return 1;
        }
 
 
        dyn_info = kzalloc(sizeof(*dyn_info) * (dev2 ? 2 : 1), GFP_KERNEL);
        if (dyn_info == NULL) {
-               printk(KERN_ERR "%s: out of memory!\n", d.name);
+               printk(KERN_ERR "%s %s: out of memory!\n",
+                       d.name, pci_name(dev));
                pci_dev_put(dev2);
                return -ENOMEM;
        }
 
                idev->timing10 = 1;
                hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA;
                if (idev->smart == 0)
-                       printk(KERN_WARNING "it821x: Revision 0x10, workarounds activated.\n");
+                       printk(KERN_WARNING "it821x %s: revision 0x10, "
+                               "workarounds activated\n", pci_name(dev));
        }
 
        if (idev->smart == 0) {
 
        /* Force the card into bypass mode if so requested */
        if (it8212_noraid) {
-               printk(KERN_INFO "it8212: forcing bypass mode.\n");
+               printk(KERN_INFO "it821x %s: forcing bypass mode\n",
+                       pci_name(dev));
                it8212_disable_raid(dev);
        }
        pci_read_config_byte(dev, 0x50, &conf);
-       printk(KERN_INFO "it821x: controller in %s mode.\n", mode[conf & 1]);
+       printk(KERN_INFO "it821x %s: controller in %s mode\n",
+               pci_name(dev), mode[conf & 1]);
        return 0;
 }
 
 
        itdevs = kzalloc(2 * sizeof(*itdevs), GFP_KERNEL);
        if (itdevs == NULL) {
-               printk(KERN_ERR "it821x: out of memory\n");
+               printk(KERN_ERR "it821x %s: out of memory\n", pci_name(dev));
                return -ENOMEM;
        }
 
 
         * registers setting.
         */
        pll_input = detect_pll_input_clock(dma_base);
-       printk("%s: PLL input clock is %ld kHz\n", name, pll_input / 1000);
+       printk(KERN_INFO "%s %s: PLL input clock is %ld kHz\n",
+               name, pci_name(dev), pll_input / 1000);
 
        /* Sanity check */
        if (unlikely(pll_input < 5000000L || pll_input > 70000000L)) {
-               printk(KERN_ERR "%s: Bad PLL input clock %ld Hz, giving up!\n",
-                      name, pll_input);
+               printk(KERN_ERR "%s %s: Bad PLL input clock %ld Hz, giving up!"
+                       "\n", name, pci_name(dev), pll_input);
                goto out;
        }
 
                r = 0x00;
        } else {
                /* Invalid ratio */
-               printk(KERN_ERR "%s: Bad ratio %ld, giving up!\n", name, ratio);
+               printk(KERN_ERR "%s %s: Bad ratio %ld, giving up!\n",
+                       name, pci_name(dev), ratio);
                goto out;
        }
 
 
        if (unlikely(f < 0 || f > 127)) {
                /* Invalid F */
-               printk(KERN_ERR "%s: F[%d] invalid!\n", name, f);
+               printk(KERN_ERR "%s %s: F[%d] invalid!\n",
+                       name, pci_name(dev), f);
                goto out;
        }
 
 
                if (dev2->irq != dev->irq) {
                        dev2->irq = dev->irq;
-                       printk(KERN_INFO "PDC20270: PCI config space "
-                                        "interrupt fixed\n");
+                       printk(KERN_INFO "PDC20270 %s: PCI config space "
+                               "interrupt fixed\n", pci_name(dev));
                }
 
                return dev2;
            bridge->vendor == PCI_VENDOR_ID_INTEL &&
            (bridge->device == PCI_DEVICE_ID_INTEL_I960 ||
             bridge->device == PCI_DEVICE_ID_INTEL_I960RM)) {
-               printk(KERN_INFO "PDC20276: attached to I2O RAID controller, "
-                                "skipping\n");
+               printk(KERN_INFO "PDC20276 %s: attached to I2O RAID controller,"
+                       " skipping\n", pci_name(dev));
                return -ENODEV;
        }
 
 
                if (irq != irq2) {
                        pci_write_config_byte(dev,
                                (PCI_INTERRUPT_LINE)|0x80, irq);     /* 0xbc */
-                       printk(KERN_INFO "%s: PCI config space interrupt "
-                                        "mirror fixed\n", name);
+                       printk(KERN_INFO "%s %s: PCI config space interrupt "
+                               "mirror fixed\n", name, pci_name(dev));
                }
        }
 }
                    bridge->vendor == PCI_VENDOR_ID_INTEL &&
                    (bridge->device == PCI_DEVICE_ID_INTEL_I960 ||
                     bridge->device == PCI_DEVICE_ID_INTEL_I960RM)) {
-                       printk(KERN_INFO "ide: Skipping Promise PDC20265 "
-                               "attached to I2O RAID controller\n");
+                       printk(KERN_INFO "pdc202xx_old %s: skipping Promise "
+                               "PDC20265 attached to I2O RAID controller\n",
+                               pci_name(dev));
                        return -ENODEV;
                }
        }
 
                        pci_read_config_dword(isa_dev, 0x64, ®);
                        reg &= ~0x00002000; /* disable 600ns interrupt mask */
                        if(!(reg & 0x00004000))
-                               printk(KERN_DEBUG "%s: UDMA not BIOS enabled.\n", name);
+                               printk(KERN_DEBUG "%s %s: UDMA not BIOS "
+                                       "enabled.\n", name, pci_name(dev));
                        reg |=  0x00004000; /* enable UDMA/33 support */
                        pci_write_config_dword(isa_dev, 0x64, reg);
                }
 
                        { "== 100", "== 133", "== 2X PCI", "DISABLED!" };
 
                tmp >>= 4;
-               printk(KERN_INFO "%s: BASE CLOCK %s\n", name, clk_str[tmp & 3]);
+               printk(KERN_INFO "%s %s: BASE CLOCK %s\n",
+                       name, pci_name(dev), clk_str[tmp & 3]);
        }
 
        return 0;
                * seem to get terminally confused in the PCI spaces.
                */
                if (!request_mem_region(bar5, barsize, d.name)) {
-                       printk(KERN_WARNING "siimage: IDE controller MMIO "
-                                           "ports not available.\n");
+                       printk(KERN_WARNING "siimage %s: MMIO ports not "
+                               "available\n", pci_name(dev));
                } else {
                        ioaddr = ioremap(bar5, barsize);
                        if (ioaddr == NULL)
 
                }
                pci_dev_put(host);
 
-               printk(KERN_INFO "SIS5513: %s %s controller\n",
-                        SiSHostChipInfo[i].name, chipset_capability[chipset_family]);
+               printk(KERN_INFO "SIS5513 %s: %s %s controller\n",
+                       pci_name(dev), SiSHostChipInfo[i].name,
+                       chipset_capability[chipset_family]);
        }
 
        if (!chipset_family) { /* Belongs to pci-quirks */
                        pci_write_config_dword(dev, 0x54, idemisc);
 
                        if (trueid == 0x5518) {
-                               printk(KERN_INFO "SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller\n");
+                               printk(KERN_INFO "SIS5513 %s: SiS 962/963 MuTIOL IDE UDMA133 controller\n",
+                                       pci_name(dev));
                                chipset_family = ATA_133;
 
                                /* Check for 5513 compability mapping
                                 */
                                if ((idemisc & 0x40000000) == 0) {
                                        pci_write_config_dword(dev, 0x54, idemisc | 0x40000000);
-                                       printk(KERN_INFO "SIS5513: Switching to 5513 register mapping\n");
+                                       printk(KERN_INFO "SIS5513 %s: Switching to 5513 register mapping\n",
+                                               pci_name(dev));
                                }
                        }
        }
                                pci_dev_put(lpc_bridge);
 
                                if (lpc_bridge->revision == 0x10 && (prefctl & 0x80)) {
-                                       printk(KERN_INFO "SIS5513: SiS 961B MuTIOL IDE UDMA133 controller\n");
+                                       printk(KERN_INFO "SIS5513 %s: SiS 961B MuTIOL IDE UDMA133 controller\n",
+                                               pci_name(dev));
                                        chipset_family = ATA_133a;
                                } else {
-                                       printk(KERN_INFO "SIS5513: SiS 961 MuTIOL IDE UDMA100 controller\n");
+                                       printk(KERN_INFO "SIS5513 %s: SiS 961 MuTIOL IDE UDMA100 controller\n",
+                                               pci_name(dev));
                                        chipset_family = ATA_100;
                                }
                        }
 
        u8 reg = 0;
 
        if ((dev->class & 5) && cfg_base)
-               printk(KERN_INFO "TRM290: chip");
+               printk(KERN_INFO "TRM290 %s: chip", pci_name(dev));
        else {
                cfg_base = 0x3df0;
-               printk(KERN_INFO "TRM290: using default");
+               printk(KERN_INFO "TRM290 %s: using default", pci_name(dev));
        }
        printk(KERN_CONT " config base at 0x%04x\n", cfg_base);
        hwif->config_data = cfg_base;
 
         */
        via_config = via_config_find(&isa);
        if (!via_config->id) {
-               printk(KERN_WARNING "VP_IDE: Unknown VIA SouthBridge, disabling DMA.\n");
+               printk(KERN_WARNING "VP_IDE %s: unknown chipset, skipping\n",
+                       pci_name(dev));
                return -ENODEV;
        }
 
        /*
         * Print the boot message.
         */
-       printk(KERN_INFO "VP_IDE: VIA %s (rev %02x) IDE %sDMA%s "
-               "controller on pci%s\n",
-               via_config->name, isa->revision,
+       printk(KERN_INFO "VP_IDE %s: VIA %s (rev %02x) IDE %sDMA%s\n",
+               pci_name(dev), via_config->name, isa->revision,
                via_config->udma_mask ? "U" : "MW",
                via_dma[via_config->udma_mask ?
-                       (fls(via_config->udma_mask) - 1) : 0],
-               pci_name(dev));
+                       (fls(via_config->udma_mask) - 1) : 0]);
 
        pci_dev_put(isa);
 
 
        vdev = kzalloc(sizeof(*vdev), GFP_KERNEL);
        if (!vdev) {
-               printk(KERN_ERR "VP_IDE: out of memory :(\n");
+               printk(KERN_ERR "VP_IDE %s: out of memory :(\n", pci_name(dev));
                return -ENOMEM;
        }
 
 
        if (pci_read_config_byte(dev, PCI_CLASS_PROG, &progif) ||
                         (progif & 5) != 5) {
                if ((progif & 0xa) != 0xa) {
-                       printk(KERN_INFO "%s: device not capable of full "
-                               "native PCI mode\n", name);
+                       printk(KERN_INFO "%s %s: device not capable of full "
+                               "native PCI mode\n", name, pci_name(dev));
                        return -EOPNOTSUPP;
                }
-               printk("%s: placing both ports into native PCI mode\n", name);
+               printk(KERN_INFO "%s %s: placing both ports into native PCI "
+                       "mode\n", name, pci_name(dev));
                (void) pci_write_config_byte(dev, PCI_CLASS_PROG, progif|5);
                if (pci_read_config_byte(dev, PCI_CLASS_PROG, &progif) ||
                    (progif & 5) != 5) {
-                       printk(KERN_ERR "%s: rewrite of PROGIF failed, wanted "
-                               "0x%04x, got 0x%04x\n",
-                               name, progif|5, progif);
+                       printk(KERN_ERR "%s %s: rewrite of PROGIF failed, "
+                               "wanted 0x%04x, got 0x%04x\n",
+                               name, pci_name(dev), progif | 5, progif);
                        return -EOPNOTSUPP;
                }
        }
 }
 
 #ifdef CONFIG_BLK_DEV_IDEDMA_PCI
-static void ide_pci_clear_simplex(unsigned long dma_base, const char *name)
+static int ide_pci_clear_simplex(unsigned long dma_base, const char *name)
 {
        u8 dma_stat = inb(dma_base + 2);
 
        outb(dma_stat & 0x60, dma_base + 2);
        dma_stat = inb(dma_base + 2);
-       if (dma_stat & 0x80)
-               printk(KERN_INFO "%s: simplex device: DMA forced\n", name);
+
+       return (dma_stat & 0x80) ? 1 : 0;
 }
 
 /**
                dma_base = pci_resource_start(dev, baridx);
 
                if (dma_base == 0) {
-                       printk(KERN_ERR "%s: DMA base is invalid\n", d->name);
+                       printk(KERN_ERR "%s %s: DMA base is invalid\n",
+                               d->name, pci_name(dev));
                        return 0;
                }
        }
 
 int ide_pci_check_simplex(ide_hwif_t *hwif, const struct ide_port_info *d)
 {
+       struct pci_dev *dev = to_pci_dev(hwif->dev);
        u8 dma_stat;
 
        if (d->host_flags & (IDE_HFLAG_MMIO | IDE_HFLAG_CS5520))
                goto out;
 
        if (d->host_flags & IDE_HFLAG_CLEAR_SIMPLEX) {
-               ide_pci_clear_simplex(hwif->dma_base, d->name);
+               if (ide_pci_clear_simplex(hwif->dma_base, d->name))
+                       printk(KERN_INFO "%s %s: simplex device: DMA forced\n",
+                               d->name, pci_name(dev));
                goto out;
        }
 
         */
        dma_stat = hwif->tp_ops->read_sff_dma_status(hwif);
        if ((dma_stat & 0x80) && hwif->mate && hwif->mate->dma_base) {
-               printk(KERN_INFO "%s: simplex device: DMA disabled\n", d->name);
+               printk(KERN_INFO "%s %s: simplex device: DMA disabled\n",
+                       d->name, pci_name(dev));
                return -1;
        }
 out:
 
                if (pci_read_config_word(dev, PCI_COMMAND, &pcicmd) ||
                    (pcicmd & PCI_COMMAND_MASTER) == 0) {
-                       printk(KERN_ERR "%s: error updating PCICMD on %s\n",
-                                       name, pci_name(dev));
+                       printk(KERN_ERR "%s %s: error updating PCICMD\n",
+                               name, pci_name(dev));
                        return -EIO;
                }
        }
 
 void ide_setup_pci_noise(struct pci_dev *dev, const struct ide_port_info *d)
 {
-       printk(KERN_INFO "%s: IDE controller (0x%04x:0x%04x rev 0x%02x) at "
-                        " PCI slot %s\n", d->name, dev->vendor, dev->device,
-                        dev->revision, pci_name(dev));
+       printk(KERN_INFO "%s %s: IDE controller (0x%04x:0x%04x rev 0x%02x)\n",
+               d->name, pci_name(dev),
+               dev->vendor, dev->device, dev->revision);
 }
 EXPORT_SYMBOL_GPL(ide_setup_pci_noise);
 
        if (pci_enable_device(dev)) {
                ret = pci_enable_device_io(dev);
                if (ret < 0) {
-                       printk(KERN_WARNING "%s: (ide_setup_pci_device:) "
-                               "Could not enable device.\n", d->name);
+                       printk(KERN_WARNING "%s %s: couldn't enable device\n",
+                               d->name, pci_name(dev));
                        goto out;
                }
-               printk(KERN_WARNING "%s: BIOS configuration fixed.\n", d->name);
+               printk(KERN_WARNING "%s %s: BIOS configuration fixed\n",
+                       d->name, pci_name(dev));
        }
 
        /*
         */
        ret = pci_set_dma_mask(dev, DMA_32BIT_MASK);
        if (ret < 0) {
-               printk(KERN_ERR "%s: can't set dma mask\n", d->name);
+               printk(KERN_ERR "%s %s: can't set DMA mask\n",
+                       d->name, pci_name(dev));
                goto out;
        }
 
 
        ret = pci_request_selected_regions(dev, bars, d->name);
        if (ret < 0)
-               printk(KERN_ERR "%s: can't reserve resources\n", d->name);
+               printk(KERN_ERR "%s %s: can't reserve resources\n",
+                       d->name, pci_name(dev));
 out:
        return ret;
 }
         */
        if (ide_setup_pci_baseregs(dev, d->name) ||
            pci_write_config_word(dev, PCI_COMMAND, pcicmd | PCI_COMMAND_IO)) {
-               printk(KERN_INFO "%s: device disabled (BIOS)\n", d->name);
+               printk(KERN_INFO "%s %s: device disabled (BIOS)\n",
+                       d->name, pci_name(dev));
                return -ENODEV;
        }
        if (pci_read_config_word(dev, PCI_COMMAND, &pcicmd)) {
-               printk(KERN_ERR "%s: error accessing PCI regs\n", d->name);
+               printk(KERN_ERR "%s %s: error accessing PCI regs\n",
+                       d->name, pci_name(dev));
                return -EIO;
        }
        if (!(pcicmd & PCI_COMMAND_IO)) {
-               printk(KERN_ERR "%s: unable to enable IDE controller\n", d->name);
+               printk(KERN_ERR "%s %s: unable to enable IDE controller\n",
+                       d->name, pci_name(dev));
                return -ENXIO;
        }
        return 0;
        if ((d->host_flags & IDE_HFLAG_ISA_PORTS) == 0) {
                if (ide_pci_check_iomem(dev, d, 2 * port) ||
                    ide_pci_check_iomem(dev, d, 2 * port + 1)) {
-                       printk(KERN_ERR "%s: I/O baseregs (BIOS) are reported "
-                                       "as MEM for port %d!\n", d->name, port);
+                       printk(KERN_ERR "%s %s: I/O baseregs (BIOS) are "
+                               "reported as MEM for port %d!\n",
+                               d->name, pci_name(dev), port);
                        return -EINVAL;
                }
 
        }
 
        if (!base || !ctl) {
-               printk(KERN_ERR "%s: bad PCI BARs for port %d, skipping\n",
-                               d->name, port);
+               printk(KERN_ERR "%s %s: bad PCI BARs for port %d, skipping\n",
+                       d->name, pci_name(dev), port);
                return -EINVAL;
        }
 
 
        ret = pci_read_config_word(dev, PCI_COMMAND, &pcicmd);
        if (ret < 0) {
-               printk(KERN_ERR "%s: error accessing PCI regs\n", d->name);
+               printk(KERN_ERR "%s %s: error accessing PCI regs\n",
+                       d->name, pci_name(dev));
                goto out;
        }
        if (!(pcicmd & PCI_COMMAND_IO)) {       /* is device disabled? */
                ret = ide_pci_configure(dev, d);
                if (ret < 0)
                        goto out;
-               printk(KERN_INFO "%s: device enabled (Linux)\n", d->name);
+               printk(KERN_INFO "%s %s: device enabled (Linux)\n",
+                       d->name, pci_name(dev));
        }
 
 out:
 
                if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) ||
                    (tmp & e->mask) != e->val)) {
-                       printk(KERN_INFO "%s: IDE port disabled\n", d->name);
+                       printk(KERN_INFO "%s %s: IDE port disabled\n",
+                               d->name, pci_name(dev));
                        continue;       /* port not enabled */
                }
 
        /* Is it an "IDE storage" device in non-PCI mode? */
        if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE && (dev->class & 5) != 5) {
                if (noisy)
-                       printk(KERN_INFO "%s: not 100%% native mode: "
-                               "will probe irqs later\n", d->name);
+                       printk(KERN_INFO "%s %s: not 100%% native mode: will "
+                               "probe irqs later\n", d->name, pci_name(dev));
                pciirq = ret;
-       } else if (!pciirq) {
-               if (noisy)
-                       printk(KERN_WARNING "%s: bad irq (%d): will probe later\n",
-                               d->name, pciirq);
-               pciirq = 0;
-       } else {
-               if (noisy)
-                       printk(KERN_INFO "%s: 100%% native mode on irq %d\n",
-                               d->name, pciirq);
+       } else if (!pciirq && noisy) {
+               printk(KERN_WARNING "%s %s: bad irq (%d): will probe later\n",
+                       d->name, pci_name(dev), pciirq);
+       } else if (noisy) {
+               printk(KERN_INFO "%s %s: 100%% native mode on irq %d\n",
+                       d->name, pci_name(dev), pciirq);
        }
 
        ret = pciirq;