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: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
0ecdca26e5
commit
2ad1e558a2
|
@ -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
|
||||||
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)
|
||||||
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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 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)
|
||||||
{
|
{
|
||||||
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
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
{
|
{
|
||||||
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 @@ fail_base2:
|
||||||
|
|
||||||
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 @@ found:
|
||||||
|
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
|
|
||||||
/* 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)
|
||||||
/* 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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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 {
|
||||||
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 {
|
||||||
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() */
|
||||||
|
|
Loading…
Reference in New Issue