• Arnd Bergmann's avatar
    media: i2c: imx290: fix conditional function defintions · 7b50567b
    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>
    Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
    Reviewed-by: default avatarManivannan Sadhasivam <mani@kernel.org>
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    7b50567b
imx290.c 37.3 KB