[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202210191943.Pn4IKb2u-lkp@intel.com>
Date: Wed, 19 Oct 2022 19:09:14 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: kbuild@...ts.01.org,
Rajat Khandelwal <rajat.khandelwal@...ux.intel.com>,
jic23@...nel.org, lars@...afoo.de
Cc: lkp@...el.com, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org, linux-iio@...r.kernel.org,
rajat.khandelwal@...el.com,
Rajat Khandelwal <rajat.khandelwal@...ux.intel.com>
Subject: [kbuild] Re: [PATCH v2] iio: temperature: Add driver support for
Maxim MAX30208
Hi Rajat,
https://git-scm.com/docs/git-format-patch#_base_tree_information ]
url: https://github.com/intel-lab-lkp/linux/commits/Rajat-Khandelwal/iio-temperature-Add-driver-support-for-Maxim-MAX30208/20221018-195706
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
patch link: https://lore.kernel.org/r/20221019115539.779804-1-rajat.khandelwal%40linux.intel.com
patch subject: [PATCH v2] iio: temperature: Add driver support for Maxim MAX30208
config: openrisc-randconfig-m041-20221019
compiler: or1k-linux-gcc (GCC) 12.1.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Reported-by: Dan Carpenter <dan.carpenter@...cle.com>
smatch warnings:
drivers/iio/temperature/max30208.c:161 max30208_update_temp() warn: inconsistent returns '&data->lock'.
vim +161 drivers/iio/temperature/max30208.c
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 108 static int max30208_update_temp(struct max30208_data *data)
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 109 {
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 110 u16 temp_raw = 0;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 111 s8 data_count;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 112 int ret;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 113
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 114 mutex_lock(&data->lock);
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 115
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 116 ret = max30208_request(data);
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 117 if (ret < 0)
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 118 return ret;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 119
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 120 ret = i2c_smbus_read_byte_data(data->client, MAX30208_FIFO_OVF_CNTR);
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 121 if (ret < 0) {
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 122 dev_err(&data->client->dev, "Error reading reg FIFO overflow counter\n");
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 123 return ret;
goto unlock;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 124 } else if (!ret) {
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 125 ret = i2c_smbus_read_byte_data(data->client,
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 126 MAX30208_FIFO_DATA_CNTR);
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 127 if (ret < 0) {
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 128 dev_err(&data->client->dev, "Error reading reg FIFO data counter\n");
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 129 return ret;
goto unlock;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 130 }
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 131 }
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 132
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 133 data_count = ret;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 134
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 135 /*
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 136 * Ideally, counter should decrease by 1 each time a word is read from FIFO.
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 137 * However, practically, the device behaves erroneously and counter sometimes
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 138 * decreases by more than 1. Hence, do not loop the counter until it becomes 0
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 139 * rather, use the exact counter value after each FIFO word is read.
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 140 * Return the last reading from FIFO as the most recently triggered one.
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 141 */
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 142 while (data_count) {
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 143 ret = i2c_smbus_read_word_swapped(data->client,
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 144 MAX30208_FIFO_DATA);
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 145 if (ret < 0) {
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 146 dev_err(&data->client->dev, "Error reading reg FIFO data\n");
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 147 return ret;
goto unlock;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 148 }
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 149
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 150 data_count = i2c_smbus_read_byte_data(data->client,
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 151 MAX30208_FIFO_DATA_CNTR);
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 152 if (data_count < 0) {
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 153 dev_err(&data->client->dev, "Error reading reg FIFO data counter\n");
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 154 return data_count;
goto unlock;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 155 }
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 156 }
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 157 temp_raw = ret;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 158
unlock:
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 159 mutex_unlock(&data->lock);
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 160
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 @161 return temp_raw;
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 162 }
b9d159ff5aa726 Rajat Khandelwal 2022-10-19 163
Powered by blists - more mailing lists