2017-04-10 09:37:33

by Martin Kepplinger

[permalink] [raw]
Subject: [PATCH] mfd: menelaus: remove obsolete local_irq_disable() and local_irq_enable()

Since

commit e6229bec25be ("rtc: make rtc_update_irq callable with irqs enabled")

rtc_update_irq() is callable with irqs enabled, see the rtc drivers.
So update this accordingly.

Signed-off-by: Martin Kepplinger <[email protected]>
Cc: Henri Roosen <[email protected]>
---
drivers/mfd/menelaus.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c
index a4a8f1e..29b7164 100644
--- a/drivers/mfd/menelaus.c
+++ b/drivers/mfd/menelaus.c
@@ -1022,9 +1022,7 @@ static int menelaus_set_alarm(struct device *dev, struct rtc_wkalrm *w)
static void menelaus_rtc_update_work(struct menelaus_chip *m)
{
/* report 1/sec update */
- local_irq_disable();
rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_UF);
- local_irq_enable();
}

static int menelaus_ioctl(struct device *dev, unsigned cmd, unsigned long arg)
@@ -1086,9 +1084,7 @@ static const struct rtc_class_ops menelaus_rtc_ops = {
static void menelaus_rtc_alarm_work(struct menelaus_chip *m)
{
/* report alarm */
- local_irq_disable();
rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_AF);
- local_irq_enable();

/* then disable it; alarms are oneshot */
the_menelaus->rtc_control &= ~RTC_CTRL_AL_EN;
--
2.1.4


2017-04-10 16:17:23

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH] mfd: menelaus: remove obsolete local_irq_disable() and local_irq_enable()

* Martin Kepplinger <[email protected]> [170410 02:40]:
> Since
>
> commit e6229bec25be ("rtc: make rtc_update_irq callable with irqs enabled")
>
> rtc_update_irq() is callable with irqs enabled, see the rtc drivers.
> So update this accordingly.

Adding Aaro to Cc, would be nice to get an ack from him.

Regards,

Tony

