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

From: kernel test robot
Date: Thu Jun 03 2021 - 21:31:44 EST


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

Attachment: .config.gz
Description: application/gzip