[staging:staging-testing 704/735] drivers/staging//wilc1000/wilc_sdio.c:566:2: note: in expansion of macro 'le32_to_cpus'

kbuild test robot lkp at intel.com
Thu Aug 2 09:21:34 UTC 2018


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing
head:   025556d55d6edf3b3be1267a481be0890b96cc65
commit: 02211edc9a1f71942a67d545614f8c7382230de7 [704/735] staging: wilc1000: fix endianness warnings reported by sparse
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 02211edc9a1f71942a67d545614f8c7382230de7
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=powerpc 

All warnings (new ones prefixed by >>):

   In file included from include/linux/byteorder/big_endian.h:5:0,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/mmc/sdio_func.h:15,
                    from drivers/staging//wilc1000/wilc_sdio.c:8:
   drivers/staging//wilc1000/wilc_sdio.c: In function 'sdio_read_reg':
>> include/uapi/linux/byteorder/big_endian.h:95:37: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast [-Wint-conversion]
    #define __le32_to_cpus(x) __swab32s((x))
                                        ^
>> include/linux/byteorder/generic.h:113:22: note: in expansion of macro '__le32_to_cpus'
    #define le32_to_cpus __le32_to_cpus
                         ^~~~~~~~~~~~~~
>> drivers/staging//wilc1000/wilc_sdio.c:566:2: note: in expansion of macro 'le32_to_cpus'
     le32_to_cpus(*data);
     ^~~~~~~~~~~~
   In file included from include/linux/swab.h:5:0,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/mmc/sdio_func.h:15,
                    from drivers/staging//wilc1000/wilc_sdio.c:8:
   include/uapi/linux/swab.h:242:29: note: expected '__u32 * {aka unsigned int *}' but argument is of type 'u32 {aka unsigned int}'
    static __always_inline void __swab32s(__u32 *p)
                                ^~~~~~~~~
--
   In file included from include/linux/byteorder/big_endian.h:5:0,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging//wilc1000/wilc_spi.c:8:
   drivers/staging//wilc1000/wilc_spi.c: In function 'spi_internal_read':
>> include/uapi/linux/byteorder/big_endian.h:95:37: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast [-Wint-conversion]
    #define __le32_to_cpus(x) __swab32s((x))
                                        ^
>> include/linux/byteorder/generic.h:113:22: note: in expansion of macro '__le32_to_cpus'
    #define le32_to_cpus __le32_to_cpus
                         ^~~~~~~~~~~~~~
>> drivers/staging//wilc1000/wilc_spi.c:702:2: note: in expansion of macro 'le32_to_cpus'
     le32_to_cpus(*data);
     ^~~~~~~~~~~~
   In file included from include/linux/swab.h:5:0,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging//wilc1000/wilc_spi.c:8:
   include/uapi/linux/swab.h:242:29: note: expected '__u32 * {aka unsigned int *}' but argument is of type 'u32 {aka unsigned int}'
    static __always_inline void __swab32s(__u32 *p)
                                ^~~~~~~~~
   In file included from include/linux/byteorder/big_endian.h:5:0,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging//wilc1000/wilc_spi.c:8:
   drivers/staging//wilc1000/wilc_spi.c: In function 'wilc_spi_read_reg':
>> include/uapi/linux/byteorder/big_endian.h:95:37: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast [-Wint-conversion]
    #define __le32_to_cpus(x) __swab32s((x))
                                        ^
>> include/linux/byteorder/generic.h:113:22: note: in expansion of macro '__le32_to_cpus'
    #define le32_to_cpus __le32_to_cpus
                         ^~~~~~~~~~~~~~
   drivers/staging//wilc1000/wilc_spi.c:781:2: note: in expansion of macro 'le32_to_cpus'
     le32_to_cpus(*data);
     ^~~~~~~~~~~~
   In file included from include/linux/swab.h:5:0,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging//wilc1000/wilc_spi.c:8:
   include/uapi/linux/swab.h:242:29: note: expected '__u32 * {aka unsigned int *}' but argument is of type 'u32 {aka unsigned int}'
    static __always_inline void __swab32s(__u32 *p)
                                ^~~~~~~~~
--
   In file included from include/linux/byteorder/big_endian.h:5:0,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/mmc/sdio_func.h:15,
                    from drivers/staging/wilc1000/wilc_sdio.c:8:
   drivers/staging/wilc1000/wilc_sdio.c: In function 'sdio_read_reg':
>> include/uapi/linux/byteorder/big_endian.h:95:37: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast [-Wint-conversion]
    #define __le32_to_cpus(x) __swab32s((x))
                                        ^
>> include/linux/byteorder/generic.h:113:22: note: in expansion of macro '__le32_to_cpus'
    #define le32_to_cpus __le32_to_cpus
                         ^~~~~~~~~~~~~~
   drivers/staging/wilc1000/wilc_sdio.c:566:2: note: in expansion of macro 'le32_to_cpus'
     le32_to_cpus(*data);
     ^~~~~~~~~~~~
   In file included from include/linux/swab.h:5:0,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/mmc/sdio_func.h:15,
                    from drivers/staging/wilc1000/wilc_sdio.c:8:
   include/uapi/linux/swab.h:242:29: note: expected '__u32 * {aka unsigned int *}' but argument is of type 'u32 {aka unsigned int}'
    static __always_inline void __swab32s(__u32 *p)
                                ^~~~~~~~~
--
   In file included from include/linux/byteorder/big_endian.h:5:0,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging/wilc1000/wilc_spi.c:8:
   drivers/staging/wilc1000/wilc_spi.c: In function 'spi_internal_read':
>> include/uapi/linux/byteorder/big_endian.h:95:37: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast [-Wint-conversion]
    #define __le32_to_cpus(x) __swab32s((x))
                                        ^
>> include/linux/byteorder/generic.h:113:22: note: in expansion of macro '__le32_to_cpus'
    #define le32_to_cpus __le32_to_cpus
                         ^~~~~~~~~~~~~~
   drivers/staging/wilc1000/wilc_spi.c:702:2: note: in expansion of macro 'le32_to_cpus'
     le32_to_cpus(*data);
     ^~~~~~~~~~~~
   In file included from include/linux/swab.h:5:0,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging/wilc1000/wilc_spi.c:8:
   include/uapi/linux/swab.h:242:29: note: expected '__u32 * {aka unsigned int *}' but argument is of type 'u32 {aka unsigned int}'
    static __always_inline void __swab32s(__u32 *p)
                                ^~~~~~~~~
   In file included from include/linux/byteorder/big_endian.h:5:0,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging/wilc1000/wilc_spi.c:8:
   drivers/staging/wilc1000/wilc_spi.c: In function 'wilc_spi_read_reg':
>> include/uapi/linux/byteorder/big_endian.h:95:37: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast [-Wint-conversion]
    #define __le32_to_cpus(x) __swab32s((x))
                                        ^
>> include/linux/byteorder/generic.h:113:22: note: in expansion of macro '__le32_to_cpus'
    #define le32_to_cpus __le32_to_cpus
                         ^~~~~~~~~~~~~~
   drivers/staging/wilc1000/wilc_spi.c:781:2: note: in expansion of macro 'le32_to_cpus'
     le32_to_cpus(*data);
     ^~~~~~~~~~~~
   In file included from include/linux/swab.h:5:0,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/powerpc/include/uapi/asm/byteorder.h:14,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/powerpc/include/asm/bitops.h:246,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/spi/spi.h:18,
                    from drivers/staging/wilc1000/wilc_spi.c:8:
   include/uapi/linux/swab.h:242:29: note: expected '__u32 * {aka unsigned int *}' but argument is of type 'u32 {aka unsigned int}'
    static __always_inline void __swab32s(__u32 *p)
                                ^~~~~~~~~

vim +/le32_to_cpus +566 drivers/staging//wilc1000/wilc_sdio.c

   523	
   524	static int sdio_read_reg(struct wilc *wilc, u32 addr, u32 *data)
   525	{
   526		struct sdio_func *func = dev_to_sdio_func(wilc->dev);
   527		int ret;
   528	
   529		if (addr >= 0xf0 && addr <= 0xff) {
   530			struct sdio_cmd52 cmd;
   531	
   532			cmd.read_write = 0;
   533			cmd.function = 0;
   534			cmd.raw = 0;
   535			cmd.address = addr;
   536			ret = wilc_sdio_cmd52(wilc, &cmd);
   537			if (ret) {
   538				dev_err(&func->dev,
   539					"Failed cmd 52, read reg (%08x) ...\n", addr);
   540				goto fail;
   541			}
   542			*data = cmd.data;
   543		} else {
   544			struct sdio_cmd53 cmd;
   545	
   546			if (!sdio_set_func0_csa_address(wilc, addr))
   547				goto fail;
   548	
   549			cmd.read_write = 0;
   550			cmd.function = 0;
   551			cmd.address = 0x10f;
   552			cmd.block_mode = 0;
   553			cmd.increment = 1;
   554			cmd.count = 4;
   555			cmd.buffer = (u8 *)data;
   556	
   557			cmd.block_size = g_sdio.block_size;
   558			ret = wilc_sdio_cmd53(wilc, &cmd);
   559			if (ret) {
   560				dev_err(&func->dev,
   561					"Failed cmd53, read reg (%08x)...\n", addr);
   562				goto fail;
   563			}
   564		}
   565	
 > 566		le32_to_cpus(*data);
   567	
   568		return 1;
   569	
   570	fail:
   571	
   572		return 0;
   573	}
   574	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 57712 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20180802/5200c9e0/attachment-0001.bin>


More information about the devel mailing list