> Signed-off-by: Martin Kepplinger <[email protected]>
> Cc: Henri Roosen <[email protected]>
> ---
> drivers/mfd/menelaus.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c
> index a4a8f1e..29b7164 100644
> --- a/drivers/mfd/menelaus.c
> +++ b/drivers/mfd/menelaus.c
> @@ -1022,9 +1022,7 @@ static int menelaus_set_alarm(struct device *dev, struct rtc_wkalrm *w)
> static void menelaus_rtc_update_work(struct menelaus_chip *m)
> {
> /* report 1/sec update */
> - local_irq_disable();
> rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_UF);
> - local_irq_enable();
> }
>
> static int menelaus_ioctl(struct device *dev, unsigned cmd, unsigned long arg)
> @@ -1086,9 +1084,7 @@ static const struct rtc_class_ops menelaus_rtc_ops = {
> static void menelaus_rtc_alarm_work(struct menelaus_chip *m)
> {
> /* report alarm */
> - local_irq_disable();
> rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_AF);
> - local_irq_enable();
>
> /* then disable it; alarms are oneshot */
> the_menelaus->rtc_control &= ~RTC_CTRL_AL_EN;
> --
> 2.1.4
>

2017-04-12 20:15:29

by Aaro Koskinen

[permalink] [raw]
Subject: Re: [PATCH] mfd: menelaus: remove obsolete local_irq_disable() and local_irq_enable()

On Mon, Apr 10, 2017 at 11:37:18AM +0200, Martin Kepplinger wrote:
> Since
>
> commit e6229bec25be ("rtc: make rtc_update_irq callable with irqs enabled")
>
> rtc_update_irq() is callable with irqs enabled, see the rtc drivers.
> So update this accordingly.
>
> Signed-off-by: Martin Kepplinger <[email protected]>
> Cc: Henri Roosen <[email protected]>

I think the patch looks OK, so:

Acked-by: Aaro Koskinen <[email protected]>

But when trying to test it on N810/N800, I noticed I was missing RTC
altogether. My custom config was missing CONFIG_RTC_DRV_TWL92330, but
when enabling it I still get:

[ 5.759918] menelaus 0-0072: no 32k oscillator

Anyway, this issue is unrelated to this patch...

A.

> ---
> drivers/mfd/menelaus.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c
> index a4a8f1e..29b7164 100644
> --- a/drivers/mfd/menelaus.c
> +++ b/drivers/mfd/menelaus.c
> @@ -1022,9 +1022,7 @@ static int menelaus_set_alarm(struct device *dev, struct rtc_wkalrm *w)
> static void menelaus_rtc_update_work(struct menelaus_chip *m)
> {
> /* report 1/sec update */
> - local_irq_disable();
> rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_UF);
> - local_irq_enable();
> }
>
> static int menelaus_ioctl(struct device *dev, unsigned cmd, unsigned long arg)
> @@ -1086,9 +1084,7 @@ static const struct rtc_class_ops menelaus_rtc_ops = {
> static void menelaus_rtc_alarm_work(struct menelaus_chip *m)
> {
> /* report alarm */
> - local_irq_disable();
> rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_AF);
> - local_irq_enable();
>
> /* then disable it; alarms are oneshot */
> the_menelaus->rtc_control &= ~RTC_CTRL_AL_EN;
> --
> 2.1.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2017-04-19 06:10:36

by Martin Kepplinger

[permalink] [raw]
Subject: Re: [PATCH] mfd: menelaus: remove obsolete local_irq_disable() and local_irq_enable()



On 2017-04-12 22:15, Aaro Koskinen wrote:
> On Mon, Apr 10, 2017 at 11:37:18AM +0200, Martin Kepplinger wrote:
>> Since
>>
>> commit e6229bec25be ("rtc: make rtc_update_irq callable with irqs enabled")
>>
>> rtc_update_irq() is callable with irqs enabled, see the rtc drivers.
>> So update this accordingly.
>>
>> Signed-off-by: Martin Kepplinger <[email protected]>
>> Cc: Henri Roosen <[email protected]>
>
> I think the patch looks OK, so:
>
> Acked-by: Aaro Koskinen <[email protected]>
>

Any other concern about this?

martin

2017-04-24 11:51:53

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] mfd: menelaus: remove obsolete local_irq_disable() and local_irq_enable()

On Mon, 10 Apr 2017, Martin Kepplinger wrote:

> Since
>
> commit e6229bec25be ("rtc: make rtc_update_irq callable with irqs enabled")
>
> rtc_update_irq() is callable with irqs enabled, see the rtc drivers.
> So update this accordingly.
>
> Signed-off-by: Martin Kepplinger <[email protected]>
> Cc: Henri Roosen <[email protected]>
> ---
> drivers/mfd/menelaus.c | 4 ----
> 1 file changed, 4 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c
> index a4a8f1e..29b7164 100644
> --- a/drivers/mfd/menelaus.c
> +++ b/drivers/mfd/menelaus.c
> @@ -1022,9 +1022,7 @@ static int menelaus_set_alarm(struct device *dev, struct rtc_wkalrm *w)
> static void menelaus_rtc_update_work(struct menelaus_chip *m)
> {
> /* report 1/sec update */
> - local_irq_disable();
> rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_UF);
> - local_irq_enable();
> }
>
> static int menelaus_ioctl(struct device *dev, unsigned cmd, unsigned long arg)
> @@ -1086,9 +1084,7 @@ static const struct rtc_class_ops menelaus_rtc_ops = {
> static void menelaus_rtc_alarm_work(struct menelaus_chip *m)
> {
> /* report alarm */
> - local_irq_disable();
> rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_AF);
> - local_irq_enable();
>
> /* then disable it; alarms are oneshot */
> the_menelaus->rtc_control &= ~RTC_CTRL_AL_EN;

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog