Hi Al, I love your patch! Perhaps something to improve: [auto build test WARNING on usb/usb-testing] [also build test WARNING on linus/master linux/master v5.9 next-20201012] [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] url: https://github.com/0day-ci/linux/commits/Al-Cooper/usb-Add-driver-for-USB-signal-re-mapper/20201013-040257 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing config: arm64-randconfig-r032-20201012 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 9e72d3eaf38f217698f72cb8fdc969a6e72dad3a) 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 # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://github.com/0day-ci/linux/commit/96c8d52dbcdf6606c03aa54bcb5aece99b9328de git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Al-Cooper/usb-Add-driver-for-USB-signal-re-mapper/20201013-040257 git checkout 96c8d52dbcdf6606c03aa54bcb5aece99b9328de # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/usb/misc/brcmstb-usb-pinmap.c:219:6: warning: no previous prototype for function 'sync_all_pins' [-Wmissing-prototypes] void sync_all_pins(struct brcmstb_usb_pinmap_data *pdata) ^ drivers/usb/misc/brcmstb-usb-pinmap.c:219:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void sync_all_pins(struct brcmstb_usb_pinmap_data *pdata) ^ static 1 warning generated. vim +/sync_all_pins +219 drivers/usb/misc/brcmstb-usb-pinmap.c 218 > 219 void sync_all_pins(struct brcmstb_usb_pinmap_data *pdata) 220 { 221 struct out_pin *pout; 222 struct in_pin *pin; 223 int val; 224 int x; 225 226 /* 227 * Enable the override, clear any changed condition and 228 * propagate the state to the GPIO for all out pins. 229 */ 230 pout = pdata->out_pins; 231 for (x = 0; x < pdata->out_count; x++) { 232 pinmap_set(pdata->regs, pout->enable_mask); 233 pinmap_set(pdata->regs, pout->clr_changed_mask); 234 pinmap_unset(pdata->regs, pout->clr_changed_mask); 235 val = readl(pdata->regs) & pout->value_mask; 236 gpiod_set_value(pout->gpiod, val ? 1 : 0); 237 pout++; 238 } 239 240 /* sync and enable all in pins. */ 241 pin = pdata->in_pins; 242 for (x = 0; x < pdata->in_count; x++) { 243 sync_in_pin(pin); 244 pinmap_set(pdata->regs, pin->enable_mask); 245 pin++; 246 } 247 } 248 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org