lkml.org 
[lkml]   [2022]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    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@intel.com>
    | Reported-by: Dan Carpenter <dan.carpenter@oracle.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

    \
     
     \ /
      Last update: 2022-10-19 18:11    [W:3.687 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site