Skip to contentSkip to conversation

ide: remove ->INS{W,L} and ->OUTS{W,L} methods

PATCH In review Bartlomiej Zolnierkiewicz 1 participant 1 message Mar 30, 2008 libata

lore
Share & tools
lore
#0 lore raw

PATCH 6/6 ide: remove ->INS{W,L} and ->OUTS{W,L} methods

* Use ins{w,l}()/outs{w,l}() and __ide_mm_ins{w,l}()/__ide_mm_outs{w,l}() directly in ata_{in,out}put_data() (by using IDE_HFLAG_MMIO host flag to decide which I/O ops are required).

* Remove no longer needed ->INS{W,L} and ->OUTS{W,L} methods (ide-h8300, au1xxx-ide and scc_pata implement their own ->{in,out}put_data methods).

There should be no functional changes caused by this patch.

---
 drivers/ide/h8300/ide-h8300.c |    4 -
 drivers/ide/ide-iops.c        |  114 +++++++++++++++++-------------------------
 drivers/ide/mips/au1xxx-ide.c |    3 -
 drivers/ide/pci/scc_pata.c    |    4 -
 include/linux/ide.h           |    4 -
 5 files changed, 48 insertions(+), 81 deletions(-)
drivers/ide/h8300/ide-h8300.c +0 -4
Index: b/drivers/ide/h8300/ide-h8300.c
===================================================================
@@ -88,11 +88,7 @@ static inline void hwif_setup(ide_hwif_t
 	hwif->output_data = h8300_output_data;
 
 	hwif->OUTW  = mm_outw;
-	hwif->OUTSW = mm_outsw;
 	hwif->INW   = mm_inw;
-	hwif->INSW  = mm_insw;
-	hwif->OUTSL = NULL;
-	hwif->INSL  = NULL;
 }
 
 static int __init h8300_ide_init(void)
drivers/ide/ide-iops.c +48 -66

181 lines not on this page · raw message

drivers/ide/mips/au1xxx-ide.c +0 -3
Index: b/drivers/ide/mips/au1xxx-ide.c
===================================================================
@@ -613,9 +613,6 @@ static int au_ide_probe(struct device *d
 #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA	
 	hwif->input_data  = au1xxx_input_data;
 	hwif->output_data = au1xxx_output_data;
-
-	hwif->INSW                      = auide_insw;
-	hwif->OUTSW                     = auide_outsw;
 #endif
 	hwif->select_data               = 0;    /* no chipset-specific code */
 	hwif->config_data               = 0;    /* no chipset-specific code */
drivers/ide/pci/scc_pata.c +0 -4
Index: b/drivers/ide/pci/scc_pata.c
===================================================================
@@ -624,13 +624,9 @@ static void __devinit init_mmio_iops_scc
 
 	hwif->INB = scc_ide_inb;
 	hwif->INW = scc_ide_inw;
-	hwif->INSW = scc_ide_insw;
-	hwif->INSL = scc_ide_insl;
 	hwif->OUTB = scc_ide_outb;
 	hwif->OUTBSYNC = scc_ide_outbsync;
 	hwif->OUTW = scc_ide_outw;
-	hwif->OUTSW = scc_ide_outsw;
-	hwif->OUTSL = scc_ide_outsl;
 
 	io_ports->data_addr	= dma_base + 0x20;
 	io_ports->error_addr	= dma_base + 0x24;
include/linux/ide.h +0 -4
Index: b/include/linux/ide.h
===================================================================
@@ -477,13 +477,9 @@ typedef struct hwif_s {
 	void (*OUTB)(u8 addr, unsigned long port);
 	void (*OUTBSYNC)(ide_drive_t *drive, u8 addr, unsigned long port);
 	void (*OUTW)(u16 addr, unsigned long port);
-	void (*OUTSW)(unsigned long port, void *addr, u32 count);
-	void (*OUTSL)(unsigned long port, void *addr, u32 count);
 
 	u8  (*INB)(unsigned long port);
 	u16 (*INW)(unsigned long port);
-	void (*INSW)(unsigned long port, void *addr, u32 count);
-	void (*INSL)(unsigned long port, void *addr, u32 count);
 
 	/* dma physical region descriptor table (cpu view) */
 	unsigned int	*dmatable_cpu;