Messages in this thread | | | Date | Tue, 16 Jul 2013 17:25:21 +0300 | From | Grygorii Strashko <> | Subject | Re: [PATCH 1/4] pinctrl: Remove duplicate code in pinctrl_pm_select_state functions |
| |
Hi Tony,
On 07/16/2013 04:41 PM, Tony Lindgren wrote: > * Grygorii Strashko <grygorii.strashko@ti.com> [130716 06:22]: >> Hi Tony, >> >> This patch causes boot failure when I've applied my patch >> "[RFC] ARM: OMAP2+: omap_device: add pinctrl handling" >> https://lkml.org/lkml/2013/6/21/309 >> >> on top of it: > > Hmm this patch alone removes duplicate code and if it causes > issues I must have made a typo somewhere.
No typo :) You've removed the check for !dev-pins. And the failure place is: int pinctrl_pm_select_active_state(struct device *dev) { return pinctrl_pm_select_state(dev, dev->pins->active_state); ^^^^ here }
If I understand everything right, the pinctrl support in Device core assumed to be optional - so, It's valid case, when there are no definition for device's pinctrl in DT at all.
And in this case dev->pins == NULL and pinctrl_pm_select_*() API should return 0 always.
> > I cannot see a typo though, but in your dmesg I see something.. > >> [ 0.610565] PC is at pinctrl_pm_select_active_state+0x4/0xc Yep. This will happen if there are no pinctrl states defined in DT - currently it's crashed when GPIO driver probed. > > ..looks like you have something applied for the active_state > that only gets introduced later on in this series. > > Maybe you have the earlier version of drivers/base/pinctrl.c > active_state patch that was in linux next for a while but > got reverted as we noticed we had to rework some things? > > So maybe try with v3.11-rc1 + these four patches + your > omap_device patch? I'm on v3.11-rc1
> > Regards, > > Tony >
| |