Re: [PATCH v4 3/4] media: raspberrypi: Add support for RP1-CFE

From: Laurent Pinchart
Date: Thu Sep 05 2024 - 07:11:35 EST


On Thu, Sep 05, 2024 at 06:50:48PM +0800, kernel test robot wrote:
> Hi Tomi,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on 431c1646e1f86b949fa3685efc50b660a364c2b6]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Tomi-Valkeinen/media-uapi-Add-meta-formats-for-PiSP-FE-config-and-stats/20240904-192729
> base: 431c1646e1f86b949fa3685efc50b660a364c2b6
> patch link: https://lore.kernel.org/r/20240904-rp1-cfe-v4-3-f1b5b3d69c81%40ideasonboard.com
> patch subject: [PATCH v4 3/4] media: raspberrypi: Add support for RP1-CFE
> config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20240905/202409051822.ZzUGw3XQ-lkp@xxxxxxxxx/config)
> compiler: m68k-linux-gcc (GCC) 14.1.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240905/202409051822.ZzUGw3XQ-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/202409051822.ZzUGw3XQ-lkp@xxxxxxxxx/
>
> All warnings (new ones prefixed by >>):
>
> >> drivers/media/platform/raspberrypi/rp1-cfe/cfe.c:2445:12: warning: 'cfe_runtime_resume' defined but not used [-Wunused-function]
> 2445 | static int cfe_runtime_resume(struct device *dev)
> | ^~~~~~~~~~~~~~~~~~
> >> drivers/media/platform/raspberrypi/rp1-cfe/cfe.c:2435:12: warning: 'cfe_runtime_suspend' defined but not used [-Wunused-function]
> 2435 | static int cfe_runtime_suspend(struct device *dev)
> | ^~~~~~~~~~~~~~~~~~~
> vim +/cfe_runtime_resume +2445 drivers/media/platform/raspberrypi/rp1-cfe/cfe.c

The recommended way to fix this is to switch from SET_RUNTIME_PM_OPS()
to RUNTIME_PM_OPS() and use pm_ptr() to set .driver.pm. This being said,
the driver won't work on a kernel with !CONFIG_PM given how you
implemented probe() and remove().

The pisp-be driver suffered from the same issue and Jacopo fixed it in
the last version. You can have a look at implement something similar.

> 2434
> > 2435 static int cfe_runtime_suspend(struct device *dev)
> 2436 {
> 2437 struct platform_device *pdev = to_platform_device(dev);
> 2438 struct cfe_device *cfe = platform_get_drvdata(pdev);
> 2439
> 2440 clk_disable_unprepare(cfe->clk);
> 2441
> 2442 return 0;
> 2443 }
> 2444
> > 2445 static int cfe_runtime_resume(struct device *dev)
> 2446 {
> 2447 struct platform_device *pdev = to_platform_device(dev);
> 2448 struct cfe_device *cfe = platform_get_drvdata(pdev);
> 2449 int ret;
> 2450
> 2451 ret = clk_prepare_enable(cfe->clk);
> 2452 if (ret) {
> 2453 dev_err(dev, "Unable to enable clock\n");
> 2454 return ret;
> 2455 }
> 2456
> 2457 return 0;
> 2458 }
> 2459

--
Regards,

Laurent Pinchart