Re: [PATCH v2 3/8] clk: imx: add driver for imx8ulp's sim lpav

kernel test robot
2025-10-18T04:15:36Z

Hi Laurentiu,

kernel test robot noticed the following build errors:

[auto build test ERROR on pza/reset/next]
[also build test ERROR on abelvesa/clk/imx abelvesa/for-next linus/master v6.18-rc1 next-20251017]
[cannot apply to pza/imx-drm/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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Laurentiu-Mihalcea/reset-imx8mp-audiomix-Fix-bad-mask-values/20251017-192620
base: https://git.pengutronix.de/git/pza/linux reset/next
patch link: https://lore.kernel.org/r/20251017112025.11997-4-laurentiumihalcea111%40gmail.com
patch subject: [PATCH v2 3/8] clk: imx: add driver for imx8ulp's sim lpav
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20251018/202510181121.D3XVfMFh-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251018/202510181121.D3XVfMFh-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510181121.D3XVfMFh-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/clk/imx/clk-imx8ulp-sim-lpav.c:52:2: error: call to undeclared function 'kfree'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
52 | kfree(adev);
| ^
>> drivers/clk/imx/clk-imx8ulp-sim-lpav.c:65:32: error: use of undeclared identifier '__free_kfree'; did you mean '__free_pages'?
65 | struct auxiliary_device *adev __free(kfree) = NULL;
| ^
include/linux/cleanup.h:213:33: note: expanded from macro '__free'
213 | #define __free(_name) __cleanup(__free_##_name)
| ^
<scratch space>:30:1: note: expanded from here
30 | __free_kfree
| ^
include/linux/gfp.h:381:13: note: '__free_pages' declared here
381 | extern void __free_pages(struct page *page, unsigned int order);
| ^
>> drivers/clk/imx/clk-imx8ulp-sim-lpav.c:65:32: error: 'cleanup' function '__free_pages' must take 1 parameter
65 | struct auxiliary_device *adev __free(kfree) = NULL;
| ^
include/linux/cleanup.h:213:33: note: expanded from macro '__free'
213 | #define __free(_name) __cleanup(__free_##_name)
| ^
<scratch space>:30:1: note: expanded from here
30 | __free_kfree
| ^
>> drivers/clk/imx/clk-imx8ulp-sim-lpav.c:68:9: error: call to undeclared function 'kzalloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
68 | adev = kzalloc(sizeof(*adev), GFP_KERNEL);
| ^
>> drivers/clk/imx/clk-imx8ulp-sim-lpav.c:68:7: error: incompatible integer to pointer conversion assigning to 'struct auxiliary_device *' from 'int' [-Wint-conversion]
68 | adev = kzalloc(sizeof(*adev), GFP_KERNEL);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 errors generated.

vim +/kfree +52 drivers/clk/imx/clk-imx8ulp-sim-lpav.c

46
47 #ifdef CONFIG_RESET_CONTROLLER
48 static void clk_imx8ulp_sim_lpav_aux_reset_release(struct device *dev)
49 {
50 struct auxiliary_device *adev = to_auxiliary_dev(dev);
51
> 52 kfree(adev);
53 }
54
55 static void clk_imx8ulp_sim_lpav_unregister_aux_reset(void *data)
56 {
57 struct auxiliary_device *adev = data;
58
59 auxiliary_device_delete(adev);
60 auxiliary_device_uninit(adev);
61 }
62
63 static int clk_imx8ulp_sim_lpav_register_aux_reset(struct platform_device *pdev)
64 {
> 65 struct auxiliary_device *adev __free(kfree) = NULL;
66 int ret;
67
> 68 adev = kzalloc(sizeof(*adev), GFP_KERNEL);
69 if (!adev)
70 return -ENOMEM;
71
72 adev->name = "reset";
73 adev->dev.parent = &pdev->dev;
74 adev->dev.release = clk_imx8ulp_sim_lpav_aux_reset_release;
75
76 ret = auxiliary_device_init(adev);
77 if (ret) {
78 dev_err(&pdev->dev, "failed to initialize aux dev\n");
79 return ret;
80 }
81
82 ret = auxiliary_device_add(adev);
83 if (ret) {
84 auxiliary_device_uninit(adev);
85 dev_err(&pdev->dev, "failed to add aux dev\n");
86 return ret;
87 }
88
89 return devm_add_action_or_reset(&pdev->dev,
90 clk_imx8ulp_sim_lpav_unregister_aux_reset,
91 no_free_ptr(adev));
92 }
93 #else
94 static int clk_imx8ulp_sim_lpav_register_aux_reset(struct platform_device *pdev)
95 {
96 return 0;
97 }
98 #endif /* CONFIG_RESET_CONTROLLER */
99

--
0-DAY CI Kernel Test Service