diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-09-22 05:48:00 -0400 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2016-09-22 08:23:29 -0400 |
commit | 00f7f90c51dfc2403257e2c7410d453e72bf6a41 (patch) | |
tree | 1173c1be92f3026c3f7acff941bb6e23aa661d2a /drivers/rtc | |
parent | 473195f80f3940afc8a1461831d74f9a44bba538 (diff) |
rtc: cmos: avoid unused function warning
A bug fix for the ACPI side of this driver caused a harmless
build warning:
drivers/rtc/rtc-cmos.c:1115:13: error: 'cmos_check_acpi_rtc_status' defined but not used [-Werror=unused-function]
static void cmos_check_acpi_rtc_status(struct device *dev,
We can avoid the warning and simplify the driver at the same time
by removing the #ifdef for CONFIG_PM and rely on the SIMPLE_DEV_PM_OPS()
to set everything up correctly. cmos_resume() has to get marked
as __maybe_unused so we don't introduce another warning, and
the two variants of cmos_poweroff() can get merged into one using
an IS_ENABLED() check.
Fixes: 983bf1256edb ("rtc: cmos: Clear ACPI-driven alarms upon resume")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-cmos.c | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c index 2943a0d58a3a..dd3d59806ffa 100644 --- a/drivers/rtc/rtc-cmos.c +++ b/drivers/rtc/rtc-cmos.c | |||
@@ -848,8 +848,6 @@ static int cmos_aie_poweroff(struct device *dev) | |||
848 | return retval; | 848 | return retval; |
849 | } | 849 | } |
850 | 850 | ||
851 | #ifdef CONFIG_PM | ||
852 | |||
853 | static int cmos_suspend(struct device *dev) | 851 | static int cmos_suspend(struct device *dev) |
854 | { | 852 | { |
855 | struct cmos_rtc *cmos = dev_get_drvdata(dev); | 853 | struct cmos_rtc *cmos = dev_get_drvdata(dev); |
@@ -898,11 +896,12 @@ static int cmos_suspend(struct device *dev) | |||
898 | */ | 896 | */ |
899 | static inline int cmos_poweroff(struct device *dev) | 897 | static inline int cmos_poweroff(struct device *dev) |
900 | { | 898 | { |
899 | if (!IS_ENABLED(CONFIG_PM)) | ||
900 | return -ENOSYS; | ||
901 | |||
901 | return cmos_suspend(dev); | 902 | return cmos_suspend(dev); |
902 | } | 903 | } |
903 | 904 | ||
904 | #ifdef CONFIG_PM_SLEEP | ||
905 | |||
906 | static void cmos_check_wkalrm(struct device *dev) | 905 | static void cmos_check_wkalrm(struct device *dev) |
907 | { | 906 | { |
908 | struct cmos_rtc *cmos = dev_get_drvdata(dev); | 907 | struct cmos_rtc *cmos = dev_get_drvdata(dev); |
@@ -922,7 +921,7 @@ static void cmos_check_wkalrm(struct device *dev) | |||
922 | static void cmos_check_acpi_rtc_status(struct device *dev, | 921 | static void cmos_check_acpi_rtc_status(struct device *dev, |
923 | unsigned char *rtc_control); | 922 | unsigned char *rtc_control); |
924 | 923 | ||
925 | static int cmos_resume(struct device *dev) | 924 | static int __maybe_unused cmos_resume(struct device *dev) |
926 | { | 925 | { |
927 | struct cmos_rtc *cmos = dev_get_drvdata(dev); | 926 | struct cmos_rtc *cmos = dev_get_drvdata(dev); |
928 | unsigned char tmp; | 927 | unsigned char tmp; |
@@ -975,16 +974,6 @@ static int cmos_resume(struct device *dev) | |||
975 | return 0; | 974 | return 0; |
976 | } | 975 | } |
977 | 976 | ||
978 | #endif | ||
979 | #else | ||
980 | |||
981 | static inline int cmos_poweroff(struct device *dev) | ||
982 | { | ||
983 | return -ENOSYS; | ||
984 | } | ||
985 | |||
986 | #endif | ||
987 | |||
988 | static SIMPLE_DEV_PM_OPS(cmos_pm_ops, cmos_suspend, cmos_resume); | 977 | static SIMPLE_DEV_PM_OPS(cmos_pm_ops, cmos_suspend, cmos_resume); |
989 | 978 | ||
990 | /*----------------------------------------------------------------*/ | 979 | /*----------------------------------------------------------------*/ |
@@ -1278,9 +1267,7 @@ static struct platform_driver cmos_platform_driver = { | |||
1278 | .shutdown = cmos_platform_shutdown, | 1267 | .shutdown = cmos_platform_shutdown, |
1279 | .driver = { | 1268 | .driver = { |
1280 | .name = driver_name, | 1269 | .name = driver_name, |
1281 | #ifdef CONFIG_PM | ||
1282 | .pm = &cmos_pm_ops, | 1270 | .pm = &cmos_pm_ops, |
1283 | #endif | ||
1284 | .of_match_table = of_match_ptr(of_cmos_match), | 1271 | .of_match_table = of_match_ptr(of_cmos_match), |
1285 | } | 1272 | } |
1286 | }; | 1273 | }; |