diff for duplicates of <20160103050502.371803537@telegraphics.com.au> diff --git a/a/1.txt b/N1/1.txt index 32ea4f1..dff9b25 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,808 +1,3 @@ -The NCR5380_local_declare and NCR5380_setup macros exist to define and -initialize a particular local variable, to provide the address of the -chip registers needed for the driver's implementation of its -NCR5380_read/write register access macros. - -In cumana_1 and macscsi, these macros generate pointless code like this, - struct Scsi_Host *_instance; - _instance = instance; - -In pas16, the use of NCR5380_read/write in pas16_hw_detect() requires that -the io_port local variable has been defined and initialized, but the -NCR5380_local_declare and NCR5380_setup macros can't be used for that -purpose because the Scsi_Host struct has not yet been instantiated. - -Moreover, these macros were removed from atari_NCR5380.c long ago and -now they constitute yet another discrepancy between the two core driver -forks. - -Remove these "optimizations". - -Signed-off-by: Finn Thain <fthain@telegraphics.com.au> -Reviewed-by: Hannes Reinecke <hare@suse.com> -Tested-by: Ondrej Zary <linux@rainbow-software.org> - ---- - -Any performance penalty is highly unlikely given the algorithms involved -and the improvements made to compilers over the last two decades. (And -I'd probably accept some loss anyway given the maintainability benefit.) - -Following the example of atari_NCR5380.c, the Scsi_Host pointer is now -always named "instance", and the NCR5380_read/write macros depend on this. -I think it is poor style to hard-code the identifier "instance" in these -macros but it is actually an improvement -- previously each NCR5380 driver -named a different local variable in its macro definitions. - -Eventually, the NCR5380_read/write macros may have to become function -calls if this is to become a platform driver or a library. The instance -pointer or hostdata pointer will then have to be passed as an argument. - -This patch is a step in that direction, in that it rewrites the -NCR5380_read/write macros in terms of hostdata and removes the -NCR5380_read/write usage from pas16_hw_detect() where there is no -Scsi_Host instance as yet. - ---- - drivers/scsi/NCR5380.c | 60 ++++++-------------------------------------- - drivers/scsi/arm/cumana_1.c | 6 +--- - drivers/scsi/arm/oak.c | 9 +++--- - drivers/scsi/dmx3191d.c | 6 +--- - drivers/scsi/dtc.c | 14 +++------- - drivers/scsi/dtc.h | 9 +----- - drivers/scsi/g_NCR5380.c | 27 ++++++++++--------- - drivers/scsi/g_NCR5380.h | 30 ++++++++-------------- - drivers/scsi/mac_scsi.c | 15 +---------- - drivers/scsi/pas16.c | 16 +++++------ - drivers/scsi/pas16.h | 11 +------- - drivers/scsi/t128.c | 26 +++++++++---------- - drivers/scsi/t128.h | 9 +----- - 13 files changed, 77 insertions(+), 161 deletions(-) - -Index: linux/drivers/scsi/NCR5380.c -=================================================================== ---- linux.orig/drivers/scsi/NCR5380.c 2016-01-03 16:02:42.000000000 +1100 -+++ linux/drivers/scsi/NCR5380.c 2016-01-03 16:02:56.000000000 +1100 -@@ -230,11 +230,6 @@ - * USLEEP_POLL - amount of time, in jiffies, to poll - * - * These macros MUST be defined : -- * NCR5380_local_declare() - declare any local variables needed for your -- * transfer routines. -- * -- * NCR5380_setup(instance) - initialize any local variables needed from a given -- * instance of the host adapter for NCR5380_{read,write,pread,pwrite} - * - * NCR5380_read(register) - read from the specified register - * -@@ -267,8 +262,8 @@ - * possible) function may be used. - */ - --static int do_abort(struct Scsi_Host *host); --static void do_reset(struct Scsi_Host *host); -+static int do_abort(struct Scsi_Host *); -+static void do_reset(struct Scsi_Host *); - - /* - * initialize_SCp - init the scsi pointer field -@@ -313,12 +308,9 @@ static inline void initialize_SCp(struct - - static int NCR5380_poll_politely(struct Scsi_Host *instance, int reg, int bit, int val, int t) - { -- NCR5380_local_declare(); - int n = 500; /* At about 8uS a cycle for the cpu access */ - unsigned long end = jiffies + t; - int r; -- -- NCR5380_setup(instance); - - while( n-- > 0) - { -@@ -406,9 +398,7 @@ mrs[] = { - - static void NCR5380_print(struct Scsi_Host *instance) - { -- NCR5380_local_declare(); - unsigned char status, data, basr, mr, icr, i; -- NCR5380_setup(instance); - - data = NCR5380_read(CURRENT_SCSI_DATA_REG); - status = NCR5380_read(STATUS_REG); -@@ -447,10 +437,8 @@ static void NCR5380_print(struct Scsi_Ho - - static void NCR5380_print_phase(struct Scsi_Host *instance) - { -- NCR5380_local_declare(); - unsigned char status; - int i; -- NCR5380_setup(instance); - - status = NCR5380_read(STATUS_REG); - if (!(status & SR_REQ)) -@@ -566,11 +554,9 @@ static irqreturn_t __init probe_intr(int - static int __init __maybe_unused NCR5380_probe_irq(struct Scsi_Host *instance, - int possible) - { -- NCR5380_local_declare(); - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; - unsigned long timeout; - int trying_irqs, i, mask; -- NCR5380_setup(instance); - - for (trying_irqs = 0, i = 1, mask = 2; i < 16; ++i, mask <<= 1) - if ((mask & possible) && (request_irq(i, &probe_intr, 0, "NCR-probe", NULL) == 0)) -@@ -791,7 +777,6 @@ static void lprint_opcode(int opcode, st - - static int NCR5380_init(struct Scsi_Host *instance, int flags) - { -- NCR5380_local_declare(); - int i, pass; - unsigned long timeout; - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; -@@ -808,8 +793,6 @@ static int NCR5380_init(struct Scsi_Host - instance->NCR5380_instance_name += NCR53C400_address_adjust; - #endif - -- NCR5380_setup(instance); -- - hostdata->aborted = 0; - hostdata->id_mask = 1 << instance->this_id; - for (i = hostdata->id_mask; i <= 0x80; i <<= 1) -@@ -1100,7 +1083,6 @@ static void NCR5380_main(struct work_str - - static irqreturn_t NCR5380_intr(int dummy, void *dev_id) - { -- NCR5380_local_declare(); - struct Scsi_Host *instance = dev_id; - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; - int done; -@@ -1114,7 +1096,6 @@ static irqreturn_t NCR5380_intr(int dumm - done = 1; - spin_lock_irqsave(instance->host_lock, flags); - /* Look for pending interrupts */ -- NCR5380_setup(instance); - basr = NCR5380_read(BUS_AND_STATUS_REG); - /* XXX dispatch to appropriate routine if found and done=0 */ - if (basr & BASR_IRQ) { -@@ -1205,7 +1186,6 @@ static irqreturn_t NCR5380_intr(int dumm - - static int NCR5380_select(struct Scsi_Host *instance, struct scsi_cmnd *cmd) - { -- NCR5380_local_declare(); - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; - unsigned char tmp[3], phase; - unsigned char *data; -@@ -1213,7 +1193,6 @@ static int NCR5380_select(struct Scsi_Ho - unsigned long timeout; - unsigned char value; - int err; -- NCR5380_setup(instance); - - if (hostdata->selecting) - goto part2; -@@ -1487,7 +1466,6 @@ failed: - */ - - static int NCR5380_transfer_pio(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data) { -- NCR5380_local_declare(); - unsigned char p = *phase, tmp; - int c = *count; - unsigned char *d = *data; -@@ -1496,7 +1474,6 @@ static int NCR5380_transfer_pio(struct S - */ - int break_allowed = 0; - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; -- NCR5380_setup(instance); - - if (!(p & SR_IO)) - dprintk(NDEBUG_PIO, "scsi%d : pio write %d bytes\n", instance->host_no, c); -@@ -1623,10 +1600,8 @@ static int NCR5380_transfer_pio(struct S - * Locks: caller holds queue lock - */ - --static void do_reset(struct Scsi_Host *host) { -- NCR5380_local_declare(); -- NCR5380_setup(host); -- -+static void do_reset(struct Scsi_Host *instance) -+{ - NCR5380_write(TARGET_COMMAND_REG, PHASE_SR_TO_TCR(NCR5380_read(STATUS_REG) & PHASE_MASK)); - NCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_RST); - udelay(25); -@@ -1645,13 +1620,11 @@ static void do_reset(struct Scsi_Host *h - * FIXME: sort this out and get new_eh running - */ - --static int do_abort(struct Scsi_Host *host) { -- NCR5380_local_declare(); -+static int do_abort(struct Scsi_Host *instance) -+{ - unsigned char *msgptr, phase, tmp; - int len; - int rc; -- NCR5380_setup(host); -- - - /* Request message out phase */ - NCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_ATN); -@@ -1666,7 +1639,7 @@ static int do_abort(struct Scsi_Host *ho - * the target sees, so we just handshake. - */ - -- rc = NCR5380_poll_politely(host, STATUS_REG, SR_REQ, SR_REQ, 60 * HZ); -+ rc = NCR5380_poll_politely(instance, STATUS_REG, SR_REQ, SR_REQ, 60 * HZ); - - if(rc < 0) - return -1; -@@ -1677,7 +1650,7 @@ static int do_abort(struct Scsi_Host *ho - - if ((tmp & PHASE_MASK) != PHASE_MSGOUT) { - NCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_ATN | ICR_ASSERT_ACK); -- rc = NCR5380_poll_politely(host, STATUS_REG, SR_REQ, 0, 3*HZ); -+ rc = NCR5380_poll_politely(instance, STATUS_REG, SR_REQ, 0, 3 * HZ); - NCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_ATN); - if(rc == -1) - return -1; -@@ -1686,7 +1659,7 @@ static int do_abort(struct Scsi_Host *ho - msgptr = &tmp; - len = 1; - phase = PHASE_MSGOUT; -- NCR5380_transfer_pio(host, &phase, &len, &msgptr); -+ NCR5380_transfer_pio(instance, &phase, &len, &msgptr); - - /* - * If we got here, and the command completed successfully, -@@ -1719,7 +1692,6 @@ static int do_abort(struct Scsi_Host *ho - - - static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data) { -- NCR5380_local_declare(); - register int c = *count; - register unsigned char p = *phase; - register unsigned char *d = *data; -@@ -1732,8 +1704,6 @@ static int NCR5380_transfer_dma(struct S - - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; - -- NCR5380_setup(instance); -- - if ((tmp = (NCR5380_read(STATUS_REG) & PHASE_MASK)) != p) { - *phase = tmp; - return -1; -@@ -2000,7 +1970,6 @@ static int NCR5380_transfer_dma(struct S - */ - - static void NCR5380_information_transfer(struct Scsi_Host *instance) { -- NCR5380_local_declare(); - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *)instance->hostdata; - unsigned char msgout = NOP; - int sink = 0; -@@ -2014,8 +1983,6 @@ static void NCR5380_information_transfer - /* RvC: we need to set the end of the polling time */ - unsigned long poll_time = jiffies + USLEEP_POLL; - -- NCR5380_setup(instance); -- - while (1) { - tmp = NCR5380_read(STATUS_REG); - /* We only have a valid SCSI phase when REQ is asserted */ -@@ -2406,7 +2373,6 @@ static void NCR5380_information_transfer - */ - - static void NCR5380_reselect(struct Scsi_Host *instance) { -- NCR5380_local_declare(); - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) - instance->hostdata; - unsigned char target_mask; -@@ -2416,7 +2382,6 @@ static void NCR5380_reselect(struct Scsi - unsigned char *data; - struct scsi_cmnd *tmp = NULL, *prev; - int abort = 0; -- NCR5380_setup(instance); - - /* - * Disable arbitration, etc. since the host adapter obviously -@@ -2525,10 +2490,8 @@ static void NCR5380_reselect(struct Scsi - - #ifdef REAL_DMA - static void NCR5380_dma_complete(NCR5380_instance * instance) { -- NCR5380_local_declare(); - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; - int transferred; -- NCR5380_setup(instance); - - /* - * XXX this might not be right. -@@ -2581,7 +2544,6 @@ static void NCR5380_dma_complete(NCR5380 - - static int NCR5380_abort(struct scsi_cmnd *cmd) - { -- NCR5380_local_declare(); - struct Scsi_Host *instance = cmd->device->host; - struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; - struct scsi_cmnd *tmp, **prev; -@@ -2590,8 +2552,6 @@ static int NCR5380_abort(struct scsi_cmn - - NCR5380_print_status(instance); - -- NCR5380_setup(instance); -- - dprintk(NDEBUG_ABORT, "scsi%d : abort called\n", instance->host_no); - dprintk(NDEBUG_ABORT, " basr 0x%X, sr 0x%X\n", NCR5380_read(BUS_AND_STATUS_REG), NCR5380_read(STATUS_REG)); - -@@ -2737,8 +2697,6 @@ static int NCR5380_bus_reset(struct scsi - { - struct Scsi_Host *instance = cmd->device->host; - -- NCR5380_local_declare(); -- NCR5380_setup(instance); - NCR5380_print_status(instance); - - spin_lock_irq(instance->host_lock); -Index: linux/drivers/scsi/arm/cumana_1.c -=================================================================== ---- linux.orig/drivers/scsi/arm/cumana_1.c 2016-01-03 16:02:38.000000000 +1100 -+++ linux/drivers/scsi/arm/cumana_1.c 2016-01-03 16:02:56.000000000 +1100 -@@ -20,10 +20,8 @@ - #define PSEUDO_DMA - - #define priv(host) ((struct NCR5380_hostdata *)(host)->hostdata) --#define NCR5380_local_declare() struct Scsi_Host *_instance --#define NCR5380_setup(instance) _instance = instance --#define NCR5380_read(reg) cumanascsi_read(_instance, reg) --#define NCR5380_write(reg, value) cumanascsi_write(_instance, reg, value) -+#define NCR5380_read(reg) cumanascsi_read(instance, reg) -+#define NCR5380_write(reg, value) cumanascsi_write(instance, reg, value) - #define NCR5380_intr cumanascsi_intr - #define NCR5380_queue_command cumanascsi_queue_command - #define NCR5380_info cumanascsi_info -Index: linux/drivers/scsi/arm/oak.c -=================================================================== ---- linux.orig/drivers/scsi/arm/oak.c 2016-01-03 16:02:38.000000000 +1100 -+++ linux/drivers/scsi/arm/oak.c 2016-01-03 16:02:56.000000000 +1100 -@@ -20,11 +20,12 @@ - #define DONT_USE_INTR - - #define priv(host) ((struct NCR5380_hostdata *)(host)->hostdata) --#define NCR5380_local_declare() void __iomem *_base --#define NCR5380_setup(host) _base = priv(host)->base - --#define NCR5380_read(reg) readb(_base + ((reg) << 2)) --#define NCR5380_write(reg, value) writeb(value, _base + ((reg) << 2)) -+#define NCR5380_read(reg) \ -+ readb(priv(instance)->base + ((reg) << 2)) -+#define NCR5380_write(reg, value) \ -+ writeb(value, priv(instance)->base + ((reg) << 2)) -+ - #define NCR5380_queue_command oakscsi_queue_command - #define NCR5380_info oakscsi_info - #define NCR5380_show_info oakscsi_show_info -Index: linux/drivers/scsi/dmx3191d.c -=================================================================== ---- linux.orig/drivers/scsi/dmx3191d.c 2016-01-03 16:02:38.000000000 +1100 -+++ linux/drivers/scsi/dmx3191d.c 2016-01-03 16:02:56.000000000 +1100 -@@ -36,12 +36,10 @@ - - #define DONT_USE_INTR - --#define NCR5380_read(reg) inb(port + reg) --#define NCR5380_write(reg, value) outb(value, port + reg) -+#define NCR5380_read(reg) inb(instance->io_port + reg) -+#define NCR5380_write(reg, value) outb(value, instance->io_port + reg) - - #define NCR5380_implementation_fields /* none */ --#define NCR5380_local_declare() unsigned int port --#define NCR5380_setup(instance) port = instance->io_port - - /* - * Includes needed for NCR5380.[ch] (XXX: Move them to NCR5380.h) -Index: linux/drivers/scsi/dtc.c -=================================================================== ---- linux.orig/drivers/scsi/dtc.c 2016-01-03 16:02:47.000000000 +1100 -+++ linux/drivers/scsi/dtc.c 2016-01-03 16:02:56.000000000 +1100 -@@ -325,8 +325,6 @@ static inline int NCR5380_pread(struct S - unsigned char *d = dst; - int i; /* For counting time spent in the poll-loop */ - struct NCR5380_hostdata *hostdata = shost_priv(instance); -- NCR5380_local_declare(); -- NCR5380_setup(instance); - - i = 0; - NCR5380_read(RESET_PARITY_INTERRUPT_REG); -@@ -342,7 +340,7 @@ static inline int NCR5380_pread(struct S - while (NCR5380_read(DTC_CONTROL_REG) & CSR_HOST_BUF_NOT_RDY) - ++i; - rtrc(3); -- memcpy_fromio(d, base + DTC_DATA_BUF, 128); -+ memcpy_fromio(d, hostdata->base + DTC_DATA_BUF, 128); - d += 128; - len -= 128; - rtrc(7); -@@ -377,8 +375,6 @@ static inline int NCR5380_pwrite(struct - { - int i; - struct NCR5380_hostdata *hostdata = shost_priv(instance); -- NCR5380_local_declare(); -- NCR5380_setup(instance); - - NCR5380_read(RESET_PARITY_INTERRUPT_REG); - NCR5380_write(MODE_REG, MR_ENABLE_EOP_INTR | MR_DMA_MODE); -@@ -394,7 +390,7 @@ static inline int NCR5380_pwrite(struct - while (NCR5380_read(DTC_CONTROL_REG) & CSR_HOST_BUF_NOT_RDY) - ++i; - rtrc(3); -- memcpy_toio(base + DTC_DATA_BUF, src, 128); -+ memcpy_toio(hostdata->base + DTC_DATA_BUF, src, 128); - src += 128; - len -= 128; - } -@@ -420,15 +416,15 @@ MODULE_LICENSE("GPL"); - - static int dtc_release(struct Scsi_Host *shost) - { -- NCR5380_local_declare(); -- NCR5380_setup(shost); -+ struct NCR5380_hostdata *hostdata = shost_priv(shost); -+ - if (shost->irq != NO_IRQ) - free_irq(shost->irq, shost); - NCR5380_exit(shost); - if (shost->io_port && shost->n_io_port) - release_region(shost->io_port, shost->n_io_port); - scsi_unregister(shost); -- iounmap(base); -+ iounmap(hostdata->base); - return 0; - } - -Index: linux/drivers/scsi/dtc.h -=================================================================== ---- linux.orig/drivers/scsi/dtc.h 2016-01-03 16:02:47.000000000 +1100 -+++ linux/drivers/scsi/dtc.h 2016-01-03 16:02:56.000000000 +1100 -@@ -21,13 +21,8 @@ - #define NCR5380_implementation_fields \ - void __iomem *base - --#define NCR5380_local_declare() \ -- void __iomem *base -- --#define NCR5380_setup(instance) \ -- base = ((struct NCR5380_hostdata *)(instance)->hostdata)->base -- --#define DTC_address(reg) (base + DTC_5380_OFFSET + reg) -+#define DTC_address(reg) \ -+ (((struct NCR5380_hostdata *)shost_priv(instance))->base + DTC_5380_OFFSET + reg) - - #define NCR5380_read(reg) (readb(DTC_address(reg))) - #define NCR5380_write(reg, value) (writeb(value, DTC_address(reg))) -Index: linux/drivers/scsi/g_NCR5380.c -=================================================================== ---- linux.orig/drivers/scsi/g_NCR5380.c 2016-01-03 16:02:54.000000000 +1100 -+++ linux/drivers/scsi/g_NCR5380.c 2016-01-03 16:02:56.000000000 +1100 -@@ -459,9 +459,6 @@ static int __init generic_NCR5380_detect - - static int generic_NCR5380_release_resources(struct Scsi_Host *instance) - { -- NCR5380_local_declare(); -- NCR5380_setup(instance); -- - if (instance->irq != NO_IRQ) - free_irq(instance->irq, instance); - NCR5380_exit(instance); -@@ -520,13 +517,13 @@ generic_NCR5380_biosparam(struct scsi_de - - static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len) - { -+#ifdef SCSI_G_NCR5380_MEM -+ struct NCR5380_hostdata *hostdata = shost_priv(instance); -+#endif - int blocks = len / 128; - int start = 0; - int bl; - -- NCR5380_local_declare(); -- NCR5380_setup(instance); -- - NCR5380_write(C400_CONTROL_STATUS_REG, CSR_BASE | CSR_TRANS_DIR); - NCR5380_write(C400_BLOCK_COUNTER_REG, blocks); - while (1) { -@@ -547,7 +544,8 @@ static inline int NCR5380_pread(struct S - } - #else - /* implies SCSI_G_NCR5380_MEM */ -- memcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128); -+ memcpy_fromio(dst + start, -+ hostdata->iomem + NCR53C400_host_buffer, 128); - #endif - start += 128; - blocks--; -@@ -567,7 +565,8 @@ static inline int NCR5380_pread(struct S - } - #else - /* implies SCSI_G_NCR5380_MEM */ -- memcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128); -+ memcpy_fromio(dst + start, -+ hostdata->iomem + NCR53C400_host_buffer, 128); - #endif - start += 128; - blocks--; -@@ -604,14 +603,14 @@ static inline int NCR5380_pread(struct S - - static inline int NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src, int len) - { -+#ifdef SCSI_G_NCR5380_MEM -+ struct NCR5380_hostdata *hostdata = shost_priv(instance); -+#endif - int blocks = len / 128; - int start = 0; - int bl; - int i; - -- NCR5380_local_declare(); -- NCR5380_setup(instance); -- - NCR5380_write(C400_CONTROL_STATUS_REG, CSR_BASE); - NCR5380_write(C400_BLOCK_COUNTER_REG, blocks); - while (1) { -@@ -632,7 +631,8 @@ static inline int NCR5380_pwrite(struct - } - #else - /* implies SCSI_G_NCR5380_MEM */ -- memcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128); -+ memcpy_toio(hostdata->iomem + NCR53C400_host_buffer, -+ src + start, 128); - #endif - start += 128; - blocks--; -@@ -648,7 +648,8 @@ static inline int NCR5380_pwrite(struct - } - #else - /* implies SCSI_G_NCR5380_MEM */ -- memcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128); -+ memcpy_toio(hostdata->iomem + NCR53C400_host_buffer, -+ src + start, 128); - #endif - start += 128; - blocks--; -Index: linux/drivers/scsi/g_NCR5380.h -=================================================================== ---- linux.orig/drivers/scsi/g_NCR5380.h 2016-01-03 16:02:54.000000000 +1100 -+++ linux/drivers/scsi/g_NCR5380.h 2016-01-03 16:02:56.000000000 +1100 -@@ -46,17 +46,12 @@ - #define NCR5380_region_size 8 - #endif - --#define NCR5380_read(reg) (inb(NCR5380_map_name + (reg))) --#define NCR5380_write(reg, value) (outb((value), (NCR5380_map_name + (reg)))) -+#define NCR5380_read(reg) \ -+ inb(instance->io_port + (reg)) -+#define NCR5380_write(reg, value) \ -+ outb(value, instance->io_port + (reg)) - --#define NCR5380_implementation_fields \ -- NCR5380_map_type NCR5380_map_name -- --#define NCR5380_local_declare() \ -- register NCR5380_implementation_fields -- --#define NCR5380_setup(instance) \ -- NCR5380_map_name = (NCR5380_map_type)((instance)->NCR5380_instance_name) -+#define NCR5380_implementation_fields /* none */ - - #else - /* therefore SCSI_G_NCR5380_MEM */ -@@ -70,19 +65,16 @@ - #define NCR53C400_host_buffer 0x3900 - #define NCR5380_region_size 0x3a00 - --#define NCR5380_read(reg) readb(iomem + NCR53C400_mem_base + (reg)) --#define NCR5380_write(reg, value) writeb(value, iomem + NCR53C400_mem_base + (reg)) -+#define NCR5380_read(reg) \ -+ readb(((struct NCR5380_hostdata *)shost_priv(instance))->iomem + \ -+ NCR53C400_mem_base + (reg)) -+#define NCR5380_write(reg, value) \ -+ writeb(value, ((struct NCR5380_hostdata *)shost_priv(instance))->iomem + \ -+ NCR53C400_mem_base + (reg)) - - #define NCR5380_implementation_fields \ -- NCR5380_map_type NCR5380_map_name; \ - void __iomem *iomem; - --#define NCR5380_local_declare() \ -- register void __iomem *iomem -- --#define NCR5380_setup(instance) \ -- iomem = (((struct NCR5380_hostdata *)(instance)->hostdata)->iomem) -- - #endif - - #define NCR5380_intr generic_NCR5380_intr -Index: linux/drivers/scsi/mac_scsi.c -=================================================================== ---- linux.orig/drivers/scsi/mac_scsi.c 2016-01-03 16:02:38.000000000 +1100 -+++ linux/drivers/scsi/mac_scsi.c 2016-01-03 16:02:56.000000000 +1100 -@@ -32,11 +32,9 @@ - #define PSEUDO_DMA - - #define NCR5380_implementation_fields unsigned char *pdma_base --#define NCR5380_local_declare() struct Scsi_Host *_instance --#define NCR5380_setup(instance) _instance = instance - --#define NCR5380_read(reg) macscsi_read(_instance, reg) --#define NCR5380_write(reg, value) macscsi_write(_instance, reg, value) -+#define NCR5380_read(reg) macscsi_read(instance, reg) -+#define NCR5380_write(reg, value) macscsi_write(instance, reg, value) - - #define NCR5380_pread macscsi_pread - #define NCR5380_pwrite macscsi_pwrite -@@ -129,9 +127,6 @@ static void mac_scsi_reset_boot(struct S - { - unsigned long end; - -- NCR5380_local_declare(); -- NCR5380_setup(instance); -- - /* - * Do a SCSI reset to clean up the bus during initialization. No messing - * with the queues, interrupts, or locks necessary here. -@@ -235,9 +230,6 @@ static int macscsi_pread(struct Scsi_Hos - unsigned char *d; - unsigned char *s; - -- NCR5380_local_declare(); -- NCR5380_setup(instance); -- - s = hostdata->pdma_base + (INPUT_DATA_REG << 4); - d = dst; - -@@ -329,9 +321,6 @@ static int macscsi_pwrite(struct Scsi_Ho - unsigned char *s; - unsigned char *d; - -- NCR5380_local_declare(); -- NCR5380_setup(instance); -- - s = src; - d = hostdata->pdma_base + (OUTPUT_DATA_REG << 4); - -Index: linux/drivers/scsi/pas16.h -=================================================================== ---- linux.orig/drivers/scsi/pas16.h 2016-01-03 16:02:54.000000000 +1100 -+++ linux/drivers/scsi/pas16.h 2016-01-03 16:02:56.000000000 +1100 -@@ -103,16 +103,9 @@ - #define CAN_QUEUE 32 - #endif - --#define NCR5380_implementation_fields \ -- volatile unsigned short io_port -+#define NCR5380_implementation_fields /* none */ - --#define NCR5380_local_declare() \ -- volatile unsigned short io_port -- --#define NCR5380_setup(instance) \ -- io_port = (instance)->io_port -- --#define PAS16_io_port(reg) ( io_port + pas16_offset[(reg)] ) -+#define PAS16_io_port(reg) (instance->io_port + pas16_offset[(reg)]) - - #define NCR5380_read(reg) ( inb(PAS16_io_port(reg)) ) - #define NCR5380_write(reg, value) ( outb((value),PAS16_io_port(reg)) ) -Index: linux/drivers/scsi/t128.c -=================================================================== ---- linux.orig/drivers/scsi/t128.c 2016-01-03 16:02:47.000000000 +1100 -+++ linux/drivers/scsi/t128.c 2016-01-03 16:02:56.000000000 +1100 -@@ -248,15 +248,15 @@ found: - - static int t128_release(struct Scsi_Host *shost) - { -- NCR5380_local_declare(); -- NCR5380_setup(shost); -+ struct NCR5380_hostdata *hostdata = shost_priv(shost); -+ - if (shost->irq != NO_IRQ) - free_irq(shost->irq, shost); - NCR5380_exit(shost); - if (shost->io_port && shost->n_io_port) - release_region(shost->io_port, shost->n_io_port); - scsi_unregister(shost); -- iounmap(base); -+ iounmap(hostdata->base); - return 0; - } - -@@ -302,14 +302,14 @@ static int t128_biosparam(struct scsi_de - * timeout. - */ - --static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst, -- int len) { -- NCR5380_local_declare(); -- void __iomem *reg; -+static inline int -+NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len) -+{ -+ struct NCR5380_hostdata *hostdata = shost_priv(instance); -+ void __iomem *reg, *base = hostdata->base; - unsigned char *d = dst; - register int i = len; - -- NCR5380_setup(instance); - reg = base + T_DATA_REG_OFFSET; - - #if 0 -@@ -348,14 +348,14 @@ static inline int NCR5380_pread (struct - * timeout. - */ - --static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src, -- int len) { -- NCR5380_local_declare(); -- void __iomem *reg; -+static inline int -+NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src, int len) -+{ -+ struct NCR5380_hostdata *hostdata = shost_priv(instance); -+ void __iomem *reg, *base = hostdata->base; - unsigned char *s = src; - register int i = len; - -- NCR5380_setup(instance); - reg = base + T_DATA_REG_OFFSET; - - #if 0 -Index: linux/drivers/scsi/t128.h -=================================================================== ---- linux.orig/drivers/scsi/t128.h 2016-01-03 16:02:54.000000000 +1100 -+++ linux/drivers/scsi/t128.h 2016-01-03 16:02:56.000000000 +1100 -@@ -78,13 +78,8 @@ - #define NCR5380_implementation_fields \ - void __iomem *base - --#define NCR5380_local_declare() \ -- void __iomem *base -- --#define NCR5380_setup(instance) \ -- base = ((struct NCR5380_hostdata *)(instance->hostdata))->base -- --#define T128_address(reg) (base + T_5380_OFFSET + ((reg) * 0x20)) -+#define T128_address(reg) \ -+ (((struct NCR5380_hostdata *)shost_priv(instance))->base + T_5380_OFFSET + ((reg) * 0x20)) - - #define NCR5380_read(reg) readb(T128_address(reg)) - #define NCR5380_write(reg, value) writeb((value),(T128_address(reg))) -Index: linux/drivers/scsi/pas16.c -=================================================================== ---- linux.orig/drivers/scsi/pas16.c 2016-01-03 16:02:54.000000000 +1100 -+++ linux/drivers/scsi/pas16.c 2016-01-03 16:02:56.000000000 +1100 -@@ -188,7 +188,7 @@ static void __init - outb( 0x01, io_port + P_TIMEOUT_STATUS_REG_OFFSET ); /* Reset TC */ - outb( 0x01, io_port + WAIT_STATE ); /* 1 Wait state */ - -- NCR5380_read( RESET_PARITY_INTERRUPT_REG ); -+ inb(io_port + pas16_offset[RESET_PARITY_INTERRUPT_REG]); - - /* Set the SCSI interrupt pointer without mucking up the sound - * interrupt pointer in the same byte. -@@ -263,13 +263,13 @@ static int __init - * put in an additional test to try to weed them out. - */ - -- outb( 0x01, io_port + WAIT_STATE ); /* 1 Wait state */ -- NCR5380_write( MODE_REG, 0x20 ); /* Is it really SCSI? */ -- if( NCR5380_read( MODE_REG ) != 0x20 ) /* Write to a reg. */ -- return 0; /* and try to read */ -- NCR5380_write( MODE_REG, 0x00 ); /* it back. */ -- if( NCR5380_read( MODE_REG ) != 0x00 ) -- return 0; -+ outb(0x01, io_port + WAIT_STATE); /* 1 Wait state */ -+ outb(0x20, io_port + pas16_offset[MODE_REG]); /* Is it really SCSI? */ -+ if (inb(io_port + pas16_offset[MODE_REG]) != 0x20) /* Write to a reg. */ -+ return 0; /* and try to read */ -+ outb(0x00, io_port + pas16_offset[MODE_REG]); /* it back. */ -+ if (inb(io_port + pas16_offset[MODE_REG]) != 0x00) -+ return 0; - - return 1; - } +An embedded and charset-unspecified text was scrubbed... +Name: ncr5380-eliminate-local_declare-macros +URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160103/b9b42a55/attachment.ksh> diff --git a/a/content_digest b/N1/content_digest index 62d7f10..0d7895d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,825 +1,12 @@ "ref\020160103050501.042035135@telegraphics.com.au\0" - "From\0Finn Thain <fthain@telegraphics.com.au>\0" + "From\0fthain@telegraphics.com.au (Finn Thain)\0" "Subject\0[PATCH v4 05/78] ncr5380: Remove NCR5380_local_declare and NCR5380_setup macros\0" "Date\0Sun, 03 Jan 2016 16:05:06 +1100\0" - "To\0James E.J. Bottomley <JBottomley@odin.com>" - Martin K. Petersen <martin.petersen@oracle.com> - Michael Schmitz <schmitzmic@gmail.com> - linux-m68k@vger.kernel.org - linux-scsi@vger.kernel.org - linux-kernel@vger.kernel.org - Russell King <linux@arm.linux.org.uk> - " linux-arm-kernel@lists.infradead.org\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" - "fn\0ncr5380-eliminate-local_declare-macros\0" "b\0" - "The NCR5380_local_declare and NCR5380_setup macros exist to define and\n" - "initialize a particular local variable, to provide the address of the\n" - "chip registers needed for the driver's implementation of its\n" - "NCR5380_read/write register access macros.\n" - "\n" - "In cumana_1 and macscsi, these macros generate pointless code like this,\n" - "\tstruct Scsi_Host *_instance;\n" - "\t_instance = instance;\n" - "\n" - "In pas16, the use of NCR5380_read/write in pas16_hw_detect() requires that\n" - "the io_port local variable has been defined and initialized, but the\n" - "NCR5380_local_declare and NCR5380_setup macros can't be used for that\n" - "purpose because the Scsi_Host struct has not yet been instantiated.\n" - "\n" - "Moreover, these macros were removed from atari_NCR5380.c long ago and\n" - "now they constitute yet another discrepancy between the two core driver\n" - "forks.\n" - "\n" - "Remove these \"optimizations\".\n" - "\n" - "Signed-off-by: Finn Thain <fthain@telegraphics.com.au>\n" - "Reviewed-by: Hannes Reinecke <hare@suse.com>\n" - "Tested-by: Ondrej Zary <linux@rainbow-software.org>\n" - "\n" - "---\n" - "\n" - "Any performance penalty is highly unlikely given the algorithms involved\n" - "and the improvements made to compilers over the last two decades. (And\n" - "I'd probably accept some loss anyway given the maintainability benefit.)\n" - "\n" - "Following the example of atari_NCR5380.c, the Scsi_Host pointer is now\n" - "always named \"instance\", and the NCR5380_read/write macros depend on this.\n" - "I think it is poor style to hard-code the identifier \"instance\" in these\n" - "macros but it is actually an improvement -- previously each NCR5380 driver\n" - "named a different local variable in its macro definitions.\n" - "\n" - "Eventually, the NCR5380_read/write macros may have to become function\n" - "calls if this is to become a platform driver or a library. The instance\n" - "pointer or hostdata pointer will then have to be passed as an argument.\n" - "\n" - "This patch is a step in that direction, in that it rewrites the\n" - "NCR5380_read/write macros in terms of hostdata and removes the\n" - "NCR5380_read/write usage from pas16_hw_detect() where there is no\n" - "Scsi_Host instance as yet.\n" - "\n" - "---\n" - " drivers/scsi/NCR5380.c | 60 ++++++--------------------------------------\n" - " drivers/scsi/arm/cumana_1.c | 6 +---\n" - " drivers/scsi/arm/oak.c | 9 +++---\n" - " drivers/scsi/dmx3191d.c | 6 +---\n" - " drivers/scsi/dtc.c | 14 +++-------\n" - " drivers/scsi/dtc.h | 9 +-----\n" - " drivers/scsi/g_NCR5380.c | 27 ++++++++++---------\n" - " drivers/scsi/g_NCR5380.h | 30 ++++++++--------------\n" - " drivers/scsi/mac_scsi.c | 15 +----------\n" - " drivers/scsi/pas16.c | 16 +++++------\n" - " drivers/scsi/pas16.h | 11 +-------\n" - " drivers/scsi/t128.c | 26 +++++++++----------\n" - " drivers/scsi/t128.h | 9 +-----\n" - " 13 files changed, 77 insertions(+), 161 deletions(-)\n" - "\n" - "Index: linux/drivers/scsi/NCR5380.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/NCR5380.c\t2016-01-03 16:02:42.000000000 +1100\n" - "+++ linux/drivers/scsi/NCR5380.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -230,11 +230,6 @@\n" - " * USLEEP_POLL - amount of time, in jiffies, to poll\n" - " *\n" - " * These macros MUST be defined :\n" - "- * NCR5380_local_declare() - declare any local variables needed for your\n" - "- * transfer routines.\n" - "- *\n" - "- * NCR5380_setup(instance) - initialize any local variables needed from a given\n" - "- * instance of the host adapter for NCR5380_{read,write,pread,pwrite}\n" - " * \n" - " * NCR5380_read(register) - read from the specified register\n" - " *\n" - "@@ -267,8 +262,8 @@\n" - " * possible) function may be used.\n" - " */\n" - " \n" - "-static int do_abort(struct Scsi_Host *host);\n" - "-static void do_reset(struct Scsi_Host *host);\n" - "+static int do_abort(struct Scsi_Host *);\n" - "+static void do_reset(struct Scsi_Host *);\n" - " \n" - " /*\n" - " *\tinitialize_SCp\t\t-\tinit the scsi pointer field\n" - "@@ -313,12 +308,9 @@ static inline void initialize_SCp(struct\n" - " \n" - " static int NCR5380_poll_politely(struct Scsi_Host *instance, int reg, int bit, int val, int t)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tint n = 500;\t\t/* At about 8uS a cycle for the cpu access */\n" - " \tunsigned long end = jiffies + t;\n" - " \tint r;\n" - "-\t\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \twhile( n-- > 0)\n" - " \t{\n" - "@@ -406,9 +398,7 @@ mrs[] = {\n" - " \n" - " static void NCR5380_print(struct Scsi_Host *instance)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tunsigned char status, data, basr, mr, icr, i;\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \tdata = NCR5380_read(CURRENT_SCSI_DATA_REG);\n" - " \tstatus = NCR5380_read(STATUS_REG);\n" - "@@ -447,10 +437,8 @@ static void NCR5380_print(struct Scsi_Ho\n" - " \n" - " static void NCR5380_print_phase(struct Scsi_Host *instance)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tunsigned char status;\n" - " \tint i;\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \tstatus = NCR5380_read(STATUS_REG);\n" - " \tif (!(status & SR_REQ))\n" - "@@ -566,11 +554,9 @@ static irqreturn_t __init probe_intr(int\n" - " static int __init __maybe_unused NCR5380_probe_irq(struct Scsi_Host *instance,\n" - " \t\t\t\t\t\tint possible)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - " \tunsigned long timeout;\n" - " \tint trying_irqs, i, mask;\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \tfor (trying_irqs = 0, i = 1, mask = 2; i < 16; ++i, mask <<= 1)\n" - " \t\tif ((mask & possible) && (request_irq(i, &probe_intr, 0, \"NCR-probe\", NULL) == 0))\n" - "@@ -791,7 +777,6 @@ static void lprint_opcode(int opcode, st\n" - " \n" - " static int NCR5380_init(struct Scsi_Host *instance, int flags)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tint i, pass;\n" - " \tunsigned long timeout;\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - "@@ -808,8 +793,6 @@ static int NCR5380_init(struct Scsi_Host\n" - " \t\tinstance->NCR5380_instance_name += NCR53C400_address_adjust;\n" - " #endif\n" - " \n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \thostdata->aborted = 0;\n" - " \thostdata->id_mask = 1 << instance->this_id;\n" - " \tfor (i = hostdata->id_mask; i <= 0x80; i <<= 1)\n" - "@@ -1100,7 +1083,6 @@ static void NCR5380_main(struct work_str\n" - " \n" - " static irqreturn_t NCR5380_intr(int dummy, void *dev_id)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tstruct Scsi_Host *instance = dev_id;\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - " \tint done;\n" - "@@ -1114,7 +1096,6 @@ static irqreturn_t NCR5380_intr(int dumm\n" - " \t\tdone = 1;\n" - " \t\tspin_lock_irqsave(instance->host_lock, flags);\n" - " \t\t/* Look for pending interrupts */\n" - "-\t\tNCR5380_setup(instance);\n" - " \t\tbasr = NCR5380_read(BUS_AND_STATUS_REG);\n" - " \t\t/* XXX dispatch to appropriate routine if found and done=0 */\n" - " \t\tif (basr & BASR_IRQ) {\n" - "@@ -1205,7 +1186,6 @@ static irqreturn_t NCR5380_intr(int dumm\n" - " \n" - " static int NCR5380_select(struct Scsi_Host *instance, struct scsi_cmnd *cmd)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - " \tunsigned char tmp[3], phase;\n" - " \tunsigned char *data;\n" - "@@ -1213,7 +1193,6 @@ static int NCR5380_select(struct Scsi_Ho\n" - " \tunsigned long timeout;\n" - " \tunsigned char value;\n" - " \tint err;\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \tif (hostdata->selecting)\n" - " \t\tgoto part2;\n" - "@@ -1487,7 +1466,6 @@ failed:\n" - " */\n" - " \n" - " static int NCR5380_transfer_pio(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data) {\n" - "-\tNCR5380_local_declare();\n" - " \tunsigned char p = *phase, tmp;\n" - " \tint c = *count;\n" - " \tunsigned char *d = *data;\n" - "@@ -1496,7 +1474,6 @@ static int NCR5380_transfer_pio(struct S\n" - " \t */\n" - " \tint break_allowed = 0;\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \tif (!(p & SR_IO))\n" - " \t\tdprintk(NDEBUG_PIO, \"scsi%d : pio write %d bytes\\n\", instance->host_no, c);\n" - "@@ -1623,10 +1600,8 @@ static int NCR5380_transfer_pio(struct S\n" - " *\tLocks: caller holds queue lock\n" - " */\n" - " \n" - "-static void do_reset(struct Scsi_Host *host) {\n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(host);\n" - "-\n" - "+static void do_reset(struct Scsi_Host *instance)\n" - "+{\n" - " \tNCR5380_write(TARGET_COMMAND_REG, PHASE_SR_TO_TCR(NCR5380_read(STATUS_REG) & PHASE_MASK));\n" - " \tNCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_RST);\n" - " \tudelay(25);\n" - "@@ -1645,13 +1620,11 @@ static void do_reset(struct Scsi_Host *h\n" - " *\tFIXME: sort this out and get new_eh running\n" - " */\n" - " \n" - "-static int do_abort(struct Scsi_Host *host) {\n" - "-\tNCR5380_local_declare();\n" - "+static int do_abort(struct Scsi_Host *instance)\n" - "+{\n" - " \tunsigned char *msgptr, phase, tmp;\n" - " \tint len;\n" - " \tint rc;\n" - "-\tNCR5380_setup(host);\n" - "-\n" - " \n" - " \t/* Request message out phase */\n" - " \tNCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_ATN);\n" - "@@ -1666,7 +1639,7 @@ static int do_abort(struct Scsi_Host *ho\n" - " \t * the target sees, so we just handshake.\n" - " \t */\n" - " \n" - "-\trc = NCR5380_poll_politely(host, STATUS_REG, SR_REQ, SR_REQ, 60 * HZ);\n" - "+\trc = NCR5380_poll_politely(instance, STATUS_REG, SR_REQ, SR_REQ, 60 * HZ);\n" - " \t\n" - " \tif(rc < 0)\n" - " \t\treturn -1;\n" - "@@ -1677,7 +1650,7 @@ static int do_abort(struct Scsi_Host *ho\n" - " \n" - " \tif ((tmp & PHASE_MASK) != PHASE_MSGOUT) {\n" - " \t\tNCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_ATN | ICR_ASSERT_ACK);\n" - "-\t\trc = NCR5380_poll_politely(host, STATUS_REG, SR_REQ, 0, 3*HZ);\n" - "+\t\trc = NCR5380_poll_politely(instance, STATUS_REG, SR_REQ, 0, 3 * HZ);\n" - " \t\tNCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_ATN);\n" - " \t\tif(rc == -1)\n" - " \t\t\treturn -1;\n" - "@@ -1686,7 +1659,7 @@ static int do_abort(struct Scsi_Host *ho\n" - " \tmsgptr = &tmp;\n" - " \tlen = 1;\n" - " \tphase = PHASE_MSGOUT;\n" - "-\tNCR5380_transfer_pio(host, &phase, &len, &msgptr);\n" - "+\tNCR5380_transfer_pio(instance, &phase, &len, &msgptr);\n" - " \n" - " \t/*\n" - " \t * If we got here, and the command completed successfully,\n" - "@@ -1719,7 +1692,6 @@ static int do_abort(struct Scsi_Host *ho\n" - " \n" - " \n" - " static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data) {\n" - "-\tNCR5380_local_declare();\n" - " \tregister int c = *count;\n" - " \tregister unsigned char p = *phase;\n" - " \tregister unsigned char *d = *data;\n" - "@@ -1732,8 +1704,6 @@ static int NCR5380_transfer_dma(struct S\n" - " \n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - " \n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \tif ((tmp = (NCR5380_read(STATUS_REG) & PHASE_MASK)) != p) {\n" - " \t\t*phase = tmp;\n" - " \t\treturn -1;\n" - "@@ -2000,7 +1970,6 @@ static int NCR5380_transfer_dma(struct S\n" - " */\n" - " \n" - " static void NCR5380_information_transfer(struct Scsi_Host *instance) {\n" - "-\tNCR5380_local_declare();\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *)instance->hostdata;\n" - " \tunsigned char msgout = NOP;\n" - " \tint sink = 0;\n" - "@@ -2014,8 +1983,6 @@ static void NCR5380_information_transfer\n" - " \t/* RvC: we need to set the end of the polling time */\n" - " \tunsigned long poll_time = jiffies + USLEEP_POLL;\n" - " \n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \twhile (1) {\n" - " \t\ttmp = NCR5380_read(STATUS_REG);\n" - " \t\t/* We only have a valid SCSI phase when REQ is asserted */\n" - "@@ -2406,7 +2373,6 @@ static void NCR5380_information_transfer\n" - " */\n" - " \n" - " static void NCR5380_reselect(struct Scsi_Host *instance) {\n" - "-\tNCR5380_local_declare();\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *)\n" - " \t instance->hostdata;\n" - " \tunsigned char target_mask;\n" - "@@ -2416,7 +2382,6 @@ static void NCR5380_reselect(struct Scsi\n" - " \tunsigned char *data;\n" - " \tstruct scsi_cmnd *tmp = NULL, *prev;\n" - " \tint abort = 0;\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \t/*\n" - " \t * Disable arbitration, etc. since the host adapter obviously\n" - "@@ -2525,10 +2490,8 @@ static void NCR5380_reselect(struct Scsi\n" - " \n" - " #ifdef REAL_DMA\n" - " static void NCR5380_dma_complete(NCR5380_instance * instance) {\n" - "-\tNCR5380_local_declare();\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - " \tint transferred;\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \t/*\n" - " \t * XXX this might not be right.\n" - "@@ -2581,7 +2544,6 @@ static void NCR5380_dma_complete(NCR5380\n" - " \n" - " static int NCR5380_abort(struct scsi_cmnd *cmd)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - " \tstruct Scsi_Host *instance = cmd->device->host;\n" - " \tstruct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;\n" - " \tstruct scsi_cmnd *tmp, **prev;\n" - "@@ -2590,8 +2552,6 @@ static int NCR5380_abort(struct scsi_cmn\n" - " \n" - " \tNCR5380_print_status(instance);\n" - " \n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \tdprintk(NDEBUG_ABORT, \"scsi%d : abort called\\n\", instance->host_no);\n" - " \tdprintk(NDEBUG_ABORT, \" basr 0x%X, sr 0x%X\\n\", NCR5380_read(BUS_AND_STATUS_REG), NCR5380_read(STATUS_REG));\n" - " \n" - "@@ -2737,8 +2697,6 @@ static int NCR5380_bus_reset(struct scsi\n" - " {\n" - " \tstruct Scsi_Host *instance = cmd->device->host;\n" - " \n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - " \tNCR5380_print_status(instance);\n" - " \n" - " \tspin_lock_irq(instance->host_lock);\n" - "Index: linux/drivers/scsi/arm/cumana_1.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/arm/cumana_1.c\t2016-01-03 16:02:38.000000000 +1100\n" - "+++ linux/drivers/scsi/arm/cumana_1.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -20,10 +20,8 @@\n" - " #define PSEUDO_DMA\n" - " \n" - " #define priv(host)\t\t\t((struct NCR5380_hostdata *)(host)->hostdata)\n" - "-#define NCR5380_local_declare()\t\tstruct Scsi_Host *_instance\n" - "-#define NCR5380_setup(instance)\t\t_instance = instance\n" - "-#define NCR5380_read(reg)\t\tcumanascsi_read(_instance, reg)\n" - "-#define NCR5380_write(reg, value)\tcumanascsi_write(_instance, reg, value)\n" - "+#define NCR5380_read(reg)\t\tcumanascsi_read(instance, reg)\n" - "+#define NCR5380_write(reg, value)\tcumanascsi_write(instance, reg, value)\n" - " #define NCR5380_intr\t\t\tcumanascsi_intr\n" - " #define NCR5380_queue_command\t\tcumanascsi_queue_command\n" - " #define NCR5380_info\t\t\tcumanascsi_info\n" - "Index: linux/drivers/scsi/arm/oak.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/arm/oak.c\t2016-01-03 16:02:38.000000000 +1100\n" - "+++ linux/drivers/scsi/arm/oak.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -20,11 +20,12 @@\n" - " #define DONT_USE_INTR\n" - " \n" - " #define priv(host)\t\t\t((struct NCR5380_hostdata *)(host)->hostdata)\n" - "-#define NCR5380_local_declare()\t\tvoid __iomem *_base\n" - "-#define NCR5380_setup(host)\t\t_base = priv(host)->base\n" - " \n" - "-#define NCR5380_read(reg)\t\treadb(_base + ((reg) << 2))\n" - "-#define NCR5380_write(reg, value)\twriteb(value, _base + ((reg) << 2))\n" - "+#define NCR5380_read(reg) \\\n" - "+\treadb(priv(instance)->base + ((reg) << 2))\n" - "+#define NCR5380_write(reg, value) \\\n" - "+\twriteb(value, priv(instance)->base + ((reg) << 2))\n" - "+\n" - " #define NCR5380_queue_command\t\toakscsi_queue_command\n" - " #define NCR5380_info\t\t\toakscsi_info\n" - " #define NCR5380_show_info\t\toakscsi_show_info\n" - "Index: linux/drivers/scsi/dmx3191d.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/dmx3191d.c\t2016-01-03 16:02:38.000000000 +1100\n" - "+++ linux/drivers/scsi/dmx3191d.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -36,12 +36,10 @@\n" - " \n" - " #define DONT_USE_INTR\n" - " \n" - "-#define NCR5380_read(reg)\t\tinb(port + reg)\n" - "-#define NCR5380_write(reg, value)\toutb(value, port + reg)\n" - "+#define NCR5380_read(reg)\t\tinb(instance->io_port + reg)\n" - "+#define NCR5380_write(reg, value)\toutb(value, instance->io_port + reg)\n" - " \n" - " #define NCR5380_implementation_fields\t/* none */\n" - "-#define NCR5380_local_declare()\t\tunsigned int port\n" - "-#define NCR5380_setup(instance)\t\tport = instance->io_port\n" - " \n" - " /*\n" - " * Includes needed for NCR5380.[ch] (XXX: Move them to NCR5380.h)\n" - "Index: linux/drivers/scsi/dtc.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/dtc.c\t2016-01-03 16:02:47.000000000 +1100\n" - "+++ linux/drivers/scsi/dtc.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -325,8 +325,6 @@ static inline int NCR5380_pread(struct S\n" - " \tunsigned char *d = dst;\n" - " \tint i;\t\t\t/* For counting time spent in the poll-loop */\n" - " \tstruct NCR5380_hostdata *hostdata = shost_priv(instance);\n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \ti = 0;\n" - " \tNCR5380_read(RESET_PARITY_INTERRUPT_REG);\n" - "@@ -342,7 +340,7 @@ static inline int NCR5380_pread(struct S\n" - " \t\twhile (NCR5380_read(DTC_CONTROL_REG) & CSR_HOST_BUF_NOT_RDY)\n" - " \t\t\t++i;\n" - " \t\trtrc(3);\n" - "-\t\tmemcpy_fromio(d, base + DTC_DATA_BUF, 128);\n" - "+\t\tmemcpy_fromio(d, hostdata->base + DTC_DATA_BUF, 128);\n" - " \t\td += 128;\n" - " \t\tlen -= 128;\n" - " \t\trtrc(7);\n" - "@@ -377,8 +375,6 @@ static inline int NCR5380_pwrite(struct\n" - " {\n" - " \tint i;\n" - " \tstruct NCR5380_hostdata *hostdata = shost_priv(instance);\n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - " \n" - " \tNCR5380_read(RESET_PARITY_INTERRUPT_REG);\n" - " \tNCR5380_write(MODE_REG, MR_ENABLE_EOP_INTR | MR_DMA_MODE);\n" - "@@ -394,7 +390,7 @@ static inline int NCR5380_pwrite(struct\n" - " \t\twhile (NCR5380_read(DTC_CONTROL_REG) & CSR_HOST_BUF_NOT_RDY)\n" - " \t\t\t++i;\n" - " \t\trtrc(3);\n" - "-\t\tmemcpy_toio(base + DTC_DATA_BUF, src, 128);\n" - "+\t\tmemcpy_toio(hostdata->base + DTC_DATA_BUF, src, 128);\n" - " \t\tsrc += 128;\n" - " \t\tlen -= 128;\n" - " \t}\n" - "@@ -420,15 +416,15 @@ MODULE_LICENSE(\"GPL\");\n" - " \n" - " static int dtc_release(struct Scsi_Host *shost)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(shost);\n" - "+\tstruct NCR5380_hostdata *hostdata = shost_priv(shost);\n" - "+\n" - " \tif (shost->irq != NO_IRQ)\n" - " \t\tfree_irq(shost->irq, shost);\n" - " \tNCR5380_exit(shost);\n" - " \tif (shost->io_port && shost->n_io_port)\n" - " \t\trelease_region(shost->io_port, shost->n_io_port);\n" - " \tscsi_unregister(shost);\n" - "-\tiounmap(base);\n" - "+\tiounmap(hostdata->base);\n" - " \treturn 0;\n" - " }\n" - " \n" - "Index: linux/drivers/scsi/dtc.h\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/dtc.h\t2016-01-03 16:02:47.000000000 +1100\n" - "+++ linux/drivers/scsi/dtc.h\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -21,13 +21,8 @@\n" - " #define NCR5380_implementation_fields \\\n" - " void __iomem *base\n" - " \n" - "-#define NCR5380_local_declare() \\\n" - "- void __iomem *base\n" - "-\n" - "-#define NCR5380_setup(instance) \\\n" - "- base = ((struct NCR5380_hostdata *)(instance)->hostdata)->base\n" - "-\n" - "-#define DTC_address(reg) (base + DTC_5380_OFFSET + reg)\n" - "+#define DTC_address(reg) \\\n" - "+\t(((struct NCR5380_hostdata *)shost_priv(instance))->base + DTC_5380_OFFSET + reg)\n" - " \n" - " #define NCR5380_read(reg) (readb(DTC_address(reg)))\n" - " #define NCR5380_write(reg, value) (writeb(value, DTC_address(reg)))\n" - "Index: linux/drivers/scsi/g_NCR5380.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/g_NCR5380.c\t2016-01-03 16:02:54.000000000 +1100\n" - "+++ linux/drivers/scsi/g_NCR5380.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -459,9 +459,6 @@ static int __init generic_NCR5380_detect\n" - " \n" - " static int generic_NCR5380_release_resources(struct Scsi_Host *instance)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - "-\t\n" - " \tif (instance->irq != NO_IRQ)\n" - " \t\tfree_irq(instance->irq, instance);\n" - " \tNCR5380_exit(instance);\n" - "@@ -520,13 +517,13 @@ generic_NCR5380_biosparam(struct scsi_de\n" - " \n" - " static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len)\n" - " {\n" - "+#ifdef SCSI_G_NCR5380_MEM\n" - "+\tstruct NCR5380_hostdata *hostdata = shost_priv(instance);\n" - "+#endif\n" - " \tint blocks = len / 128;\n" - " \tint start = 0;\n" - " \tint bl;\n" - " \n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \tNCR5380_write(C400_CONTROL_STATUS_REG, CSR_BASE | CSR_TRANS_DIR);\n" - " \tNCR5380_write(C400_BLOCK_COUNTER_REG, blocks);\n" - " \twhile (1) {\n" - "@@ -547,7 +544,8 @@ static inline int NCR5380_pread(struct S\n" - " \t\t}\n" - " #else\n" - " \t\t/* implies SCSI_G_NCR5380_MEM */\n" - "-\t\tmemcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128);\n" - "+\t\tmemcpy_fromio(dst + start,\n" - "+\t\t hostdata->iomem + NCR53C400_host_buffer, 128);\n" - " #endif\n" - " \t\tstart += 128;\n" - " \t\tblocks--;\n" - "@@ -567,7 +565,8 @@ static inline int NCR5380_pread(struct S\n" - " \t\t}\n" - " #else\n" - " \t\t/* implies SCSI_G_NCR5380_MEM */\n" - "-\t\tmemcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128);\n" - "+\t\tmemcpy_fromio(dst + start,\n" - "+\t\t hostdata->iomem + NCR53C400_host_buffer, 128);\n" - " #endif\n" - " \t\tstart += 128;\n" - " \t\tblocks--;\n" - "@@ -604,14 +603,14 @@ static inline int NCR5380_pread(struct S\n" - " \n" - " static inline int NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src, int len)\n" - " {\n" - "+#ifdef SCSI_G_NCR5380_MEM\n" - "+\tstruct NCR5380_hostdata *hostdata = shost_priv(instance);\n" - "+#endif\n" - " \tint blocks = len / 128;\n" - " \tint start = 0;\n" - " \tint bl;\n" - " \tint i;\n" - " \n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \tNCR5380_write(C400_CONTROL_STATUS_REG, CSR_BASE);\n" - " \tNCR5380_write(C400_BLOCK_COUNTER_REG, blocks);\n" - " \twhile (1) {\n" - "@@ -632,7 +631,8 @@ static inline int NCR5380_pwrite(struct\n" - " \t\t}\n" - " #else\n" - " \t\t/* implies SCSI_G_NCR5380_MEM */\n" - "-\t\tmemcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128);\n" - "+\t\tmemcpy_toio(hostdata->iomem + NCR53C400_host_buffer,\n" - "+\t\t src + start, 128);\n" - " #endif\n" - " \t\tstart += 128;\n" - " \t\tblocks--;\n" - "@@ -648,7 +648,8 @@ static inline int NCR5380_pwrite(struct\n" - " \t\t}\n" - " #else\n" - " \t\t/* implies SCSI_G_NCR5380_MEM */\n" - "-\t\tmemcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128);\n" - "+\t\tmemcpy_toio(hostdata->iomem + NCR53C400_host_buffer,\n" - "+\t\t src + start, 128);\n" - " #endif\n" - " \t\tstart += 128;\n" - " \t\tblocks--;\n" - "Index: linux/drivers/scsi/g_NCR5380.h\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/g_NCR5380.h\t2016-01-03 16:02:54.000000000 +1100\n" - "+++ linux/drivers/scsi/g_NCR5380.h\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -46,17 +46,12 @@\n" - " #define NCR5380_region_size 8\n" - " #endif\n" - " \n" - "-#define NCR5380_read(reg) (inb(NCR5380_map_name + (reg)))\n" - "-#define NCR5380_write(reg, value) (outb((value), (NCR5380_map_name + (reg))))\n" - "+#define NCR5380_read(reg) \\\n" - "+\tinb(instance->io_port + (reg))\n" - "+#define NCR5380_write(reg, value) \\\n" - "+\toutb(value, instance->io_port + (reg))\n" - " \n" - "-#define NCR5380_implementation_fields \\\n" - "- NCR5380_map_type NCR5380_map_name\n" - "-\n" - "-#define NCR5380_local_declare() \\\n" - "- register NCR5380_implementation_fields\n" - "-\n" - "-#define NCR5380_setup(instance) \\\n" - "- NCR5380_map_name = (NCR5380_map_type)((instance)->NCR5380_instance_name)\n" - "+#define NCR5380_implementation_fields /* none */\n" - " \n" - " #else \n" - " /* therefore SCSI_G_NCR5380_MEM */\n" - "@@ -70,19 +65,16 @@\n" - " #define NCR53C400_host_buffer 0x3900\n" - " #define NCR5380_region_size 0x3a00\n" - " \n" - "-#define NCR5380_read(reg) readb(iomem + NCR53C400_mem_base + (reg))\n" - "-#define NCR5380_write(reg, value) writeb(value, iomem + NCR53C400_mem_base + (reg))\n" - "+#define NCR5380_read(reg) \\\n" - "+\treadb(((struct NCR5380_hostdata *)shost_priv(instance))->iomem + \\\n" - "+\t NCR53C400_mem_base + (reg))\n" - "+#define NCR5380_write(reg, value) \\\n" - "+\twriteb(value, ((struct NCR5380_hostdata *)shost_priv(instance))->iomem + \\\n" - "+\t NCR53C400_mem_base + (reg))\n" - " \n" - " #define NCR5380_implementation_fields \\\n" - "- NCR5380_map_type NCR5380_map_name; \\\n" - " void __iomem *iomem;\n" - " \n" - "-#define NCR5380_local_declare() \\\n" - "- register void __iomem *iomem\n" - "-\n" - "-#define NCR5380_setup(instance) \\\n" - "- iomem = (((struct NCR5380_hostdata *)(instance)->hostdata)->iomem)\n" - "-\n" - " #endif\n" - " \n" - " #define NCR5380_intr generic_NCR5380_intr\n" - "Index: linux/drivers/scsi/mac_scsi.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/mac_scsi.c\t2016-01-03 16:02:38.000000000 +1100\n" - "+++ linux/drivers/scsi/mac_scsi.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -32,11 +32,9 @@\n" - " #define PSEUDO_DMA\n" - " \n" - " #define NCR5380_implementation_fields unsigned char *pdma_base\n" - "-#define NCR5380_local_declare() struct Scsi_Host *_instance\n" - "-#define NCR5380_setup(instance) _instance = instance\n" - " \n" - "-#define NCR5380_read(reg) macscsi_read(_instance, reg)\n" - "-#define NCR5380_write(reg, value) macscsi_write(_instance, reg, value)\n" - "+#define NCR5380_read(reg) macscsi_read(instance, reg)\n" - "+#define NCR5380_write(reg, value) macscsi_write(instance, reg, value)\n" - " \n" - " #define NCR5380_pread macscsi_pread\n" - " #define NCR5380_pwrite macscsi_pwrite\n" - "@@ -129,9 +127,6 @@ static void mac_scsi_reset_boot(struct S\n" - " {\n" - " \tunsigned long end;\n" - " \n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - "-\t\n" - " \t/*\n" - " \t * Do a SCSI reset to clean up the bus during initialization. No messing\n" - " \t * with the queues, interrupts, or locks necessary here.\n" - "@@ -235,9 +230,6 @@ static int macscsi_pread(struct Scsi_Hos\n" - " \tunsigned char *d;\n" - " \tunsigned char *s;\n" - " \n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \ts = hostdata->pdma_base + (INPUT_DATA_REG << 4);\n" - " \td = dst;\n" - " \n" - "@@ -329,9 +321,6 @@ static int macscsi_pwrite(struct Scsi_Ho\n" - " \tunsigned char *s;\n" - " \tunsigned char *d;\n" - " \n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(instance);\n" - "-\n" - " \ts = src;\n" - " \td = hostdata->pdma_base + (OUTPUT_DATA_REG << 4);\n" - " \n" - "Index: linux/drivers/scsi/pas16.h\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/pas16.h\t2016-01-03 16:02:54.000000000 +1100\n" - "+++ linux/drivers/scsi/pas16.h\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -103,16 +103,9 @@\n" - " #define CAN_QUEUE 32 \n" - " #endif\n" - " \n" - "-#define NCR5380_implementation_fields \\\n" - "- volatile unsigned short io_port\n" - "+#define NCR5380_implementation_fields /* none */\n" - " \n" - "-#define NCR5380_local_declare() \\\n" - "- volatile unsigned short io_port\n" - "-\n" - "-#define NCR5380_setup(instance) \\\n" - "- io_port = (instance)->io_port\n" - "-\n" - "-#define PAS16_io_port(reg) ( io_port + pas16_offset[(reg)] )\n" - "+#define PAS16_io_port(reg) (instance->io_port + pas16_offset[(reg)])\n" - " \n" - " #define NCR5380_read(reg) ( inb(PAS16_io_port(reg)) )\n" - " #define NCR5380_write(reg, value) ( outb((value),PAS16_io_port(reg)) )\n" - "Index: linux/drivers/scsi/t128.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/t128.c\t2016-01-03 16:02:47.000000000 +1100\n" - "+++ linux/drivers/scsi/t128.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -248,15 +248,15 @@ found:\n" - " \n" - " static int t128_release(struct Scsi_Host *shost)\n" - " {\n" - "-\tNCR5380_local_declare();\n" - "-\tNCR5380_setup(shost);\n" - "+\tstruct NCR5380_hostdata *hostdata = shost_priv(shost);\n" - "+\n" - " \tif (shost->irq != NO_IRQ)\n" - " \t\tfree_irq(shost->irq, shost);\n" - " \tNCR5380_exit(shost);\n" - " \tif (shost->io_port && shost->n_io_port)\n" - " \t\trelease_region(shost->io_port, shost->n_io_port);\n" - " \tscsi_unregister(shost);\n" - "-\tiounmap(base);\n" - "+\tiounmap(hostdata->base);\n" - " \treturn 0;\n" - " }\n" - " \n" - "@@ -302,14 +302,14 @@ static int t128_biosparam(struct scsi_de\n" - " * \ttimeout.\n" - " */\n" - " \n" - "-static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst,\n" - "- int len) {\n" - "- NCR5380_local_declare();\n" - "- void __iomem *reg;\n" - "+static inline int\n" - "+NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len)\n" - "+{\n" - "+\tstruct NCR5380_hostdata *hostdata = shost_priv(instance);\n" - "+\tvoid __iomem *reg, *base = hostdata->base;\n" - " unsigned char *d = dst;\n" - " register int i = len;\n" - " \n" - "- NCR5380_setup(instance);\n" - " reg = base + T_DATA_REG_OFFSET;\n" - " \n" - " #if 0\n" - "@@ -348,14 +348,14 @@ static inline int NCR5380_pread (struct\n" - " * \ttimeout.\n" - " */\n" - " \n" - "-static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src,\n" - "- int len) {\n" - "- NCR5380_local_declare();\n" - "- void __iomem *reg;\n" - "+static inline int\n" - "+NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src, int len)\n" - "+{\n" - "+\tstruct NCR5380_hostdata *hostdata = shost_priv(instance);\n" - "+\tvoid __iomem *reg, *base = hostdata->base;\n" - " unsigned char *s = src;\n" - " register int i = len;\n" - " \n" - "- NCR5380_setup(instance);\n" - " reg = base + T_DATA_REG_OFFSET;\n" - " \n" - " #if 0\n" - "Index: linux/drivers/scsi/t128.h\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/t128.h\t2016-01-03 16:02:54.000000000 +1100\n" - "+++ linux/drivers/scsi/t128.h\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -78,13 +78,8 @@\n" - " #define NCR5380_implementation_fields \\\n" - " void __iomem *base\n" - " \n" - "-#define NCR5380_local_declare() \\\n" - "- void __iomem *base\n" - "-\n" - "-#define NCR5380_setup(instance) \\\n" - "- base = ((struct NCR5380_hostdata *)(instance->hostdata))->base\n" - "-\n" - "-#define T128_address(reg) (base + T_5380_OFFSET + ((reg) * 0x20))\n" - "+#define T128_address(reg) \\\n" - "+\t(((struct NCR5380_hostdata *)shost_priv(instance))->base + T_5380_OFFSET + ((reg) * 0x20))\n" - " \n" - " #define NCR5380_read(reg) readb(T128_address(reg))\n" - " #define NCR5380_write(reg, value) writeb((value),(T128_address(reg)))\n" - "Index: linux/drivers/scsi/pas16.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/pas16.c\t2016-01-03 16:02:54.000000000 +1100\n" - "+++ linux/drivers/scsi/pas16.c\t2016-01-03 16:02:56.000000000 +1100\n" - "@@ -188,7 +188,7 @@ static void __init\n" - " \toutb( 0x01, io_port + P_TIMEOUT_STATUS_REG_OFFSET ); /* Reset TC */\n" - " \toutb( 0x01, io_port + WAIT_STATE ); /* 1 Wait state */\n" - " \n" - "-\tNCR5380_read( RESET_PARITY_INTERRUPT_REG );\n" - "+\tinb(io_port + pas16_offset[RESET_PARITY_INTERRUPT_REG]);\n" - " \n" - " \t/* Set the SCSI interrupt pointer without mucking up the sound\n" - " \t * interrupt pointer in the same byte.\n" - "@@ -263,13 +263,13 @@ static int __init\n" - " * put in an additional test to try to weed them out.\n" - " */\n" - " \n" - "- outb( 0x01, io_port + WAIT_STATE ); \t/* 1 Wait state */\n" - "- NCR5380_write( MODE_REG, 0x20 );\t\t/* Is it really SCSI? */\n" - "- if( NCR5380_read( MODE_REG ) != 0x20 )\t/* Write to a reg. */\n" - "-\treturn 0;\t\t\t\t/* and try to read */\n" - "- NCR5380_write( MODE_REG, 0x00 );\t\t/* it back.\t */\n" - "- if( NCR5380_read( MODE_REG ) != 0x00 )\n" - "-\treturn 0;\n" - "+\toutb(0x01, io_port + WAIT_STATE); /* 1 Wait state */\n" - "+\toutb(0x20, io_port + pas16_offset[MODE_REG]); /* Is it really SCSI? */\n" - "+\tif (inb(io_port + pas16_offset[MODE_REG]) != 0x20) /* Write to a reg. */\n" - "+\t\treturn 0; /* and try to read */\n" - "+\toutb(0x00, io_port + pas16_offset[MODE_REG]); /* it back. */\n" - "+\tif (inb(io_port + pas16_offset[MODE_REG]) != 0x00)\n" - "+\t\treturn 0;\n" - " \n" - " return 1;\n" - } + "An embedded and charset-unspecified text was scrubbed...\n" + "Name: ncr5380-eliminate-local_declare-macros\n" + URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160103/b9b42a55/attachment.ksh> -b39b8fcf60d5c08cf3be664866118327b17b21601d2c1b65229c98a8eae45bfd +4f42f2de098ca7b37193d797c1fc8cd2c0560e12289e533ff48e8cc8ee3ca57b
diff --git a/a/content_digest b/N2/content_digest index 62d7f10..0f96ecf 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -5,9 +5,9 @@ "To\0James E.J. Bottomley <JBottomley@odin.com>" Martin K. Petersen <martin.petersen@oracle.com> Michael Schmitz <schmitzmic@gmail.com> - linux-m68k@vger.kernel.org - linux-scsi@vger.kernel.org - linux-kernel@vger.kernel.org + <linux-m68k@vger.kernel.org> + <linux-scsi@vger.kernel.org> + <linux-kernel@vger.kernel.org> Russell King <linux@arm.linux.org.uk> " linux-arm-kernel@lists.infradead.org\0" "\00:1\0" @@ -822,4 +822,4 @@ " return 1;\n" } -b39b8fcf60d5c08cf3be664866118327b17b21601d2c1b65229c98a8eae45bfd +ade391a9fd85f33f62230a4e5837b558562bf1947c5723358a821d085dd49d7b
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.