ide: remove ->noprobe field from ide_hwif_t

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: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
上级 e5e076a3
...@@ -424,7 +424,6 @@ icside_setup(void __iomem *base, struct cardinfo *info, struct expansion_card *e ...@@ -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->io_ports[IDE_CONTROL_OFFSET] = (unsigned long)base + info->ctrloffset;
hwif->irq = ec->irq; hwif->irq = ec->irq;
hwif->noprobe = 0;
hwif->chipset = ide_acorn; hwif->chipset = ide_acorn;
hwif->gendev.parent = &ec->dev; hwif->gendev.parent = &ec->dev;
hwif->dev = &ec->dev; hwif->dev = &ec->dev;
......
...@@ -773,8 +773,7 @@ static int ide_probe_port(ide_hwif_t *hwif) ...@@ -773,8 +773,7 @@ static int ide_probe_port(ide_hwif_t *hwif)
BUG_ON(hwif->present); BUG_ON(hwif->present);
if (hwif->noprobe || if (hwif->drives[0].noprobe && hwif->drives[1].noprobe)
(hwif->drives[0].noprobe && hwif->drives[1].noprobe))
return -EACCES; return -EACCES;
/* /*
......
...@@ -454,7 +454,6 @@ void ide_init_port_hw(ide_hwif_t *hwif, hw_regs_t *hw) ...@@ -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)); memcpy(hwif->io_ports, hw->io_ports, sizeof(hwif->io_ports));
hwif->irq = hw->irq; hwif->irq = hw->irq;
hwif->noprobe = 0;
hwif->chipset = hw->chipset; hwif->chipset = hw->chipset;
hwif->gendev.parent = hw->dev; hwif->gendev.parent = hw->dev;
hwif->ack_intr = hw->ack_intr; hwif->ack_intr = hw->ack_intr;
...@@ -1006,14 +1005,12 @@ static int __init ide_setup(char *s) ...@@ -1006,14 +1005,12 @@ static int __init ide_setup(char *s)
goto done; goto done;
case -3: /* "nowerr" */ case -3: /* "nowerr" */
drive->bad_wstat = BAD_R_STAT; drive->bad_wstat = BAD_R_STAT;
hwif->noprobe = 0;
goto done; goto done;
case -4: /* "cdrom" */ case -4: /* "cdrom" */
drive->present = 1; drive->present = 1;
drive->media = ide_cdrom; drive->media = ide_cdrom;
/* an ATAPI device ignores DRDY */ /* an ATAPI device ignores DRDY */
drive->ready_stat = 0; drive->ready_stat = 0;
hwif->noprobe = 0;
goto done; goto done;
case -5: /* nodma */ case -5: /* nodma */
drive->nodma = 1; drive->nodma = 1;
...@@ -1044,7 +1041,6 @@ static int __init ide_setup(char *s) ...@@ -1044,7 +1041,6 @@ static int __init ide_setup(char *s)
drive->sect = drive->bios_sect = vals[2]; drive->sect = drive->bios_sect = vals[2];
drive->present = 1; drive->present = 1;
drive->forced_geom = 1; drive->forced_geom = 1;
hwif->noprobe = 0;
goto done; goto done;
default: default:
goto bad_option; goto bad_option;
......
...@@ -113,7 +113,6 @@ static int __devinit swarm_ide_probe(struct device *dev) ...@@ -113,7 +113,6 @@ static int __devinit swarm_ide_probe(struct device *dev)
/* Prevent resource map manipulation. */ /* Prevent resource map manipulation. */
hwif->mmio = 1; hwif->mmio = 1;
hwif->chipset = ide_generic; hwif->chipset = ide_generic;
hwif->noprobe = 0;
for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++)
hwif->io_ports[i] = hwif->io_ports[i] =
......
...@@ -1049,17 +1049,22 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw) ...@@ -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->mmio = 1;
hwif->hwif_data = pmif; hwif->hwif_data = pmif;
ide_init_port_hw(hwif, hw); ide_init_port_hw(hwif, hw);
hwif->noprobe = pmif->mediabay;
hwif->cbl = pmif->cable_80 ? ATA_CBL_PATA80 : ATA_CBL_PATA40; 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", 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, hwif->index, model_name[pmif->kind], pmif->aapl_bus_id,
pmif->mediabay ? " (mediabay)" : "", hwif->irq); pmif->mediabay ? " (mediabay)" : "", hwif->irq);
if (pmif->mediabay) {
#ifdef CONFIG_PMAC_MEDIABAY #ifdef CONFIG_PMAC_MEDIABAY
if (pmif->mediabay && check_media_bay_by_base(pmif->regbase, MB_CD) == 0) if (check_media_bay_by_base(pmif->regbase, MB_CD)) {
hwif->noprobe = 0; #else
#endif /* CONFIG_PMAC_MEDIABAY */ if (1) {
#endif
hwif->drives[0].noprobe = 1;
hwif->drives[1].noprobe = 1;
}
}
#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC #ifdef CONFIG_BLK_DEV_IDEDMA_PMAC
if (pmif->cable_80 == 0) if (pmif->cable_80 == 0)
......
...@@ -515,7 +515,6 @@ typedef struct hwif_s { ...@@ -515,7 +515,6 @@ typedef struct hwif_s {
unsigned long extra_base; /* extra addr for dma ports */ unsigned long extra_base; /* extra addr for dma ports */
unsigned extra_ports; /* number of extra 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 present : 1; /* this interface exists */
unsigned serialized : 1; /* serialized all channel operation */ unsigned serialized : 1; /* serialized all channel operation */
unsigned sharing_irq: 1; /* 1 = sharing irq with another hwif */ unsigned sharing_irq: 1; /* 1 = sharing irq with another hwif */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册