Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1340642 > unrolled thread

[PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable

Started byArnd Bergmann <arnd@arndb.de>
First post2016-02-23 15:00 +0100
Last post2016-02-24 00:50 +0100
Articles 4 — 4 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable Arnd Bergmann <arnd@arndb.de> - 2016-02-23 15:00 +0100
    Re: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator  enable One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2016-02-23 17:20 +0100
    Re: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator  enable Tony Lindgren <tony@atomide.com> - 2016-02-23 17:20 +0100
    Re: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator  enable Aaro Koskinen <aaro.koskinen@iki.fi> - 2016-02-24 00:50 +0100

#1340642 — [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable

FromArnd Bergmann <arnd@arndb.de>
Date2016-02-23 15:00 +0100
Subject[PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable
Message-ID<r5lFo-6dV-35@gated-at.bofh.it>
The modem pm handler in the ams-delta board uses regulator_enable()
but does not check for a successful return code:

board-ams-delta.c:521:3: error: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Werror=unused-result]

It is not easy to propagate that return code to the callers in
uart_configure_port/uart_suspend_port/uart_resume_port, unless
we change all UART drivers, and it is unclear what those would
do with the return code.

Instead, this patch uses a runtime warning to replace the
compiletime warning. I have checked that the regulator in question
is hardcoded to a fixed-voltage GPIO regulator, and that should
never fail to get enabled if I understand the code right.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-omap1/board-ams-delta.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
index 6613a6ff5dbc..6cbc69c92913 100644
--- a/arch/arm/mach-omap1/board-ams-delta.c
+++ b/arch/arm/mach-omap1/board-ams-delta.c
@@ -510,6 +510,7 @@ static void __init ams_delta_init(void)
 static void modem_pm(struct uart_port *port, unsigned int state, unsigned old)
 {
 	struct modem_private_data *priv = port->private_data;
+	int ret;
 
 	if (IS_ERR(priv->regulator))
 		return;
@@ -518,9 +519,16 @@ static void modem_pm(struct uart_port *port, unsigned int state, unsigned old)
 		return;
 
 	if (state == 0)
-		regulator_enable(priv->regulator);
+		ret = regulator_enable(priv->regulator);
 	else if (old == 0)
-		regulator_disable(priv->regulator);
+		ret = regulator_disable(priv->regulator);
+	else
+		ret = 0;
+
+	if (ret)
+		dev_warn(port->dev,
+			 "ams_delta modem_pm: failed to %sable regulator: %d\n",
+			 state ? "dis" : "en", ret);
 }
 
 static struct plat_serial8250_port ams_delta_modem_ports[] = {
-- 
2.7.0

[toc] | [next] | [standalone]


#1340823 — Re: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable

FromOne Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
Date2016-02-23 17:20 +0100
SubjectRe: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable
Message-ID<r5nQS-7QI-9@gated-at.bofh.it>
In reply to#1340642
> > It is not easy to propagate that return code to the callers in
> > uart_configure_port/uart_suspend_port/uart_resume_port, unless
> > we change all UART drivers, and it is unclear what those would
> > do with the return code.
> > 
> > Instead, this patch uses a runtime warning to replace the
> > compiletime warning. I have checked that the regulator in question
> > is hardcoded to a fixed-voltage GPIO regulator, and that should
> > never fail to get enabled if I understand the code right.  
> 
> Looks OK to me:

If it was a concern for a real driver I think I'd perform a hangup on the
port at that moment. That's what happens if for example you hot unplug a
serial port which would be approximately the same as finding out you
can't power it back up.

Alan

[toc] | [prev] | [next] | [standalone]


#1340832 — Re: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable

FromTony Lindgren <tony@atomide.com>
Date2016-02-23 17:20 +0100
SubjectRe: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable
Message-ID<r5nQS-7QI-11@gated-at.bofh.it>
In reply to#1340642
* Arnd Bergmann <arnd@arndb.de> [160223 05:58]:
> The modem pm handler in the ams-delta board uses regulator_enable()
> but does not check for a successful return code:
> 
> board-ams-delta.c:521:3: error: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Werror=unused-result]
> 
> It is not easy to propagate that return code to the callers in
> uart_configure_port/uart_suspend_port/uart_resume_port, unless
> we change all UART drivers, and it is unclear what those would
> do with the return code.
> 
> Instead, this patch uses a runtime warning to replace the
> compiletime warning. I have checked that the regulator in question
> is hardcoded to a fixed-voltage GPIO regulator, and that should
> never fail to get enabled if I understand the code right.

Looks OK to me:

Acked-by: Tony Lindgren <tony@atomide.com>

[toc] | [prev] | [next] | [standalone]


#1341184 — Re: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable

FromAaro Koskinen <aaro.koskinen@iki.fi>
Date2016-02-24 00:50 +0100
SubjectRe: [PATCH 3/3] ARM: omap1/ams-delta: warn about failed regulator enable
Message-ID<r5uSl-4mi-7@gated-at.bofh.it>
In reply to#1340642
On Tue, Feb 23, 2016 at 02:57:53PM +0100, Arnd Bergmann wrote:
> The modem pm handler in the ams-delta board uses regulator_enable()
> but does not check for a successful return code:
> 
> board-ams-delta.c:521:3: error: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Werror=unused-result]
> 
> It is not easy to propagate that return code to the callers in
> uart_configure_port/uart_suspend_port/uart_resume_port, unless
> we change all UART drivers, and it is unclear what those would
> do with the return code.
> 
> Instead, this patch uses a runtime warning to replace the
> compiletime warning. I have checked that the regulator in question
> is hardcoded to a fixed-voltage GPIO regulator, and that should
> never fail to get enabled if I understand the code right.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>

A.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web