mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
synced 2025-09-24 01:16:47 +10:00
RTC fixes for 5.1
- Various alarm fixes for da9063, cros-ec and sh - sd3078 manufacturer name fix as this was introduced this cycle -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEXx9Viay1+e7J/aM4AyWl4gNJNJIFAlyoiekACgkQAyWl4gNJ NJLH4A/+Pzh9Af8TcOmE7jbvTS0ulbVi1E5eW1tyWZ3JZibOh5XFh/Sjln50l0sM B8zi4xeib5iFMEaLwO0MIaYp8LA7bWK2mZcKwpttSUuWSXK7v4Y2SjpkNOJW+ZzM ZNkR/Lp3ywGOTFTkQBCTrd5DFlEZe8pRf7MPYO38hjPgxJFzAp5HOblMQoA8PZGj ghro0R47Epz6uR1ltOSH1uE/kM5Ukx1vQ2YtHWPUXNsyevxvYsGCRlXfOXpaXZNj dLKgjpO6au2pnJ9xHU1tjxwRmlkVKjcmMyfvo6lwi5eXNw9gtXvZN5MRu7OwGU+M Oai+ayynYc3ZuQ+DzPa5YQcVLFsJdznjZxnqB1PduoOGFXIB16MqXRkD+LQ00Bxi NAQoWhdPMuXcng2Vhe8R2Rb4RGGJVKlnEHf9rvFbWzpNyO/whw8MPQQD9V62GPxZ 6ww0SPEQzyXRNQHdd+hu7IUeUi0k8PtBr8cWCs0ufvQmxGhwYWr431VW/VvIVTrW CR3hqYgwVmHBF5A4GXK0dC4C3auzWBLN14HsN3eSmzPXI+ipEPjUPU1d6pOSuckv Pv2gyUgls5xhPhR6GQa6wcf0SWqmPQ16cp7hjOH5RlMg2BzL+Bbeg6L+x5UoIzx/ 3Rh3ahTTHMZ7YzoqvVARwCl/qx0jTRl0u9nbRd22tvsxXmjppbo= =s2X4 -----END PGP SIGNATURE----- Merge tag 'rtc-5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux Pull RTC fixes from Alexandre Belloni: - Various alarm fixes for da9063, cros-ec and sh - sd3078 manufacturer name fix as this was introduced this cycle * tag 'rtc-5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: rtc: da9063: set uie_unsupported when relevant rtc: sd3078: fix manufacturer name rtc: sh: Fix invalid alarm warning for non-enabled alarm rtc: cros-ec: Fail suspend/resume if wake IRQ can't be configured
This commit is contained in:
commit
be76865df5
@ -667,9 +667,9 @@ config RTC_DRV_S5M
|
|||||||
will be called rtc-s5m.
|
will be called rtc-s5m.
|
||||||
|
|
||||||
config RTC_DRV_SD3078
|
config RTC_DRV_SD3078
|
||||||
tristate "ZXW Crystal SD3078"
|
tristate "ZXW Shenzhen whwave SD3078"
|
||||||
help
|
help
|
||||||
If you say yes here you get support for the ZXW Crystal
|
If you say yes here you get support for the ZXW Shenzhen whwave
|
||||||
SD3078 RTC chips.
|
SD3078 RTC chips.
|
||||||
|
|
||||||
This driver can also be built as a module. If so, the module
|
This driver can also be built as a module. If so, the module
|
||||||
|
@ -298,7 +298,7 @@ static int cros_ec_rtc_suspend(struct device *dev)
|
|||||||
struct cros_ec_rtc *cros_ec_rtc = dev_get_drvdata(&pdev->dev);
|
struct cros_ec_rtc *cros_ec_rtc = dev_get_drvdata(&pdev->dev);
|
||||||
|
|
||||||
if (device_may_wakeup(dev))
|
if (device_may_wakeup(dev))
|
||||||
enable_irq_wake(cros_ec_rtc->cros_ec->irq);
|
return enable_irq_wake(cros_ec_rtc->cros_ec->irq);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -309,7 +309,7 @@ static int cros_ec_rtc_resume(struct device *dev)
|
|||||||
struct cros_ec_rtc *cros_ec_rtc = dev_get_drvdata(&pdev->dev);
|
struct cros_ec_rtc *cros_ec_rtc = dev_get_drvdata(&pdev->dev);
|
||||||
|
|
||||||
if (device_may_wakeup(dev))
|
if (device_may_wakeup(dev))
|
||||||
disable_irq_wake(cros_ec_rtc->cros_ec->irq);
|
return disable_irq_wake(cros_ec_rtc->cros_ec->irq);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -480,6 +480,13 @@ static int da9063_rtc_probe(struct platform_device *pdev)
|
|||||||
da9063_data_to_tm(data, &rtc->alarm_time, rtc);
|
da9063_data_to_tm(data, &rtc->alarm_time, rtc);
|
||||||
rtc->rtc_sync = false;
|
rtc->rtc_sync = false;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO: some models have alarms on a minute boundary but still support
|
||||||
|
* real hardware interrupts. Add this once the core supports it.
|
||||||
|
*/
|
||||||
|
if (config->rtc_data_start != RTC_SEC)
|
||||||
|
rtc->rtc_dev->uie_unsupported = 1;
|
||||||
|
|
||||||
irq_alarm = platform_get_irq_byname(pdev, "ALARM");
|
irq_alarm = platform_get_irq_byname(pdev, "ALARM");
|
||||||
ret = devm_request_threaded_irq(&pdev->dev, irq_alarm, NULL,
|
ret = devm_request_threaded_irq(&pdev->dev, irq_alarm, NULL,
|
||||||
da9063_alarm_event,
|
da9063_alarm_event,
|
||||||
|
@ -374,7 +374,7 @@ static int sh_rtc_set_time(struct device *dev, struct rtc_time *tm)
|
|||||||
static inline int sh_rtc_read_alarm_value(struct sh_rtc *rtc, int reg_off)
|
static inline int sh_rtc_read_alarm_value(struct sh_rtc *rtc, int reg_off)
|
||||||
{
|
{
|
||||||
unsigned int byte;
|
unsigned int byte;
|
||||||
int value = 0xff; /* return 0xff for ignored values */
|
int value = -1; /* return -1 for ignored values */
|
||||||
|
|
||||||
byte = readb(rtc->regbase + reg_off);
|
byte = readb(rtc->regbase + reg_off);
|
||||||
if (byte & AR_ENB) {
|
if (byte & AR_ENB) {
|
||||||
|
Loading…
Reference in New Issue
Block a user