iio: adc: imx8qxp: Switch to DEFINE_RUNTIME_DEV_PM_OPS and pm_ptr()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 21 Jun 2022 20:27:10 +0000 (21:27 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 18 Jul 2022 17:48:19 +0000 (18:48 +0100)
Switching to these newer macros allows the compiler to remove
the unused functions and struct dev_pm_ops if !CONFIG_PM without
the need to mark anything __maybe_unused.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Cai Huoqing <cai.huoqing@linux.dev>
Reviewed-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20220621202719.13644-28-jic23@kernel.org
drivers/iio/adc/imx8qxp-adc.c

index e8c9a69..e484467 100644 (file)
@@ -417,7 +417,7 @@ static int imx8qxp_adc_remove(struct platform_device *pdev)
        return 0;
 }
 
-static __maybe_unused int imx8qxp_adc_runtime_suspend(struct device *dev)
+static int imx8qxp_adc_runtime_suspend(struct device *dev)
 {
        struct iio_dev *indio_dev = dev_get_drvdata(dev);
        struct imx8qxp_adc *adc = iio_priv(indio_dev);
@@ -431,7 +431,7 @@ static __maybe_unused int imx8qxp_adc_runtime_suspend(struct device *dev)
        return 0;
 }
 
-static __maybe_unused int imx8qxp_adc_runtime_resume(struct device *dev)
+static int imx8qxp_adc_runtime_resume(struct device *dev)
 {
        struct iio_dev *indio_dev = dev_get_drvdata(dev);
        struct imx8qxp_adc *adc = iio_priv(indio_dev);
@@ -468,10 +468,9 @@ err_disable_reg:
        return ret;
 }
 
-static const struct dev_pm_ops imx8qxp_adc_pm_ops = {
-       SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume)
-       SET_RUNTIME_PM_OPS(imx8qxp_adc_runtime_suspend, imx8qxp_adc_runtime_resume, NULL)
-};
+static DEFINE_RUNTIME_DEV_PM_OPS(imx8qxp_adc_pm_ops,
+                                imx8qxp_adc_runtime_suspend,
+                                imx8qxp_adc_runtime_resume, NULL);
 
 static const struct of_device_id imx8qxp_adc_match[] = {
        { .compatible = "nxp,imx8qxp-adc", },
@@ -485,7 +484,7 @@ static struct platform_driver imx8qxp_adc_driver = {
        .driver         = {
                .name   = ADC_DRIVER_NAME,
                .of_match_table = imx8qxp_adc_match,
-               .pm     = &imx8qxp_adc_pm_ops,
+               .pm     = pm_ptr(&imx8qxp_adc_pm_ops),
        },
 };