Re: 2.6.23-mm1 - build failure with advansys

From: Andrew Morton
Date: Sat Oct 13 2007 - 02:56:46 EST


On Sat, 13 Oct 2007 10:14:22 +0530 Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> wrote:

> Hi Andrew,
>
> Another build failure with following message
>
> CC drivers/scsi/advansys.o
> drivers/scsi/advansys.c:71:2: warning: #warning this driver is still not properly converted to the DMA API
> drivers/scsi/advansys.c: In function âAdvBuildCarrierFreelistâ:
> drivers/scsi/advansys.c:6486: error: implicit declaration of function âvirt_to_busâ
> drivers/scsi/advansys.c: In function âAdvInitAsc3550Driverâ:
> drivers/scsi/advansys.c:6974: error: implicit declaration of function âbus_to_virtâ
> drivers/scsi/advansys.c:6974: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c:6994: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c: In function âAdvInitAsc38C0800Driverâ:
> drivers/scsi/advansys.c:7450: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c:7471: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c: In function âAdvInitAsc38C1600Driverâ:
> drivers/scsi/advansys.c:7939: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c:7963: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c: In function âadv_isr_callbackâ:
> drivers/scsi/advansys.c:8175: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c: In function âAdvISRâ:
> drivers/scsi/advansys.c:8392: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c:8412: warning: cast to pointer from integer of different size
> drivers/scsi/advansys.c: In function âAdvExeScsiQueueâ:
> drivers/scsi/advansys.c:10845: warning: cast to pointer from integer of different size
> make[2]: *** [drivers/scsi/advansys.o] Error 1
> make[1]: *** [drivers/scsi] Error 2
> make: *** [drivers] Error 2
>
>
> The functions virt_to_bus and bus_to_virt are begin defined between ifdef CONFIG_PPC32
> but when i compile allyesconfig with ppc64 box,i get this error. This patch removes the
> ifdef.

Please copy the powerpc developers on powerpc patches.

> Signed-off-by : Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx>
> ---
> --- linux-2.6.23/include/asm-powerpc/io.h 2007-10-12 15:46:14.000000000 +0530
> +++ linux-2.6.23/include/asm-powerpc/~io.h 2007-10-12 15:46:00.000000000 +0530
> @@ -690,7 +690,6 @@ static inline void * phys_to_virt(unsign
> * drivers (shame shame shame) that use bus_to_virt() and haven't been
> * fixed yet so I need to define it here.
> */
> -#ifdef CONFIG_PPC32
>
> static inline unsigned long virt_to_bus(volatile void * address)
> {
> @@ -708,7 +707,6 @@ static inline void * bus_to_virt(unsigne
>
> #define page_to_bus(page) (page_to_phys(page) + PCI_DRAM_OFFSET)
>
> -#endif /* CONFIG_PPC32 */
>
> /* access ports */
> #define setbits32(_addr, _v) out_be32((_addr), in_be32(_addr) | (_v))
>

especially ones like that ;)

Matthew has proposed that advansys should be dependent upon
CONFIG_VIRT_TO_BUS. I don't think anyone's done a patch yet though.

(Actually, the code which you've altered there should probably be using
CONFIG_VIRT_TO_BUS, too).

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