Ah - forgot to make the function static, let me sent another of this patch. On 04/06/2021 02:31, kernel test robot wrote: > Hi Daniel, > > I love your patch! Perhaps something to improve: > > [auto build test WARNING on pm/linux-next] > [also build test WARNING on lee-mfd/for-mfd-next linus/master v5.13-rc4 next-20210603] > [cannot apply to gpio/for-next] > [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/Daniel-Scally/Introduce-intel_skl_int3472-module/20210604-064345 > base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next > config: x86_64-allyesconfig (attached as .config) > compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 > reproduce (this is a W=1 build): > # https://github.com/0day-ci/linux/commit/3edcad8c200f211063a35d125e9fd350a2efeb40 > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review Daniel-Scally/Introduce-intel_skl_int3472-module/20210604-064345 > git checkout 3edcad8c200f211063a35d125e9fd350a2efeb40 > # save the attached .config to linux build tree > make W=1 ARCH=x86_64 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All warnings (new ones prefixed by >>): > >>> drivers/platform/x86/intel-int3472/intel_skl_int3472_tps68470.c:76:5: warning: no previous prototype for 'skl_int3472_tps68470_calc_type' [-Wmissing-prototypes] > 76 | int skl_int3472_tps68470_calc_type(struct acpi_device *adev) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > vim +/skl_int3472_tps68470_calc_type +76 drivers/platform/x86/intel-int3472/intel_skl_int3472_tps68470.c > > 52 > 53 /** skl_int3472_tps68470_calc_type: Check what platform a device is designed for > 54 * @adev: A pointer to a &struct acpi_device > 55 * > 56 * Check CLDB buffer against the PMIC's adev. If present, then we check > 57 * the value of control_logic_type field and follow one of the > 58 * following scenarios: > 59 * > 60 * 1. No CLDB - likely ACPI tables designed for ChromeOS. We > 61 * create platform devices for the GPIOs and OpRegion drivers. > 62 * > 63 * 2. CLDB, with control_logic_type = 2 - probably ACPI tables > 64 * made for Windows 2-in-1 platforms. Register pdevs for GPIO, > 65 * Clock and Regulator drivers to bind to. > 66 * > 67 * 3. Any other value in control_logic_type, we should never have > 68 * gotten to this point; fail probe and return. > 69 * > 70 * Return: > 71 * * 1 Device intended for ChromeOS > 72 * * 2 Device intended for Windows > 73 * * -EINVAL Where @adev has an object named CLDB but it does not conform to > 74 * our expectations > 75 */ > > 76 int skl_int3472_tps68470_calc_type(struct acpi_device *adev) > 77 { > 78 struct int3472_cldb cldb = { 0 }; > 79 int ret; > 80 > 81 /* > 82 * A CLDB buffer that exists, but which does not match our expectations > 83 * should trigger an error so we don't blindly continue. > 84 */ > 85 ret = skl_int3472_fill_cldb(adev, &cldb); > 86 if (ret && ret != -ENODEV) > 87 return ret; > 88 > 89 if (ret) > 90 return DESIGNED_FOR_CHROMEOS; > 91 > 92 if (cldb.control_logic_type != 2) > 93 return -EINVAL; > 94 > 95 return DESIGNED_FOR_WINDOWS; > 96 } > 97 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx