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:
Alexandre Belloni 2018-09-12 22:14:14 +02:00
commit 4392ec1a6c

View file

@ -1094,6 +1094,7 @@ static void menelaus_rtc_alarm_work(struct menelaus_chip *m)
static inline void menelaus_rtc_init(struct menelaus_chip *m)
{
int alarm = (m->client->irq > 0);
int err;
/* assume 32KDETEN pin is pulled high */
if (!(menelaus_read_reg(MENELAUS_OSC_CTRL) & 0x80)) {
@ -1101,6 +1102,12 @@ static inline void menelaus_rtc_init(struct menelaus_chip *m)
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 */
if (alarm) {
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);
}
m->rtc = rtc_device_register(DRIVER_NAME,
&m->client->dev,
&menelaus_rtc_ops, THIS_MODULE);
if (IS_ERR(m->rtc)) {
err = rtc_register_device(m->rtc);
if (err) {
if (alarm) {
menelaus_remove_irq_work(MENELAUS_RTCALM_IRQ);
device_init_wakeup(&m->client->dev, 0);