mirror of
https://github.com/torvalds/linux
synced 2024-10-04 10:26:40 +00:00
Immutable branch between MFD and RTC due for the v4.20 merge window
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAluX4gMACgkQUa+KL4f8 d2HwYRAAsGLUUQZNVErTzDapLBEKkSCJxTBdcCLhfG4/vo75XAsVqepVpsMXtSQV j+OdvZYDI6VNz2F9+9DU7tElOQdEwbHUq3BT9176LIgFYYpwxgu0Zly295to6zAd IFdSo0QoEDFzYg143S+nNvdecElAVuem7tg19M5xO9SThrcggHKUHj+3fkkwB86A mV3RzREs+EYDXnVvywxIAMLz8Ect+4pW8wI6+xGIlprJB9UCxUjQCHG+K3KJDQnK bnbzKWGwt4zw66XjnEn4lGQoITnSLLSfxw34FxXLiMD+gexBCktYQYMG0GVYiNoG zAGgOj18uALmr1M+v9szZUtQOomvHR+hR8dIfKbc4Pk+ypZz1M0zm/g8VnEDJCDt sPGFrACenWfU27THSZKR6+rUAnLD/dPeg/epHFKleCIF43SJjyEb9Oev4DgrdfVe 9nvzMKVcMsu3B/zW94nNz7ZF/28/sYvsImnncmhyz4JPMO96RvIkunEEdQ/uucWf 89fLhbniI4FGQ/NlIVqUir9VHhtOq7ayyAzeiVV5m8F2NaVBOlbXb4fpnHWcP3zC 241UYS6mvR79CvieivLz91DhJ2JR4ZPIS2gauZPbgkNf6EZFYfIykIA/lwBTx/h0 cb+4+7BK1GjC0ZE8edD/evQVtvXUoAW1vqpuqPTFOUb7gLNqSHM= =GypE -----END PGP SIGNATURE----- Merge tag 'ib-mfd-rtc-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into rtc-next Immutable branch between MFD and RTC due for the v4.20 merge window Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
commit
4392ec1a6c
|
@ -1094,6 +1094,7 @@ static void menelaus_rtc_alarm_work(struct menelaus_chip *m)
|
||||||
static inline void menelaus_rtc_init(struct menelaus_chip *m)
|
static inline void menelaus_rtc_init(struct menelaus_chip *m)
|
||||||
{
|
{
|
||||||
int alarm = (m->client->irq > 0);
|
int alarm = (m->client->irq > 0);
|
||||||
|
int err;
|
||||||
|
|
||||||
/* assume 32KDETEN pin is pulled high */
|
/* assume 32KDETEN pin is pulled high */
|
||||||
if (!(menelaus_read_reg(MENELAUS_OSC_CTRL) & 0x80)) {
|
if (!(menelaus_read_reg(MENELAUS_OSC_CTRL) & 0x80)) {
|
||||||
|
@ -1101,6 +1102,12 @@ static inline void menelaus_rtc_init(struct menelaus_chip *m)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m->rtc = devm_rtc_allocate_device(&m->client->dev);
|
||||||
|
if (IS_ERR(m->rtc))
|
||||||
|
return;
|
||||||
|
|
||||||
|
m->rtc->ops = &menelaus_rtc_ops;
|
||||||
|
|
||||||
/* support RTC alarm; it can issue wakeups */
|
/* support RTC alarm; it can issue wakeups */
|
||||||
if (alarm) {
|
if (alarm) {
|
||||||
if (menelaus_add_irq_work(MENELAUS_RTCALM_IRQ,
|
if (menelaus_add_irq_work(MENELAUS_RTCALM_IRQ,
|
||||||
|
@ -1125,10 +1132,8 @@ static inline void menelaus_rtc_init(struct menelaus_chip *m)
|
||||||
menelaus_write_reg(MENELAUS_RTC_CTRL, m->rtc_control);
|
menelaus_write_reg(MENELAUS_RTC_CTRL, m->rtc_control);
|
||||||
}
|
}
|
||||||
|
|
||||||
m->rtc = rtc_device_register(DRIVER_NAME,
|
err = rtc_register_device(m->rtc);
|
||||||
&m->client->dev,
|
if (err) {
|
||||||
&menelaus_rtc_ops, THIS_MODULE);
|
|
||||||
if (IS_ERR(m->rtc)) {
|
|
||||||
if (alarm) {
|
if (alarm) {
|
||||||
menelaus_remove_irq_work(MENELAUS_RTCALM_IRQ);
|
menelaus_remove_irq_work(MENELAUS_RTCALM_IRQ);
|
||||||
device_init_wakeup(&m->client->dev, 0);
|
device_init_wakeup(&m->client->dev, 0);
|
||||||
|
|
Loading…
Reference in a new issue