Re: [PATCH v5 5/6] platform/x86: Add intel_skl_int3472 driver

From: Daniel Scally
Date: Sat Jun 05 2021 - 19:09:07 EST


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