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>
This commit is contained in:
parent
473195f80f
commit
00f7f90c51
@ -848,8 +848,6 @@ static int cmos_aie_poweroff(struct device *dev)
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
|
||||||
|
|
||||||
static int cmos_suspend(struct device *dev)
|
static int cmos_suspend(struct device *dev)
|
||||||
{
|
{
|
||||||
struct cmos_rtc *cmos = dev_get_drvdata(dev);
|
struct cmos_rtc *cmos = dev_get_drvdata(dev);
|
||||||
@ -898,11 +896,12 @@ static int cmos_suspend(struct device *dev)
|
|||||||
*/
|
*/
|
||||||
static inline int cmos_poweroff(struct device *dev)
|
static inline int cmos_poweroff(struct device *dev)
|
||||||
{
|
{
|
||||||
|
if (!IS_ENABLED(CONFIG_PM))
|
||||||
|
return -ENOSYS;
|
||||||
|
|
||||||
return cmos_suspend(dev);
|
return cmos_suspend(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PM_SLEEP
|
|
||||||
|
|
||||||
static void cmos_check_wkalrm(struct device *dev)
|
static void cmos_check_wkalrm(struct device *dev)
|
||||||
{
|
{
|
||||||
struct cmos_rtc *cmos = dev_get_drvdata(dev);
|
struct cmos_rtc *cmos = dev_get_drvdata(dev);
|
||||||
@ -922,7 +921,7 @@ static void cmos_check_wkalrm(struct device *dev)
|
|||||||
static void cmos_check_acpi_rtc_status(struct device *dev,
|
static void cmos_check_acpi_rtc_status(struct device *dev,
|
||||||
unsigned char *rtc_control);
|
unsigned char *rtc_control);
|
||||||
|
|
||||||
static int cmos_resume(struct device *dev)
|
static int __maybe_unused cmos_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
struct cmos_rtc *cmos = dev_get_drvdata(dev);
|
struct cmos_rtc *cmos = dev_get_drvdata(dev);
|
||||||
unsigned char tmp;
|
unsigned char tmp;
|
||||||
@ -975,16 +974,6 @@ static int cmos_resume(struct device *dev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
|
|
||||||
static inline int cmos_poweroff(struct device *dev)
|
|
||||||
{
|
|
||||||
return -ENOSYS;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static SIMPLE_DEV_PM_OPS(cmos_pm_ops, cmos_suspend, cmos_resume);
|
static SIMPLE_DEV_PM_OPS(cmos_pm_ops, cmos_suspend, cmos_resume);
|
||||||
|
|
||||||
/*----------------------------------------------------------------*/
|
/*----------------------------------------------------------------*/
|
||||||
@ -1278,9 +1267,7 @@ static struct platform_driver cmos_platform_driver = {
|
|||||||
.shutdown = cmos_platform_shutdown,
|
.shutdown = cmos_platform_shutdown,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = driver_name,
|
.name = driver_name,
|
||||||
#ifdef CONFIG_PM
|
|
||||||
.pm = &cmos_pm_ops,
|
.pm = &cmos_pm_ops,
|
||||||
#endif
|
|
||||||
.of_match_table = of_match_ptr(of_cmos_match),
|
.of_match_table = of_match_ptr(of_cmos_match),
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user