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

kernel test robot lkp at intel.com
Fri May 5 14:20:53 PDT 2023


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@intel.com/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 at intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202305060517.oC3TTnp4-lkp@intel.com/

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



More information about the linux-arm-kernel mailing list