• Arnd Bergmann's avatar
    media: i2c: imx290: fix conditional function definitions · b928db94
    Arnd Bergmann authored
    The runtime suspend/resume functions are only referenced from the
    dev_pm_ops, but they use the old SET_RUNTIME_PM_OPS() helper
    that requires a __maybe_unused annotation to avoid a warning:
    
    drivers/media/i2c/imx290.c:1082:12: error: unused function 'imx290_runtime_resume' [-Werror,-Wunused-function]
    static int imx290_runtime_resume(struct device *dev)
               ^
    drivers/media/i2c/imx290.c:1090:12: error: unused function 'imx290_runtime_suspend' [-Werror,-Wunused-function]
    static int imx290_runtime_suspend(struct device *dev)
               ^
    
    Convert this to the new RUNTIME_PM_OPS() helper that so this
    is not required. To improve this further, also use the pm_ptr()
    helper that lets the dev_pm_ops get dropped entirely when
    CONFIG_PM is disabled.
    
    A related mistake happened in the of_match_ptr() macro here, which
    like SET_RUNTIME_PM_OPS() requires the match table to be marked
    as __maybe_unused, though I could not reproduce building this without
    CONFIG_OF. Remove the of_match_ptr() here as there is no point in
    dropping the match table in configurations without CONFIG_OF.
    
    Fixes: 02852c01 ("media: i2c: imx290: Initialize runtime PM before subdev")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
    b928db94
imx290.c 37.3 KB