ide: convert ide_hwif_t.mmio into flag (v2)

All users of ->mmio == 1 are gone so convert ->mmio into flag.

Noticed by Alan Cox.

v2:
* updated for scc_pata
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 0ecdca26
...@@ -556,7 +556,7 @@ icside_setup(void __iomem *base, struct cardinfo *info, struct expansion_card *e ...@@ -556,7 +556,7 @@ icside_setup(void __iomem *base, struct cardinfo *info, struct expansion_card *e
* Ensure we're using MMIO * Ensure we're using MMIO
*/ */
default_hwif_mmiops(hwif); default_hwif_mmiops(hwif);
hwif->mmio = 2; hwif->mmio = 1;
for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) { for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
hwif->hw.io_ports[i] = port; hwif->hw.io_ports[i] = port;
......
...@@ -46,7 +46,7 @@ rapide_locate_hwif(void __iomem *base, void __iomem *ctrl, unsigned int sz, int ...@@ -46,7 +46,7 @@ rapide_locate_hwif(void __iomem *base, void __iomem *ctrl, unsigned int sz, int
hwif->hw.io_ports[IDE_CONTROL_OFFSET] = (unsigned long)ctrl; hwif->hw.io_ports[IDE_CONTROL_OFFSET] = (unsigned long)ctrl;
hwif->io_ports[IDE_CONTROL_OFFSET] = (unsigned long)ctrl; hwif->io_ports[IDE_CONTROL_OFFSET] = (unsigned long)ctrl;
hwif->hw.irq = hwif->irq = irq; hwif->hw.irq = hwif->irq = irq;
hwif->mmio = 2; hwif->mmio = 1;
default_hwif_mmiops(hwif); default_hwif_mmiops(hwif);
return hwif; return hwif;
......
...@@ -795,7 +795,7 @@ init_e100_ide (void) ...@@ -795,7 +795,7 @@ init_e100_ide (void)
0, 0, cris_ide_ack_intr, 0, 0, cris_ide_ack_intr,
ide_default_irq(0)); ide_default_irq(0));
ide_register_hw(&hw, &hwif); ide_register_hw(&hw, &hwif);
hwif->mmio = 2; hwif->mmio = 1;
hwif->chipset = ide_etrax100; hwif->chipset = ide_etrax100;
hwif->tuneproc = &tune_cris_ide; hwif->tuneproc = &tune_cris_ide;
hwif->speedproc = &speed_cris_ide; hwif->speedproc = &speed_cris_ide;
......
...@@ -76,7 +76,7 @@ static inline void hwif_setup(ide_hwif_t *hwif) ...@@ -76,7 +76,7 @@ static inline void hwif_setup(ide_hwif_t *hwif)
{ {
default_hwif_iops(hwif); default_hwif_iops(hwif);
hwif->mmio = 2; hwif->mmio = 1;
hwif->OUTW = mm_outw; hwif->OUTW = mm_outw;
hwif->OUTSW = mm_outsw; hwif->OUTSW = mm_outsw;
hwif->INW = mm_inw; hwif->INW = mm_inw;
......
...@@ -565,7 +565,7 @@ int ide_dma_setup(ide_drive_t *drive) ...@@ -565,7 +565,7 @@ int ide_dma_setup(ide_drive_t *drive)
} }
/* PRD table */ /* PRD table */
if (hwif->mmio == 2) if (hwif->mmio)
writel(hwif->dmatable_dma, (void __iomem *)hwif->dma_prdtable); writel(hwif->dmatable_dma, (void __iomem *)hwif->dma_prdtable);
else else
outl(hwif->dmatable_dma, hwif->dma_prdtable); outl(hwif->dmatable_dma, hwif->dma_prdtable);
...@@ -815,7 +815,7 @@ int ide_release_dma(ide_hwif_t *hwif) ...@@ -815,7 +815,7 @@ int ide_release_dma(ide_hwif_t *hwif)
{ {
ide_release_dma_engine(hwif); ide_release_dma_engine(hwif);
if (hwif->mmio == 2) if (hwif->mmio)
return 1; return 1;
else else
return ide_release_iomio_dma(hwif); return ide_release_iomio_dma(hwif);
...@@ -884,9 +884,9 @@ static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int port ...@@ -884,9 +884,9 @@ static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int port
static int ide_dma_iobase(ide_hwif_t *hwif, unsigned long base, unsigned int ports) static int ide_dma_iobase(ide_hwif_t *hwif, unsigned long base, unsigned int ports)
{ {
if (hwif->mmio == 2) if (hwif->mmio)
return ide_mapped_mmio_dma(hwif, base,ports); return ide_mapped_mmio_dma(hwif, base,ports);
BUG_ON(hwif->mmio == 1);
return ide_iomio_dma(hwif, base, ports); return ide_iomio_dma(hwif, base, ports);
} }
......
...@@ -389,9 +389,8 @@ int ide_hwif_request_regions(ide_hwif_t *hwif) ...@@ -389,9 +389,8 @@ int ide_hwif_request_regions(ide_hwif_t *hwif)
unsigned long addr; unsigned long addr;
unsigned int i; unsigned int i;
if (hwif->mmio == 2) if (hwif->mmio)
return 0; return 0;
BUG_ON(hwif->mmio == 1);
addr = hwif->io_ports[IDE_CONTROL_OFFSET]; addr = hwif->io_ports[IDE_CONTROL_OFFSET];
if (addr && !hwif_request_region(hwif, addr, 1)) if (addr && !hwif_request_region(hwif, addr, 1))
goto control_region_busy; goto control_region_busy;
...@@ -438,7 +437,7 @@ void ide_hwif_release_regions(ide_hwif_t *hwif) ...@@ -438,7 +437,7 @@ void ide_hwif_release_regions(ide_hwif_t *hwif)
{ {
u32 i = 0; u32 i = 0;
if (hwif->mmio == 2) if (hwif->mmio)
return; return;
if (hwif->io_ports[IDE_CONTROL_OFFSET]) if (hwif->io_ports[IDE_CONTROL_OFFSET])
release_region(hwif->io_ports[IDE_CONTROL_OFFSET], 1); release_region(hwif->io_ports[IDE_CONTROL_OFFSET], 1);
......
...@@ -215,7 +215,7 @@ void __init buddha_init(void) ...@@ -215,7 +215,7 @@ void __init buddha_init(void)
index = ide_register_hw(&hw, &hwif); index = ide_register_hw(&hw, &hwif);
if (index != -1) { if (index != -1) {
hwif->mmio = 2; hwif->mmio = 1;
printk("ide%d: ", index); printk("ide%d: ", index);
switch(type) { switch(type) {
case BOARD_BUDDHA: case BOARD_BUDDHA:
......
...@@ -167,7 +167,7 @@ void __init gayle_init(void) ...@@ -167,7 +167,7 @@ void __init gayle_init(void)
index = ide_register_hw(&hw, &hwif); index = ide_register_hw(&hw, &hwif);
if (index != -1) { if (index != -1) {
hwif->mmio = 2; hwif->mmio = 1;
switch (i) { switch (i) {
case 0: case 0:
printk("ide%d: Gayle IDE interface (A%d style)\n", index, printk("ide%d: Gayle IDE interface (A%d style)\n", index,
......
...@@ -141,7 +141,7 @@ void macide_init(void) ...@@ -141,7 +141,7 @@ void macide_init(void)
} }
if (index != -1) { if (index != -1) {
hwif->mmio = 2; hwif->mmio = 1;
if (macintosh_config->ide_type == MAC_IDE_QUADRA) if (macintosh_config->ide_type == MAC_IDE_QUADRA)
printk(KERN_INFO "ide%d: Macintosh Quadra IDE interface\n", index); printk(KERN_INFO "ide%d: Macintosh Quadra IDE interface\n", index);
else if (macintosh_config->ide_type == MAC_IDE_PB) else if (macintosh_config->ide_type == MAC_IDE_PB)
......
...@@ -145,7 +145,7 @@ void q40ide_init(void) ...@@ -145,7 +145,7 @@ void q40ide_init(void)
index = ide_register_hw(&hw, &hwif); index = ide_register_hw(&hw, &hwif);
// **FIXME** // **FIXME**
if (index != -1) if (index != -1)
hwif->mmio = 2; hwif->mmio = 1;
} }
} }
...@@ -708,7 +708,8 @@ static int au_ide_probe(struct device *dev) ...@@ -708,7 +708,8 @@ static int au_ide_probe(struct device *dev)
/* hold should be on in all cases */ /* hold should be on in all cases */
hwif->hold = 1; hwif->hold = 1;
hwif->mmio = 2;
hwif->mmio = 1;
/* If the user has selected DDMA assisted copies, /* If the user has selected DDMA assisted copies,
then set up a few local I/O function entry points then set up a few local I/O function entry points
......
...@@ -115,7 +115,7 @@ static int __devinit swarm_ide_probe(struct device *dev) ...@@ -115,7 +115,7 @@ static int __devinit swarm_ide_probe(struct device *dev)
/* Setup MMIO ops. */ /* Setup MMIO ops. */
default_hwif_mmiops(hwif); default_hwif_mmiops(hwif);
/* Prevent resource map manipulation. */ /* Prevent resource map manipulation. */
hwif->mmio = 2; hwif->mmio = 1;
hwif->noprobe = 0; hwif->noprobe = 0;
for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++)
......
...@@ -593,7 +593,7 @@ static int sgiioc4_ide_dma_setup(ide_drive_t *drive) ...@@ -593,7 +593,7 @@ static int sgiioc4_ide_dma_setup(ide_drive_t *drive)
static void __devinit static void __devinit
ide_init_sgiioc4(ide_hwif_t * hwif) ide_init_sgiioc4(ide_hwif_t * hwif)
{ {
hwif->mmio = 2; hwif->mmio = 1;
hwif->autodma = 1; hwif->autodma = 1;
hwif->atapi_dma = 1; hwif->atapi_dma = 1;
hwif->ultra_mask = 0x0; /* Disable Ultra DMA */ hwif->ultra_mask = 0x0; /* Disable Ultra DMA */
......
...@@ -888,7 +888,8 @@ static void __devinit init_mmio_iops_siimage(ide_hwif_t *hwif) ...@@ -888,7 +888,8 @@ static void __devinit init_mmio_iops_siimage(ide_hwif_t *hwif)
base = (unsigned long) addr; base = (unsigned long) addr;
hwif->dma_base = base + (ch ? 0x08 : 0x00); hwif->dma_base = base + (ch ? 0x08 : 0x00);
hwif->mmio = 2;
hwif->mmio = 1;
} }
static int is_dev_seagate_sata(ide_drive_t *drive) static int is_dev_seagate_sata(ide_drive_t *drive)
......
...@@ -1237,7 +1237,7 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif) ...@@ -1237,7 +1237,7 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
hwif->OUTBSYNC = pmac_outbsync; hwif->OUTBSYNC = pmac_outbsync;
/* Tell common code _not_ to mess with resources */ /* Tell common code _not_ to mess with resources */
hwif->mmio = 2; hwif->mmio = 1;
hwif->hwif_data = pmif; hwif->hwif_data = pmif;
pmac_ide_init_hwif_ports(&hwif->hw, pmif->regbase, 0, &hwif->irq); pmac_ide_init_hwif_ports(&hwif->hw, pmif->regbase, 0, &hwif->irq);
memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->io_ports)); memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->io_ports));
......
...@@ -668,7 +668,7 @@ static void __devinit init_mmio_iops_scc(ide_hwif_t *hwif) ...@@ -668,7 +668,7 @@ static void __devinit init_mmio_iops_scc(ide_hwif_t *hwif)
hwif->irq = hwif->pci_dev->irq; hwif->irq = hwif->pci_dev->irq;
hwif->dma_base = dma_base; hwif->dma_base = dma_base;
hwif->config_data = ports->ctl; hwif->config_data = ports->ctl;
hwif->mmio = 2; hwif->mmio = 1;
} }
/** /**
......
...@@ -772,7 +772,6 @@ typedef struct hwif_s { ...@@ -772,7 +772,6 @@ typedef struct hwif_s {
unsigned int cursg; unsigned int cursg;
unsigned int cursg_ofs; unsigned int cursg_ofs;
int mmio; /* hosts iomio (0) or custom (2) select */
int rqsize; /* max sectors per request */ int rqsize; /* max sectors per request */
int irq; /* our irq number */ int irq; /* our irq number */
...@@ -804,6 +803,7 @@ typedef struct hwif_s { ...@@ -804,6 +803,7 @@ typedef struct hwif_s {
unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */ unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */
unsigned no_io_32bit : 1; /* 1 = can not do 32-bit IO ops */ unsigned no_io_32bit : 1; /* 1 = can not do 32-bit IO ops */
unsigned err_stops_fifo : 1; /* 1=data FIFO is cleared by an error */ unsigned err_stops_fifo : 1; /* 1=data FIFO is cleared by an error */
unsigned mmio : 1; /* host uses MMIO */
struct device gendev; struct device gendev;
struct completion gendev_rel_comp; /* To deal with device release() */ struct completion gendev_rel_comp; /* To deal with device release() */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment