lkml.org 
[lkml]   [2006]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[3/10] remove ISA legacy functions: drivers/scsi/g_NCR5380.c
    From: Al Viro <viro@zeniv.linux.org.uk>

    switched CONFIG_SCSI_G_NCR5380_MEM code in g_NCR5380 to ioremap(); massaged
    g_NCR5380.h accordingly.

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Adrian Bunk <bunk@stusta.de>

    ---

    drivers/scsi/g_NCR5380.c | 28 +++++++++++++++++++++-------
    drivers/scsi/g_NCR5380.h | 23 +++++++++++++++++------
    2 files changed, 38 insertions(+), 13 deletions(-)

    6432444077b99d420f973ce8f1e748792f50a161
    diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
    --- a/drivers/scsi/g_NCR5380.c
    +++ b/drivers/scsi/g_NCR5380.c
    @@ -127,7 +127,7 @@ static int ncr_53c400a = NCR_NOT_SET;
    static int dtc_3181e = NCR_NOT_SET;

    static struct override {
    - NCR5380_implementation_fields;
    + NCR5380_map_type NCR5380_map_name;
    int irq;
    int dma;
    int board; /* Use NCR53c400, Ricoh, etc. extensions ? */
    @@ -299,6 +299,10 @@ int __init generic_NCR5380_detect(struct
    };
    int flags = 0;
    struct Scsi_Host *instance;
    +#ifdef CONFIG_SCSI_G_NCR5380_MEM
    + unsigned long base;
    + void __iomem *iomem;
    +#endif

    if (ncr_irq != NCR_NOT_SET)
    overrides[0].irq = ncr_irq;
    @@ -424,15 +428,22 @@ int __init generic_NCR5380_detect(struct
    region_size = NCR5380_region_size;
    }
    #else
    - if(!request_mem_region(overrides[current_override].NCR5380_map_name, NCR5380_region_size, "ncr5380"))
    + base = overrides[current_override].NCR5380_map_name;
    + if (!request_mem_region(base, NCR5380_region_size, "ncr5380"))
    + continue;
    + iomem = ioremap(base, NCR5380_region_size);
    + if (!iomem) {
    + release_mem_region(base, NCR5380_region_size);
    continue;
    + }
    #endif
    instance = scsi_register(tpnt, sizeof(struct NCR5380_hostdata));
    if (instance == NULL) {
    #ifndef CONFIG_SCSI_G_NCR5380_MEM
    release_region(overrides[current_override].NCR5380_map_name, region_size);
    #else
    - release_mem_region(overrides[current_override].NCR5380_map_name, NCR5380_region_size);
    + iounmap(iomem);
    + release_mem_region(base, NCR5380_region_size);
    #endif
    continue;
    }
    @@ -440,6 +451,8 @@ int __init generic_NCR5380_detect(struct
    instance->NCR5380_instance_name = overrides[current_override].NCR5380_map_name;
    #ifndef CONFIG_SCSI_G_NCR5380_MEM
    instance->n_io_port = region_size;
    +#else
    + ((struct NCR5380_hostdata *)instance->hostdata).iomem = iomem;
    #endif

    NCR5380_init(instance, flags);
    @@ -509,6 +522,7 @@ int generic_NCR5380_release_resources(st
    #ifndef CONFIG_SCSI_G_NCR5380_MEM
    release_region(instance->NCR5380_instance_name, instance->n_io_port);
    #else
    + iounmap(((struct NCR5380_hostdata *)instance->hostdata).iomem);
    release_mem_region(instance->NCR5380_instance_name, NCR5380_region_size);
    #endif

    @@ -586,7 +600,7 @@ static inline int NCR5380_pread(struct S
    }
    #else
    /* implies CONFIG_SCSI_G_NCR5380_MEM */
    - isa_memcpy_fromio(dst + start, NCR53C400_host_buffer + NCR5380_map_name, 128);
    + memcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128);
    #endif
    start += 128;
    blocks--;
    @@ -606,7 +620,7 @@ static inline int NCR5380_pread(struct S
    }
    #else
    /* implies CONFIG_SCSI_G_NCR5380_MEM */
    - isa_memcpy_fromio(dst + start, NCR53C400_host_buffer + NCR5380_map_name, 128);
    + memcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128);
    #endif
    start += 128;
    blocks--;
    @@ -671,7 +685,7 @@ static inline int NCR5380_pwrite(struct
    }
    #else
    /* implies CONFIG_SCSI_G_NCR5380_MEM */
    - isa_memcpy_toio(NCR53C400_host_buffer + NCR5380_map_name, src + start, 128);
    + memcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128);
    #endif
    start += 128;
    blocks--;
    @@ -687,7 +701,7 @@ static inline int NCR5380_pwrite(struct
    }
    #else
    /* implies CONFIG_SCSI_G_NCR5380_MEM */
    - isa_memcpy_toio(NCR53C400_host_buffer + NCR5380_map_name, src + start, 128);
    + memcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128);
    #endif
    start += 128;
    blocks--;
    diff --git a/drivers/scsi/g_NCR5380.h b/drivers/scsi/g_NCR5380.h
    --- a/drivers/scsi/g_NCR5380.h
    +++ b/drivers/scsi/g_NCR5380.h
    @@ -82,6 +82,15 @@ static const char* generic_NCR5380_info(
    #define NCR5380_read(reg) (inb(NCR5380_map_name + (reg)))
    #define NCR5380_write(reg, value) (outb((value), (NCR5380_map_name + (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)
    +
    #else
    /* therefore CONFIG_SCSI_G_NCR5380_MEM */

    @@ -95,18 +104,20 @@ static const char* generic_NCR5380_info(
    #define NCR53C400_host_buffer 0x3900
    #define NCR5380_region_size 0x3a00

    -#define NCR5380_read(reg) isa_readb(NCR5380_map_name + NCR53C400_mem_base + (reg))
    -#define NCR5380_write(reg, value) isa_writeb(value, NCR5380_map_name + NCR53C400_mem_base + (reg))
    -#endif
    +#define NCR5380_read(reg) readb(iomem + NCR53C400_mem_base + (reg))
    +#define NCR5380_write(reg, value) writeb(value, iomem + NCR53C400_mem_base + (reg))

    #define NCR5380_implementation_fields \
    - NCR5380_map_type NCR5380_map_name
    + NCR5380_map_type NCR5380_map_name; \
    + void __iomem *iomem;

    #define NCR5380_local_declare() \
    - register NCR5380_implementation_fields
    + register void __iomem *iomem

    #define NCR5380_setup(instance) \
    - NCR5380_map_name = (NCR5380_map_type)((instance)->NCR5380_instance_name)
    + iomem = (((struct NCR5380_hostdata *)(instance)->hostdata).iomem)
    +
    +#endif

    #define NCR5380_intr generic_NCR5380_intr
    #define NCR5380_queue_command generic_NCR5380_queue_command
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-01-26 23:50    [W:0.029 / U:60.832 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site