Re: [PATCH v8 02/22] platform/x86/dell: dell-pc: Create platform device

From: kernel test robot
Date: Sat Nov 30 2024 - 12:43:37 EST


Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 2ba9f676d0a2e408aef14d679984c26373bf37b7]

url: https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/ACPI-platform-profile-Add-a-name-member-to-handlers/20241130-221102
base: 2ba9f676d0a2e408aef14d679984c26373bf37b7
patch link: https://lore.kernel.org/r/20241130140454.455-3-mario.limonciello%40amd.com
patch subject: [PATCH v8 02/22] platform/x86/dell: dell-pc: Create platform device
config: i386-buildonly-randconfig-003-20241130 (https://download.01.org/0day-ci/archive/20241201/202412010129.zSeGQmOm-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241201/202412010129.zSeGQmOm-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412010129.zSeGQmOm-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/platform/x86/dell/dell-pc.c: In function 'thermal_init':
>> drivers/platform/x86/dell/dell-pc.c:252:32: warning: passing argument 1 of 'ERR_PTR' makes integer from pointer without a cast [-Wint-conversion]
252 | return ERR_PTR(platform_device);
| ^~~~~~~~~~~~~~~
| |
| struct platform_device *
In file included from include/linux/kernfs.h:9,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/dmi.h:6,
from drivers/platform/x86/dell/dell-pc.c:15:
include/linux/err.h:39:48: note: expected 'long int' but argument is of type 'struct platform_device *'
39 | static inline void * __must_check ERR_PTR(long error)
| ~~~~~^~~~~
>> drivers/platform/x86/dell/dell-pc.c:252:24: warning: returning 'void *' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion]
252 | return ERR_PTR(platform_device);
| ^~~~~~~~~~~~~~~~~~~~~~~~


vim +/ERR_PTR +252 drivers/platform/x86/dell/dell-pc.c

233
234 static int thermal_init(void)
235 {
236 int ret;
237 int supported_modes;
238
239 /* If thermal commands are not supported, exit without error */
240 if (!dell_smbios_class_is_supported(CLASS_INFO))
241 return 0;
242
243 /* If thermal modes are not supported, exit without error */
244 ret = thermal_get_supported_modes(&supported_modes);
245 if (ret < 0)
246 return ret;
247 if (!supported_modes)
248 return 0;
249
250 platform_device = platform_device_register_simple("dell-pc", PLATFORM_DEVID_NONE, NULL, 0);
251 if (IS_ERR(platform_device))
> 252 return ERR_PTR(platform_device);
253
254 thermal_handler = devm_kzalloc(&platform_device->dev, sizeof(*thermal_handler), GFP_KERNEL);
255 if (!thermal_handler) {
256 ret = -ENOMEM;
257 goto cleanup_platform_device;
258 }
259 thermal_handler->name = "dell-pc";
260 thermal_handler->profile_get = thermal_platform_profile_get;
261 thermal_handler->profile_set = thermal_platform_profile_set;
262
263 if (supported_modes & DELL_QUIET)
264 set_bit(PLATFORM_PROFILE_QUIET, thermal_handler->choices);
265 if (supported_modes & DELL_COOL_BOTTOM)
266 set_bit(PLATFORM_PROFILE_COOL, thermal_handler->choices);
267 if (supported_modes & DELL_BALANCED)
268 set_bit(PLATFORM_PROFILE_BALANCED, thermal_handler->choices);
269 if (supported_modes & DELL_PERFORMANCE)
270 set_bit(PLATFORM_PROFILE_PERFORMANCE, thermal_handler->choices);
271
272 /* Clean up if failed */
273 ret = platform_profile_register(thermal_handler);
274 if (ret)
275 goto cleanup_thermal_handler;
276
277 return 0;
278
279 cleanup_thermal_handler:
280 thermal_handler = NULL;
281
282 cleanup_platform_device:
283 platform_device_unregister(platform_device);
284
285 return ret;
286 }
287

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki