Re: [PATCH 1/2] iio: humidity: Add support for Sensirion SHTC3 sensor

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

 



Hi Gilles,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on robh/for-next v5.16-rc1 next-20211112]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Gilles-Talis/iio-humidity-add-support-for-Sensirion-SHTC3/20211114-212618
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: s390-randconfig-s032-20211115 (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://github.com/0day-ci/linux/commit/d4b528fcce840650354227c99ec7f6c0bdd076b0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Gilles-Talis/iio-humidity-add-support-for-Sensirion-SHTC3/20211114-212618
        git checkout d4b528fcce840650354227c99ec7f6c0bdd076b0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=s390 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
>> drivers/iio/humidity/shtc3.c:88:39: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned short [addressable] [usertype] cmd @@     got restricted __be16 @@
   drivers/iio/humidity/shtc3.c:88:39: sparse:     expected unsigned short [addressable] [usertype] cmd
   drivers/iio/humidity/shtc3.c:88:39: sparse:     got restricted __be16
>> drivers/iio/humidity/shtc3.c:88:56: sparse: sparse: Using plain integer as NULL pointer
   drivers/iio/humidity/shtc3.c:93:36: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned short [addressable] [usertype] cmd @@     got restricted __be16 @@
   drivers/iio/humidity/shtc3.c:93:36: sparse:     expected unsigned short [addressable] [usertype] cmd
   drivers/iio/humidity/shtc3.c:93:36: sparse:     got restricted __be16
   drivers/iio/humidity/shtc3.c:93:54: sparse: sparse: Using plain integer as NULL pointer
>> drivers/iio/humidity/shtc3.c:122:13: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] cmd @@     got restricted __be16 @@
   drivers/iio/humidity/shtc3.c:122:13: sparse:     expected unsigned short [usertype] cmd
   drivers/iio/humidity/shtc3.c:122:13: sparse:     got restricted __be16
   drivers/iio/humidity/shtc3.c:189:38: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned short [addressable] [usertype] cmd @@     got restricted __be16 @@
   drivers/iio/humidity/shtc3.c:189:38: sparse:     expected unsigned short [addressable] [usertype] cmd
   drivers/iio/humidity/shtc3.c:189:38: sparse:     got restricted __be16
   drivers/iio/humidity/shtc3.c:204:38: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned short [addressable] [usertype] cmd @@     got restricted __be16 @@
   drivers/iio/humidity/shtc3.c:204:38: sparse:     expected unsigned short [addressable] [usertype] cmd
   drivers/iio/humidity/shtc3.c:204:38: sparse:     got restricted __be16
   drivers/iio/humidity/shtc3.c:204:60: sparse: sparse: Using plain integer as NULL pointer

vim +88 drivers/iio/humidity/shtc3.c

    85	
    86	static int shtc3_sleep(struct i2c_client *client)
    87	{
  > 88		return shtc3_send_cmd(client, SHTC3_CMD_SLEEP, 0);
    89	}
    90	
    91	static int shtc3_wakeup(struct i2c_client *client)
    92	{
    93		if (shtc3_send_cmd(client, SHTC3_CMD_WAKEUP, 0) < 0)
    94			return -EIO;
    95	
    96		/* Wait for device to wake up */
    97		usleep_range(180, 240);
    98	
    99		return 0;
   100	}
   101	
   102	static int shtc3_read_channel(struct i2c_client *client, bool temp)
   103	{
   104		int ret;
   105		u16 cmd;
   106		u16 meas;
   107	
   108		ret = shtc3_wakeup(client);
   109		if (ret < 0)
   110			return ret;
   111	
   112		/*
   113		 * Sensor sends back measurement results after measurement command
   114		 * has been issued by the host.
   115		 * Sensor sends 3 bytes (2 bytes of data + 1 byte of CRC) for each
   116		 * channel sequentially
   117		 * The command issued by the host determines the channel for which
   118		 * the sensor will first send the data.
   119		 * We select the channel for which we need the results
   120		 * then only read back the 2 bytes corresponding to this channel.
   121		 */
 > 122		cmd = temp ? SHTC3_CMD_TEMP_MEAS_LP_CS : SHTC3_CMD_RH_MEAS_LP_CS;
   123		ret = shtc3_send_cmd(client, cmd, &meas);
   124		if (ret < 0)
   125			return ret;
   126	
   127		/* Go back to sleep */
   128		shtc3_sleep(client);
   129	
   130		return meas;
   131	}
   132	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux