On Fri, Nov 14, 2014 at 4:40 PM, Roger Quadros <rogerq@xxxxxx> wrote: > 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 <rogerq@xxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> I see you figured it out all by yourselves :D (Sorry for being absent.) > +#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. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html