Re: [PATCH 2.6.16] scsi: clean up warnings in Advansys driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ken Witherow <[email protected]> wrote:
>
> Fix typecast warnings and switch from check_region to request_region
> 
> Signed-off-by: Ken Witherow <[email protected]>
> 
> ---
>   drivers/scsi/advansys.c |   17 ++++++++++-------
>   1 file changed, 10 insertions(+), 7 deletions(-)
> 
> 
> 
> --- linux-2.6.16/drivers/scsi/advansys.c	2006-03-20 00:53:29.000000000 -0500
> +++ linux/drivers/scsi/advansys.c	2006-04-20 17:27:43.000000000 -0400
> @@ -2056,11 +2056,11 @@ STATIC ASC_DCNT  AscGetMaxDmaCount(ushor
>   /*
>    * Define Adv Library required memory access macros.
>    */
> -#define ADV_MEM_READB(addr) readb(addr)
> -#define ADV_MEM_READW(addr) readw(addr)
> -#define ADV_MEM_WRITEB(addr, byte) writeb(byte, addr)
> -#define ADV_MEM_WRITEW(addr, word) writew(word, addr)
> -#define ADV_MEM_WRITEDW(addr, dword) writel(dword, addr)
> +#define ADV_MEM_READB(addr) readb((void *) addr)
> +#define ADV_MEM_READW(addr) readw((void *) addr)
> +#define ADV_MEM_WRITEB(addr, byte) writeb(byte, (void *) addr)
> +#define ADV_MEM_WRITEW(addr, word) writew(word, (void *) addr)
> +#define ADV_MEM_WRITEDW(addr, dword) writel(dword,(void *) addr)

Yes, I already did that, only I stuck a new #warning in there as well,
because this isn't the right fix.

>   #define ADV_CARRIER_COUNT (ASC_DEF_MAX_HOST_QNG + 15)
> 
> @@ -4415,7 +4415,7 @@ advansys_detect(struct scsi_host_templat
>                           ASC_DBG1(1,
>                                   "advansys_detect: probing I/O port 0x%x...\n",
>                               iop);
> -                        if (check_region(iop, ASC_IOADR_GAP) != 0) {
> +			if (!request_region(iop, ASC_IOADR_GAP, "advansys")){
>                               printk(
>   "AdvanSys SCSI: specified I/O Port 0x%X is busy\n", iop);
>                               /* Don't try this I/O port twice. */
> @@ -4425,6 +4425,7 @@ advansys_detect(struct scsi_host_templat
>                               printk(
>   "AdvanSys SCSI: specified I/O Port 0x%X has no adapter\n", iop);
>                               /* Don't try this I/O port twice. */
> +			    release_region(iop, ASC_IOADR_GAP);
>                               asc_ioport[ioport] = 0;
>                               goto ioport_try_again;
>                           } else {
> @@ -4445,6 +4446,7 @@ advansys_detect(struct scsi_host_templat
>                                    ioport++;
>                                    goto ioport_try_again;
>                               }
> +			    release_region(iop, ASC_IOADR_GAP);
>                           }
>                           /*
>                            * This board appears good, don't try the I/O port
> @@ -9752,13 +9754,14 @@ AscSearchIOPortAddr11(
>       }
>       for (; i < ASC_IOADR_TABLE_MAX_IX; i++) {
>           iop_base = _asc_def_iop_base[i];
> -        if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
> +	if (!request_region(iop_base, ASC_IOADR_GAP, "advansys")){
>               ASC_DBG1(1,
>                  "AscSearchIOPortAddr11: check_region() failed I/O port 0x%x\n",
>                        iop_base);
>               continue;
>           }
>           ASC_DBG1(1, "AscSearchIOPortAddr11: probing I/O port 0x%x\n", iop_base);
> +	release_region(iop_base, ASC_IOADR_GAP);
>           if (AscFindSignature(iop_base)) {
>               return (iop_base);
>           }

OK, thanks.  But I added this fixup on top:


--- devel/drivers/scsi/advansys.c~scsi-clean-up-warnings-in-advansys-driver-fix	2006-04-20 15:28:07.000000000 -0700
+++ devel-akpm/drivers/scsi/advansys.c	2006-04-20 15:28:07.000000000 -0700
@@ -4445,9 +4445,9 @@ advansys_detect(struct scsi_host_templat
                                   * 'ioport' past this board.
                                   */
                                  ioport++;
+				 release_region(iop, ASC_IOADR_GAP);
                                  goto ioport_try_again;
                             }
-			    release_region(iop, ASC_IOADR_GAP);
                         }
                         /*
                          * This board appears good, don't try the I/O port
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux