From: Jarkko Sakkinen <jarkko@kernel.org>
To: kernel test robot <lkp@intel.com>
Cc: Johannes Holland <johannes.holland@infineon.com>,
llvm@lists.linux.dev, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org
Subject: Re: [jarkko-tpmdd:master 3/3] drivers/char/tpm/tpm_tis_synquacer.c:89:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char')
Date: Thu, 14 Apr 2022 15:10:04 +0300 [thread overview]
Message-ID: <YlgPHOJG0B2jsERa@kernel.org> (raw)
In-Reply-To: <202204100151.9v5nSRu6-lkp@intel.com>
On Sun, Apr 10, 2022 at 01:33:01AM +0800, kernel test robot wrote:
> tree: git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git master
> head: b6e0cdb87bf37357489de1069d55bd59f008daeb
> commit: b6e0cdb87bf37357489de1069d55bd59f008daeb [3/3] tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops
> config: riscv-randconfig-r042-20220409 (https://download.01.org/0day-ci/archive/20220410/202204100151.9v5nSRu6-lkp@intel.com/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 256c6b0ba14e8a7ab6373b61b7193ea8c0a3651c)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install riscv cross compiling tool for clang build
> # apt-get install binutils-riscv64-linux-gnu
> # https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?id=b6e0cdb87bf37357489de1069d55bd59f008daeb
> git remote add jarkko-tpmdd git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
> git fetch --no-tags jarkko-tpmdd master
> git checkout b6e0cdb87bf37357489de1069d55bd59f008daeb
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/char/tpm/
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All warnings (new ones prefixed by >>):
>
> In file included from drivers/char/tpm/tpm_tis_synquacer.c:14:
> In file included from drivers/char/tpm/tpm.h:28:
> include/linux/tpm_eventlog.h:167:6: warning: variable 'mapping_size' set but not used [-Wunused-but-set-variable]
> int mapping_size;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:43:9: warning: unused variable 'result_le32' [-Wunused-variable]
> __le32 result_le32;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:45:6: warning: unused variable 'result32' [-Wunused-variable]
> u32 result32;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:42:9: warning: unused variable 'result_le16' [-Wunused-variable]
> __le16 result_le16;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:44:6: warning: unused variable 'result16' [-Wunused-variable]
> u16 result16;
> ^
> >> drivers/char/tpm/tpm_tis_synquacer.c:89:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[3], phy->iobase + addr + 3);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:90:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[2], phy->iobase + addr + 2);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:91:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[1], phy->iobase + addr + 1);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:92:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[0], phy->iobase + addr);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:73:9: warning: unused variable 'result_le32' [-Wunused-variable]
> __le32 result_le32;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:74:6: warning: unused variable 'result16' [-Wunused-variable]
> u16 result16;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:72:9: warning: unused variable 'result_le16' [-Wunused-variable]
> __le16 result_le16;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:75:6: warning: unused variable 'result32' [-Wunused-variable]
> u32 result32;
> ^
> 13 warnings generated.
>
>
> vim +89 drivers/char/tpm/tpm_tis_synquacer.c
>
> 66
> 67 static int tpm_tis_synquacer_write_bytes(struct tpm_tis_data *data, u32 addr,
> 68 u16 len, const u8 *value,
> 69 enum tpm_tis_io_mode io_mode)
> 70 {
> 71 struct tpm_tis_synquacer_phy *phy = to_tpm_tis_tcg_phy(data);
> 72 __le16 result_le16;
> 73 __le32 result_le32;
> 74 u16 result16;
> 75 u32 result32;
> 76
> 77 switch (io_mode) {
> 78 case TPM_TIS_PHYS_8:
> 79 while (len--)
> 80 iowrite8(*value++, phy->iobase + addr);
> 81 break;
> 82 case TPM_TIS_PHYS_16:
> 83 return -EINVAL;
> 84 case TPM_TIS_PHYS_32:
> 85 /*
> 86 * Due to the limitation of SPI controller on SynQuacer,
> 87 * 16/32 bits access must be done in byte-wise and descending order.
> 88 */
> > 89 iowrite8(&value[3], phy->iobase + addr + 3);
> 90 iowrite8(&value[2], phy->iobase + addr + 2);
> 91 iowrite8(&value[1], phy->iobase + addr + 1);
> 92 iowrite8(&value[0], phy->iobase + addr);
> 93 break;
> 94 }
> 95
> 96 return 0;
> 97 }
> 98
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
Johannes, can you fix the sparse issues, and send +1 version,
and I'll replace the patch currently in my tree with that?
BR, Jarkko
WARNING: multiple messages have this Message-ID (diff)
From: Jarkko Sakkinen <jarkko@kernel.org>
To: kbuild-all@lists.01.org
Subject: Re: [jarkko-tpmdd:master 3/3] drivers/char/tpm/tpm_tis_synquacer.c:89:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char')
Date: Thu, 14 Apr 2022 15:10:04 +0300 [thread overview]
Message-ID: <YlgPHOJG0B2jsERa@kernel.org> (raw)
In-Reply-To: <202204100151.9v5nSRu6-lkp@intel.com>
[-- Attachment #1: Type: text/plain, Size: 6730 bytes --]
On Sun, Apr 10, 2022 at 01:33:01AM +0800, kernel test robot wrote:
> tree: git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git master
> head: b6e0cdb87bf37357489de1069d55bd59f008daeb
> commit: b6e0cdb87bf37357489de1069d55bd59f008daeb [3/3] tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops
> config: riscv-randconfig-r042-20220409 (https://download.01.org/0day-ci/archive/20220410/202204100151.9v5nSRu6-lkp(a)intel.com/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 256c6b0ba14e8a7ab6373b61b7193ea8c0a3651c)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install riscv cross compiling tool for clang build
> # apt-get install binutils-riscv64-linux-gnu
> # https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?id=b6e0cdb87bf37357489de1069d55bd59f008daeb
> git remote add jarkko-tpmdd git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
> git fetch --no-tags jarkko-tpmdd master
> git checkout b6e0cdb87bf37357489de1069d55bd59f008daeb
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/char/tpm/
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All warnings (new ones prefixed by >>):
>
> In file included from drivers/char/tpm/tpm_tis_synquacer.c:14:
> In file included from drivers/char/tpm/tpm.h:28:
> include/linux/tpm_eventlog.h:167:6: warning: variable 'mapping_size' set but not used [-Wunused-but-set-variable]
> int mapping_size;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:43:9: warning: unused variable 'result_le32' [-Wunused-variable]
> __le32 result_le32;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:45:6: warning: unused variable 'result32' [-Wunused-variable]
> u32 result32;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:42:9: warning: unused variable 'result_le16' [-Wunused-variable]
> __le16 result_le16;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:44:6: warning: unused variable 'result16' [-Wunused-variable]
> u16 result16;
> ^
> >> drivers/char/tpm/tpm_tis_synquacer.c:89:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[3], phy->iobase + addr + 3);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:90:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[2], phy->iobase + addr + 2);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:91:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[1], phy->iobase + addr + 1);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:92:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') [-Wint-conversion]
> iowrite8(&value[0], phy->iobase + addr);
> ^~~~~~~~~
> include/asm-generic/io.h:744:32: note: passing argument to parameter 'value' here
> static inline void iowrite8(u8 value, volatile void __iomem *addr)
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:73:9: warning: unused variable 'result_le32' [-Wunused-variable]
> __le32 result_le32;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:74:6: warning: unused variable 'result16' [-Wunused-variable]
> u16 result16;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:72:9: warning: unused variable 'result_le16' [-Wunused-variable]
> __le16 result_le16;
> ^
> drivers/char/tpm/tpm_tis_synquacer.c:75:6: warning: unused variable 'result32' [-Wunused-variable]
> u32 result32;
> ^
> 13 warnings generated.
>
>
> vim +89 drivers/char/tpm/tpm_tis_synquacer.c
>
> 66
> 67 static int tpm_tis_synquacer_write_bytes(struct tpm_tis_data *data, u32 addr,
> 68 u16 len, const u8 *value,
> 69 enum tpm_tis_io_mode io_mode)
> 70 {
> 71 struct tpm_tis_synquacer_phy *phy = to_tpm_tis_tcg_phy(data);
> 72 __le16 result_le16;
> 73 __le32 result_le32;
> 74 u16 result16;
> 75 u32 result32;
> 76
> 77 switch (io_mode) {
> 78 case TPM_TIS_PHYS_8:
> 79 while (len--)
> 80 iowrite8(*value++, phy->iobase + addr);
> 81 break;
> 82 case TPM_TIS_PHYS_16:
> 83 return -EINVAL;
> 84 case TPM_TIS_PHYS_32:
> 85 /*
> 86 * Due to the limitation of SPI controller on SynQuacer,
> 87 * 16/32 bits access must be done in byte-wise and descending order.
> 88 */
> > 89 iowrite8(&value[3], phy->iobase + addr + 3);
> 90 iowrite8(&value[2], phy->iobase + addr + 2);
> 91 iowrite8(&value[1], phy->iobase + addr + 1);
> 92 iowrite8(&value[0], phy->iobase + addr);
> 93 break;
> 94 }
> 95
> 96 return 0;
> 97 }
> 98
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
Johannes, can you fix the sparse issues, and send +1 version,
and I'll replace the patch currently in my tree with that?
BR, Jarkko
next prev parent reply other threads:[~2022-04-14 12:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-09 17:33 [jarkko-tpmdd:master 3/3] drivers/char/tpm/tpm_tis_synquacer.c:89:12: warning: incompatible pointer to integer conversion passing 'const u8 *' (aka 'const unsigned char *') to parameter of type 'u8' (aka 'unsigned char') kernel test robot
2022-04-14 12:10 ` Jarkko Sakkinen [this message]
2022-04-14 12:10 ` Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YlgPHOJG0B2jsERa@kernel.org \
--to=jarkko@kernel.org \
--cc=johannes.holland@infineon.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.