Re: [PATCH] [REVIEW][PINCTRL]: Misc Fixes and refactor

From: kernel test robot
Date: Fri May 05 2023 - 17:21:37 EST


Hi Cristian,

kernel test robot noticed the following build warnings:



url: https://github.com/intel-lab-lkp/linux/commits/UPDATE-20230506-041158/Oleksii-Moisieiev/pinctrl-Implementation-of-the-generic-scmi-pinctrl-driver/20230426-222739
base: the 1th patch of https://lore.kernel.org/r/b4d60f3408f8fe839933fa3938ecdc9bfceb75d7.1682513390.git.oleksii_moisieiev%40epam.com
patch link: https://lore.kernel.org/r/20230505201012.3171817-1-cristian.marussi%40arm.com
patch subject: [PATCH] [REVIEW][PINCTRL]: Misc Fixes and refactor
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230506/202305060517.oC3TTnp4-lkp@xxxxxxxxx/config)
compiler: m68k-linux-gcc (GCC) 12.1.0
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
# https://github.com/intel-lab-lkp/linux/commit/c3e47504d3b8eac203b4ae3fc56c3791790dd88b
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review UPDATE-20230506-041158/Oleksii-Moisieiev/pinctrl-Implementation-of-the-generic-scmi-pinctrl-driver/20230426-222739
git checkout c3e47504d3b8eac203b4ae3fc56c3791790dd88b
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/firmware/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202305060517.oC3TTnp4-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/firmware/arm_scmi/pinctrl.c: In function 'scmi_pinctrl_attributes':
drivers/firmware/arm_scmi/pinctrl.c:227:45: error: passing argument 4 of '((const struct scmi_proto_helpers_ops *)ph->hops)->extended_name_get' from incompatible pointer type [-Werror=incompatible-pointer-types]
227 | (u32 *)&type, name,
| ^~~~~~~~~~~~
| |
| u32 * {aka unsigned int *}
drivers/firmware/arm_scmi/pinctrl.c:227:45: note: expected 'char *' but argument is of type 'u32 *' {aka 'unsigned int *'}
>> drivers/firmware/arm_scmi/pinctrl.c:227:59: warning: passing argument 5 of '((const struct scmi_proto_helpers_ops *)ph->hops)->extended_name_get' makes integer from pointer without a cast [-Wint-conversion]
227 | (u32 *)&type, name,
| ^~~~
| |
| char *
drivers/firmware/arm_scmi/pinctrl.c:227:59: note: expected 'size_t' {aka 'unsigned int'} but argument is of type 'char *'
drivers/firmware/arm_scmi/pinctrl.c:226:17: error: too many arguments to function '((const struct scmi_proto_helpers_ops *)ph->hops)->extended_name_get'
226 | ph->hops->extended_name_get(ph, PINCTRL_NAME_GET, selector,
| ^~
cc1: some warnings being treated as errors


vim +227 drivers/firmware/arm_scmi/pinctrl.c

182
183 static int scmi_pinctrl_attributes(const struct scmi_protocol_handle *ph,
184 enum scmi_pinctrl_selector_type type,
185 u32 selector, char *name,
186 unsigned int *n_elems)
187 {
188 int ret;
189 u32 attrs;
190 struct scmi_xfer *t;
191 struct scmi_msg_pinctrl_attributes *tx;
192 struct scmi_resp_pinctrl_attributes *rx;
193
194 if (!name)
195 return -EINVAL;
196
197 ret = scmi_pinctrl_validate_id(ph, selector, type);
198 if (ret)
199 return ret;
200
201 ret = ph->xops->xfer_get_init(ph, PINCTRL_ATTRIBUTES, sizeof(*tx),
202 sizeof(*rx), &t);
203 if (ret)
204 return ret;
205
206 tx = t->tx.buf;
207 rx = t->rx.buf;
208 tx->identifier = cpu_to_le32(selector);
209 tx->flags = cpu_to_le32(type);
210
211 ret = ph->xops->do_xfer(ph, t);
212 if (!ret) {
213 attrs = le32_to_cpu(rx->attributes);
214 if (n_elems)
215 *n_elems = NUM_ELEMS(attrs);
216 strscpy(name, rx->name, SCMI_SHORT_NAME_MAX_SIZE);
217 }
218
219 ph->xops->xfer_put(ph, t);
220
221 /*
222 * If supported overwrite short name with the extended one;
223 * on error just carry on and use already provided short name.
224 */
225 if (!ret && EXT_NAME_FLAG(attrs))
226 ph->hops->extended_name_get(ph, PINCTRL_NAME_GET, selector,
> 227 (u32 *)&type, name,
228 SCMI_MAX_STR_SIZE);
229 return ret;
230 }
231

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests