From: kernel test robot <lkp@intel.com>
To: Jan Kiszka <jan.kiszka@siemens.com>,
Jonathan Cameron <jic23@kernel.org>,
linux-iio@vger.kernel.org, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org,
Bao Cheng Su <baocheng.su@siemens.com>,
Chao Zeng <chao.zeng@siemens.com>,
devicetree@vger.kernel.org
Subject: Re: [PATCH 3/3] iio: proximity: Add support for everlight pmd16d17 sensor
Date: Thu, 15 Aug 2024 13:51:06 +0800 [thread overview]
Message-ID: <202408151352.u8v6HOIQ-lkp@intel.com> (raw)
In-Reply-To: <abb0c1c0724be733138276f638e43e98784bd191.1723527641.git.jan.kiszka@siemens.com>
Hi Jan,
kernel test robot noticed the following build warnings:
[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on robh/for-next linus/master v6.11-rc3 next-20240814]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Jan-Kiszka/dt-bindings-vendor-prefixes-Add-EVERLIGHT/20240814-234801
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
patch link: https://lore.kernel.org/r/abb0c1c0724be733138276f638e43e98784bd191.1723527641.git.jan.kiszka%40siemens.com
patch subject: [PATCH 3/3] iio: proximity: Add support for everlight pmd16d17 sensor
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20240815/202408151352.u8v6HOIQ-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240815/202408151352.u8v6HOIQ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408151352.u8v6HOIQ-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/iio/proximity/pm16d17.c:142:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
142 | default:
| ^
drivers/iio/proximity/pm16d17.c:142:2: note: insert 'break;' to avoid fall-through
142 | default:
| ^
| break;
>> drivers/iio/proximity/pm16d17.c:187:3: warning: variable 'op_mode_setting_val' is uninitialized when used here [-Wuninitialized]
187 | op_mode_setting_val |= (ilog2(pgain) << 6) & PS_GAIN_MASK;
| ^~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/pm16d17.c:159:29: note: initialize the variable 'op_mode_setting_val' to silence this warning
159 | uint8_t op_mode_setting_val;
| ^
| = '\0'
2 warnings generated.
vim +142 drivers/iio/proximity/pm16d17.c
109
110 static int pm16d17_read_raw(struct iio_dev *indio_dev,
111 struct iio_chan_spec const *chan,
112 int *val, int *val2, long mask)
113 {
114 struct pm16d17_data *data = iio_priv(indio_dev);
115 unsigned int ps_data_l;
116 unsigned int ps_data_h;
117 uint16_t ps_data;
118 int ret = -EINVAL;
119
120 switch (mask) {
121 case IIO_CHAN_INFO_RAW:
122 switch (chan->type) {
123 case IIO_PROXIMITY:
124 ret = pm16d17_read_reg(data, PM16D17_PS_DATA_L, &ps_data_l);
125 if (ret < 0)
126 return ret;
127
128 ret = pm16d17_read_reg(data, PM16D17_PS_DATA_H, &ps_data_h);
129 if (ret < 0)
130 return ret;
131
132 ps_data = (ps_data_h << 8) | ps_data_l;
133
134 dev_dbg(&data->client->dev, "PS data: %x\n", ps_data);
135
136 *val = ps_data;
137 ret = IIO_VAL_INT;
138 break;
139 default:
140 break;
141 }
> 142 default:
143 break;
144 }
145
146 return ret;
147 }
148
149 static const struct iio_info pm16d17_info = {
150 .read_raw = pm16d17_read_raw,
151 };
152
153 static int pm16d17_chip_init(struct pm16d17_data *data)
154 {
155 struct i2c_client *client = data->client;
156 struct device_node *np = client->dev.of_node;
157 const char *conv_time = NULL;
158 const char *wait_time = NULL;
159 uint8_t op_mode_setting_val;
160 uint32_t ps_offset_cancel;
161 uint8_t offset_lsb;
162 uint8_t offset_msb;
163 uint32_t pulse_count;
164 uint32_t pgain;
165 unsigned int val;
166 int ret;
167
168 ret = pm16d17_read_reg(data, PM16D17_DEV_ID, &val);
169
170 if (ret < 0 || (val != DEVICE_ID)) {
171 dev_err(&client->dev, "Invalid chip id 0x%04x\n", val);
172 return -ENODEV;
173 }
174
175 dev_dbg(&client->dev, "Detected PM16D17 with chip id: 0x%04x\n", val);
176
177 ret = pm16d17_write_reg(data, PM16D17_OP_MODE, ENABLE_PS_FUNCTION);
178 if (ret < 0)
179 return ret;
180
181 of_property_read_u32(np, "ps-gain", &pgain);
182 switch (pgain) {
183 case 1:
184 case 2:
185 case 4:
186 case 8:
> 187 op_mode_setting_val |= (ilog2(pgain) << 6) & PS_GAIN_MASK;
188 break;
189 default:
190 break;
191 }
192
193 of_property_read_string(np, "ps-itime", &conv_time);
194 if (strcmp(conv_time, "0.4") == 0)
195 op_mode_setting_val |= PITIME_0_POINT_4_MS & PS_ITIME_MASK;
196 else if (strcmp(conv_time, "0.8") == 0)
197 op_mode_setting_val |= PITIME_0_POINT_8_MS & PS_ITIME_MASK;
198 else if (strcmp(conv_time, "1.6") == 0)
199 op_mode_setting_val |= PITIME_1_POINT_6_MS & PS_ITIME_MASK;
200 else if (strcmp(conv_time, "3.2") == 0)
201 op_mode_setting_val |= PITIME_3_POINT_2_MS & PS_ITIME_MASK;
202 else if (strcmp(conv_time, "6.3") == 0)
203 op_mode_setting_val |= PITIME_6_POINT_3_MS & PS_ITIME_MASK;
204 else if (strcmp(conv_time, "12.6") == 0)
205 op_mode_setting_val |= PITIME_12_POINT_6_MS & PS_ITIME_MASK;
206 else if (strcmp(conv_time, "25.2") == 0)
207 op_mode_setting_val |= PITIME_25_POINT_2_MS & PS_ITIME_MASK;
208 else {
209 dev_info(&client->dev, "Using default ps itime value\n");
210 op_mode_setting_val |= PITIME_0_POINT_4_MS & PS_ITIME_MASK;
211 }
212
213 of_property_read_string(np, "ps-wtime", &wait_time);
214 if (strcmp(wait_time, "12.5") == 0)
215 op_mode_setting_val |= PWTIME_12_POINT_5_MS & PS_WTIME_MASK;
216 else if (strcmp(wait_time, "25") == 0)
217 op_mode_setting_val |= PWTIME_25_MS & PS_WTIME_MASK;
218 else if (strcmp(wait_time, "50") == 0)
219 op_mode_setting_val |= PWTIME_50_MS & PS_WTIME_MASK;
220 else if (strcmp(wait_time, "100") == 0)
221 op_mode_setting_val |= PWTIME_100_MS & PS_WTIME_MASK;
222 else if (strcmp(wait_time, "200") == 0)
223 op_mode_setting_val |= PWTIME_200_MS & PS_WTIME_MASK;
224 else if (strcmp(wait_time, "400") == 0)
225 op_mode_setting_val |= PWTIME_400_MS & PS_WTIME_MASK;
226 else if (strcmp(wait_time, "800") == 0)
227 op_mode_setting_val |= PWTIME_800_MS & PS_WTIME_MASK;
228 else if (strcmp(wait_time, "1600") == 0)
229 op_mode_setting_val |= PWTIME_1600_MS & PS_WTIME_MASK;
230 else {
231 dev_info(&client->dev, "Using default ps wtime value\n");
232 op_mode_setting_val |= PWTIME_12_POINT_5_MS & PS_WTIME_MASK;
233 }
234
235 ret = pm16d17_write_reg(data, PM16D17_PS_SETTING, op_mode_setting_val);
236 if (ret < 0)
237 return ret;
238
239 of_property_read_u32(np, "ps-ir-led-pulse-count", &pulse_count);
240 if (pulse_count > 256)
241 pulse_count = 256;
242 ret = pm16d17_write_reg(data, PM16D17_VCSEL_DRIVE_PULSE, pulse_count - 1);
243 if (ret < 0)
244 return ret;
245
246 of_property_read_u32(np, "ps-offset-cancel", &ps_offset_cancel);
247 if (ps_offset_cancel != 0) {
248 ret = pm16d17_write_reg(data, PM16D17_PS_SETTING2, OFFSET_CANCEL_ENABLE);
249 if (ret < 0)
250 return ret;
251
252 offset_lsb = ps_offset_cancel & PS_OFFSET_CANCEL_LSB_MASK;
253 offset_msb = (ps_offset_cancel & PS_OFFSET_CANCEL_MSB_MASK) >> 8;
254
255 ret = pm16d17_write_reg(data, PM16D17_PS_OFFSET_CANCEL_L, offset_lsb);
256 if (ret < 0)
257 return ret;
258
259 ret = pm16d17_write_reg(data, PM16D17_PS_OFFSET_CANCEL_H, offset_msb);
260 if (ret < 0)
261 return ret;
262 }
263
264 return 0;
265 }
266
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-08-15 5:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-13 5:40 [PATCH 0/3] iio: Add Everlight PM16D17 proximity sensor Jan Kiszka
2024-08-13 5:40 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add EVERLIGHT Jan Kiszka
2024-08-13 15:41 ` Conor Dooley
2024-08-13 15:46 ` Krzysztof Kozlowski
2024-08-13 15:53 ` Conor Dooley
2024-08-13 5:40 ` [PATCH 2/3] dt-bindings: iio: Add everlight pm16d17 binding Jan Kiszka
2024-08-13 15:52 ` Conor Dooley
2024-08-16 1:48 ` Li, Hua Qian
2024-08-16 16:11 ` Conor Dooley
2024-08-17 13:42 ` Jonathan Cameron
2024-08-26 7:12 ` Li, Hua Qian
2024-08-26 9:49 ` Jonathan Cameron
2024-08-14 19:10 ` Jonathan Cameron
2024-08-15 8:13 ` Jan Kiszka
2024-08-13 5:40 ` [PATCH 3/3] iio: proximity: Add support for everlight pmd16d17 sensor Jan Kiszka
2024-08-15 5:51 ` kernel test robot [this message]
2024-08-15 21:54 ` kernel test robot
2024-08-17 14:02 ` Jonathan Cameron
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=202408151352.u8v6HOIQ-lkp@intel.com \
--to=lkp@intel.com \
--cc=baocheng.su@siemens.com \
--cc=chao.zeng@siemens.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jan.kiszka@siemens.com \
--cc=jic23@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=robh@kernel.org \
/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.