Thread (42 messages) 42 messages, 4 authors, 2014-11-28

Re: [PATCH v7 6/8] net: can: c_can: Disable pins when CAN interface is down

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2014-11-27 21:19:46
Also in: linux-can, linux-omap

On 11/27/2014 02:26 PM, Linus Walleij wrote:
On Fri, Nov 14, 2014 at 4:40 PM, Roger Quadros [off-list ref] wrote:
quoted
DRA7 CAN IP suffers from a problem which causes it to be prevented
from fully turning OFF (i.e. stuck in transition) if the module was
disabled while there was traffic on the CAN_RX line.

To work around this issue we select the SLEEP pin state by default
on probe and use the DEFAULT pin state on CAN up and back to the
SLEEP pin state on CAN down.

Signed-off-by: Roger Quadros <redacted>
Reviewed-by: Linus Walleij <redacted>
Thanks, however the patch is already upstream.
I see you figured it out all by yourselves :D

(Sorry for being absent.)
quoted
+#include <linux/pinctrl/consumer.h>
+       pinctrl_pm_select_default_state(dev->dev.parent);
+       pinctrl_pm_select_sleep_state(dev->dev.parent);
+       pinctrl_pm_select_sleep_state(dev->dev.parent);
NB: in drivers/base/pinctrl.c:

#ifdef CONFIG_PM
        /*
         * If power management is enabled, we also look for the optional
         * sleep and idle pin states, with semantics as defined in
         * <linux/pinctrl/pinctrl-state.h>
         */
        dev->pins->sleep_state = pinctrl_lookup_state(dev->pins->p,
                                        PINCTRL_STATE_SLEEP);

So if these states are necessary for the driver to work, put
depends on PM or select PM in the Kconfig.
Roger, you can prepare a patch, if needed.

Thanks,
Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help