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