ide: remove ->noprobe field from ide_hwif_t
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sat, 26 Apr 2008 20:25:16 +0000 (22:25 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sat, 26 Apr 2008 20:25:16 +0000 (22:25 +0200)
Update IDE PMAC host driver to use drive->noprobe instead of hwif->noprobe
and remove hwif->noprobe completely (it is always set to zero now).

There should be no functional changes caused by this patch.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/arm/icside.c
drivers/ide/ide-probe.c
drivers/ide/ide.c
drivers/ide/mips/swarm.c
drivers/ide/ppc/pmac.c
include/linux/ide.h

index b219818..51d4efb 100644 (file)
@@ -424,7 +424,6 @@ icside_setup(void __iomem *base, struct cardinfo *info, struct expansion_card *e
                }
                hwif->io_ports[IDE_CONTROL_OFFSET] = (unsigned long)base + info->ctrloffset;
                hwif->irq     = ec->irq;
-               hwif->noprobe = 0;
                hwif->chipset = ide_acorn;
                hwif->gendev.parent = &ec->dev;
                hwif->dev = &ec->dev;
index dfe516f..c3ecc43 100644 (file)
@@ -773,8 +773,7 @@ static int ide_probe_port(ide_hwif_t *hwif)
 
        BUG_ON(hwif->present);
 
-       if (hwif->noprobe ||
-           (hwif->drives[0].noprobe && hwif->drives[1].noprobe))
+       if (hwif->drives[0].noprobe && hwif->drives[1].noprobe)
                return -EACCES;
 
        /*
index 91a3c8a..3be0490 100644 (file)
@@ -454,7 +454,6 @@ void ide_init_port_hw(ide_hwif_t *hwif, hw_regs_t *hw)
 {
        memcpy(hwif->io_ports, hw->io_ports, sizeof(hwif->io_ports));
        hwif->irq = hw->irq;
-       hwif->noprobe = 0;
        hwif->chipset = hw->chipset;
        hwif->gendev.parent = hw->dev;
        hwif->ack_intr = hw->ack_intr;
@@ -1006,14 +1005,12 @@ static int __init ide_setup(char *s)
                                goto done;
                        case -3: /* "nowerr" */
                                drive->bad_wstat = BAD_R_STAT;
-                               hwif->noprobe = 0;
                                goto done;
                        case -4: /* "cdrom" */
                                drive->present = 1;
                                drive->media = ide_cdrom;
                                /* an ATAPI device ignores DRDY */
                                drive->ready_stat = 0;
-                               hwif->noprobe = 0;
                                goto done;
                        case -5: /* nodma */
                                drive->nodma = 1;
@@ -1044,7 +1041,6 @@ static int __init ide_setup(char *s)
                                drive->sect     = drive->bios_sect = vals[2];
                                drive->present  = 1;
                                drive->forced_geom = 1;
-                               hwif->noprobe = 0;
                                goto done;
                        default:
                                goto bad_option;
index bbe8d58..4769ec2 100644 (file)
@@ -113,7 +113,6 @@ static int __devinit swarm_ide_probe(struct device *dev)
        /* Prevent resource map manipulation.  */
        hwif->mmio = 1;
        hwif->chipset = ide_generic;
-       hwif->noprobe = 0;
 
        for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++)
                hwif->io_ports[i] =
index 3277bf2..4e05839 100644 (file)
@@ -1049,17 +1049,22 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw)
        hwif->mmio = 1;
        hwif->hwif_data = pmif;
        ide_init_port_hw(hwif, hw);
-       hwif->noprobe = pmif->mediabay;
        hwif->cbl = pmif->cable_80 ? ATA_CBL_PATA80 : ATA_CBL_PATA40;
 
        printk(KERN_INFO "ide%d: Found Apple %s controller, bus ID %d%s, irq %d\n",
               hwif->index, model_name[pmif->kind], pmif->aapl_bus_id,
               pmif->mediabay ? " (mediabay)" : "", hwif->irq);
-                       
+
+       if (pmif->mediabay) {
 #ifdef CONFIG_PMAC_MEDIABAY
-       if (pmif->mediabay && check_media_bay_by_base(pmif->regbase, MB_CD) == 0)
-               hwif->noprobe = 0;
-#endif /* CONFIG_PMAC_MEDIABAY */
+               if (check_media_bay_by_base(pmif->regbase, MB_CD)) {
+#else
+               if (1) {
+#endif
+                       hwif->drives[0].noprobe = 1;
+                       hwif->drives[1].noprobe = 1;
+               }
+       }
 
 #ifdef CONFIG_BLK_DEV_IDEDMA_PMAC
        if (pmif->cable_80 == 0)
index b594f04..a612c89 100644 (file)
@@ -515,7 +515,6 @@ typedef struct hwif_s {
        unsigned long   extra_base;     /* extra addr for dma ports */
        unsigned        extra_ports;    /* number of extra dma ports */
 
-       unsigned        noprobe    : 1; /* don't probe for this interface */
        unsigned        present    : 1; /* this interface exists */
        unsigned        serialized : 1; /* serialized all channel operation */
        unsigned        sharing_irq: 1; /* 1 = sharing irq with another hwif */