* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() @ 2014-05-20 10:42 Grygorii Strashko 2014-05-23 8:03 ` Grant Likely 0 siblings, 1 reply; 15+ messages in thread From: Grygorii Strashko @ 2014-05-20 10:42 UTC (permalink / raw) To: linux-arm-kernel The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef "of/irq: do irq resolution in platform_get_irq" from Rob Herring - moves resolving of the interrupt resources in platform_get_irq(). But this solution isn't complete because platform_get_irq_byname() need to be modified the same way. Hence, fix it by adding interrupt resolution code at the platform_get_irq_byname() function too. Cc: Russell King <linux@arm.linux.org.uk> Cc: Rob Herring <robh@kernel.org> Cc: Tony Lindgren <tony@atomide.com> Cc: Grant Likely <grant.likely@linaro.org> Cc: Thierry Reding <thierry.reding@gmail.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> --- Changes in v1: - use of_property_match_string() to get IRQ index by name - minor comments fixed RFC: https://lkml.org/lkml/2014/5/19/325 drivers/base/platform.c | 7 +++++-- drivers/of/irq.c | 22 ++++++++++++++++++++++ include/linux/of_irq.h | 5 +++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 5b47210..9e9227e 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -131,9 +131,12 @@ EXPORT_SYMBOL_GPL(platform_get_resource_byname); */ int platform_get_irq_byname(struct platform_device *dev, const char *name) { - struct resource *r = platform_get_resource_byname(dev, IORESOURCE_IRQ, - name); + struct resource *r; + + if (IS_ENABLED(CONFIG_OF_IRQ) && dev->dev.of_node) + return of_irq_get_byname(dev->dev.of_node, name); + r = platform_get_resource_byname(dev, IORESOURCE_IRQ, name); return r ? r->start : -ENXIO; } EXPORT_SYMBOL_GPL(platform_get_irq_byname); diff --git a/drivers/of/irq.c b/drivers/of/irq.c index 5aeb894..3e06a69 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -406,6 +406,28 @@ int of_irq_get(struct device_node *dev, int index) } /** + * of_irq_get_byname - Decode a node's IRQ and return it as a Linux irq number + * @dev: pointer to device tree node + * @name: irq name + * + * Returns Linux irq number on success, or -EPROBE_DEFER if the irq domain + * is not yet created, or error code in case of any other failure. + */ +int of_irq_get_byname(struct device_node *dev, const char *name) +{ + int index; + + if (unlikely(!name)) + return -EINVAL; + + index = of_property_match_string(dev, "interrupt-names", name); + if (index < 0) + return index; + + return of_irq_get(dev, index); +} + +/** * of_irq_count - Count the number of IRQs a node uses * @dev: pointer to device tree node */ diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h index 6404253..bfec136 100644 --- a/include/linux/of_irq.h +++ b/include/linux/of_irq.h @@ -45,6 +45,7 @@ extern void of_irq_init(const struct of_device_id *matches); #ifdef CONFIG_OF_IRQ extern int of_irq_count(struct device_node *dev); extern int of_irq_get(struct device_node *dev, int index); +extern int of_irq_get_byname(struct device_node *dev, const char *name); #else static inline int of_irq_count(struct device_node *dev) { @@ -54,6 +55,10 @@ static inline int of_irq_get(struct device_node *dev, int index) { return 0; } +static inline int of_irq_get_byname(struct device_node *dev, const char *name) +{ + return 0; +} #endif #if defined(CONFIG_OF) -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-20 10:42 [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() Grygorii Strashko @ 2014-05-23 8:03 ` Grant Likely 2014-05-27 20:23 ` Kevin Hilman 0 siblings, 1 reply; 15+ messages in thread From: Grant Likely @ 2014-05-23 8:03 UTC (permalink / raw) To: linux-arm-kernel On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: > The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef > "of/irq: do irq resolution in platform_get_irq" from Rob Herring - > moves resolving of the interrupt resources in platform_get_irq(). > But this solution isn't complete because platform_get_irq_byname() > need to be modified the same way. > > Hence, fix it by adding interrupt resolution code at the > platform_get_irq_byname() function too. > > Cc: Russell King <linux@arm.linux.org.uk> > Cc: Rob Herring <robh@kernel.org> > Cc: Tony Lindgren <tony@atomide.com> > Cc: Grant Likely <grant.likely@linaro.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Applied, Thanks. g. > --- > Changes in v1: > - use of_property_match_string() to get IRQ index by name > - minor comments fixed > > RFC: > https://lkml.org/lkml/2014/5/19/325 > > drivers/base/platform.c | 7 +++++-- > drivers/of/irq.c | 22 ++++++++++++++++++++++ > include/linux/of_irq.h | 5 +++++ > 3 files changed, 32 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/platform.c b/drivers/base/platform.c > index 5b47210..9e9227e 100644 > --- a/drivers/base/platform.c > +++ b/drivers/base/platform.c > @@ -131,9 +131,12 @@ EXPORT_SYMBOL_GPL(platform_get_resource_byname); > */ > int platform_get_irq_byname(struct platform_device *dev, const char *name) > { > - struct resource *r = platform_get_resource_byname(dev, IORESOURCE_IRQ, > - name); > + struct resource *r; > + > + if (IS_ENABLED(CONFIG_OF_IRQ) && dev->dev.of_node) > + return of_irq_get_byname(dev->dev.of_node, name); > > + r = platform_get_resource_byname(dev, IORESOURCE_IRQ, name); > return r ? r->start : -ENXIO; > } > EXPORT_SYMBOL_GPL(platform_get_irq_byname); > diff --git a/drivers/of/irq.c b/drivers/of/irq.c > index 5aeb894..3e06a69 100644 > --- a/drivers/of/irq.c > +++ b/drivers/of/irq.c > @@ -406,6 +406,28 @@ int of_irq_get(struct device_node *dev, int index) > } > > /** > + * of_irq_get_byname - Decode a node's IRQ and return it as a Linux irq number > + * @dev: pointer to device tree node > + * @name: irq name > + * > + * Returns Linux irq number on success, or -EPROBE_DEFER if the irq domain > + * is not yet created, or error code in case of any other failure. > + */ > +int of_irq_get_byname(struct device_node *dev, const char *name) > +{ > + int index; > + > + if (unlikely(!name)) > + return -EINVAL; > + > + index = of_property_match_string(dev, "interrupt-names", name); > + if (index < 0) > + return index; > + > + return of_irq_get(dev, index); > +} > + > +/** > * of_irq_count - Count the number of IRQs a node uses > * @dev: pointer to device tree node > */ > diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h > index 6404253..bfec136 100644 > --- a/include/linux/of_irq.h > +++ b/include/linux/of_irq.h > @@ -45,6 +45,7 @@ extern void of_irq_init(const struct of_device_id *matches); > #ifdef CONFIG_OF_IRQ > extern int of_irq_count(struct device_node *dev); > extern int of_irq_get(struct device_node *dev, int index); > +extern int of_irq_get_byname(struct device_node *dev, const char *name); > #else > static inline int of_irq_count(struct device_node *dev) > { > @@ -54,6 +55,10 @@ static inline int of_irq_get(struct device_node *dev, int index) > { > return 0; > } > +static inline int of_irq_get_byname(struct device_node *dev, const char *name) > +{ > + return 0; > +} > #endif > > #if defined(CONFIG_OF) > -- > 1.7.9.5 > ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-23 8:03 ` Grant Likely @ 2014-05-27 20:23 ` Kevin Hilman 2014-05-28 0:37 ` Rob Herring 0 siblings, 1 reply; 15+ messages in thread From: Kevin Hilman @ 2014-05-27 20:23 UTC (permalink / raw) To: linux-arm-kernel On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: > On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: >> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef >> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - >> moves resolving of the interrupt resources in platform_get_irq(). >> But this solution isn't complete because platform_get_irq_byname() >> need to be modified the same way. >> >> Hence, fix it by adding interrupt resolution code at the >> platform_get_irq_byname() function too. >> >> Cc: Russell King <linux@arm.linux.org.uk> >> Cc: Rob Herring <robh@kernel.org> >> Cc: Tony Lindgren <tony@atomide.com> >> Cc: Grant Likely <grant.likely@linaro.org> >> Cc: Thierry Reding <thierry.reding@gmail.com> >> >> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> > > Applied, Thanks. As of next-20150526, the ST u8500 Snowball board has been failing boot in linux-next, and was bisected down to this patch (commit ad69674e73a1 in -next). Full boot failure attached. I have not dug any deeper, but can confirm that next-20140526 with this patch reverted boots again on the snowball board. Kevin -------------- next part -------------- A non-text attachment was scrubbed... Name: boot-ste-snowball.log Type: text/x-log Size: 41500 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140527/c1b80b03/attachment-0001.bin> ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-27 20:23 ` Kevin Hilman @ 2014-05-28 0:37 ` Rob Herring 2014-05-28 7:18 ` Lee Jones ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: Rob Herring @ 2014-05-28 0:37 UTC (permalink / raw) To: linux-arm-kernel On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: > On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: >> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: >>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef >>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - >>> moves resolving of the interrupt resources in platform_get_irq(). >>> But this solution isn't complete because platform_get_irq_byname() >>> need to be modified the same way. >>> >>> Hence, fix it by adding interrupt resolution code at the >>> platform_get_irq_byname() function too. >>> >>> Cc: Russell King <linux@arm.linux.org.uk> >>> Cc: Rob Herring <robh@kernel.org> >>> Cc: Tony Lindgren <tony@atomide.com> >>> Cc: Grant Likely <grant.likely@linaro.org> >>> Cc: Thierry Reding <thierry.reding@gmail.com> >>> >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >> >> Applied, Thanks. > > As of next-20150526, the ST u8500 Snowball board has been failing boot > in linux-next, and was bisected down to this patch (commit > ad69674e73a1 in -next). Full boot failure attached. > > I have not dug any deeper, but can confirm that next-20140526 with > this patch reverted boots again on the snowball board. There's a patch on the list which fixes it. The problem is stmmac driver was expecting only one error code. Rob ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 0:37 ` Rob Herring @ 2014-05-28 7:18 ` Lee Jones 2014-05-28 8:25 ` Linus Walleij 2014-05-28 8:39 ` Grant Likely 2014-05-28 9:49 ` Grygorii Strashko 2 siblings, 1 reply; 15+ messages in thread From: Lee Jones @ 2014-05-28 7:18 UTC (permalink / raw) To: linux-arm-kernel On Tue, 27 May 2014, Rob Herring wrote: > On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: > > On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: > >> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: > >>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef > >>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - > >>> moves resolving of the interrupt resources in platform_get_irq(). > >>> But this solution isn't complete because platform_get_irq_byname() > >>> need to be modified the same way. > >>> > >>> Hence, fix it by adding interrupt resolution code at the > >>> platform_get_irq_byname() function too. > >>> > >>> Cc: Russell King <linux@arm.linux.org.uk> > >>> Cc: Rob Herring <robh@kernel.org> > >>> Cc: Tony Lindgren <tony@atomide.com> > >>> Cc: Grant Likely <grant.likely@linaro.org> > >>> Cc: Thierry Reding <thierry.reding@gmail.com> > >>> > >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> > >> > >> Applied, Thanks. > > > > As of next-20150526, the ST u8500 Snowball board has been failing boot > > in linux-next, and was bisected down to this patch (commit > > ad69674e73a1 in -next). Full boot failure attached. > > > > I have not dug any deeper, but can confirm that next-20140526 with > > this patch reverted boots again on the snowball board. > > There's a patch on the list which fixes it. The problem is stmmac > driver was expecting only one error code. Does Snowball even use stmmac? -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 7:18 ` Lee Jones @ 2014-05-28 8:25 ` Linus Walleij 2014-05-28 8:49 ` Chen-Yu Tsai 0 siblings, 1 reply; 15+ messages in thread From: Linus Walleij @ 2014-05-28 8:25 UTC (permalink / raw) To: linux-arm-kernel On Wed, May 28, 2014 at 9:18 AM, Lee Jones <lee.jones@linaro.org> wrote: > On Tue, 27 May 2014, Rob Herring wrote: > >> On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: >> > On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: >> >> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: >> >>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef >> >>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - >> >>> moves resolving of the interrupt resources in platform_get_irq(). >> >>> But this solution isn't complete because platform_get_irq_byname() >> >>> need to be modified the same way. >> >>> >> >>> Hence, fix it by adding interrupt resolution code at the >> >>> platform_get_irq_byname() function too. >> >>> >> >>> Cc: Russell King <linux@arm.linux.org.uk> >> >>> Cc: Rob Herring <robh@kernel.org> >> >>> Cc: Tony Lindgren <tony@atomide.com> >> >>> Cc: Grant Likely <grant.likely@linaro.org> >> >>> Cc: Thierry Reding <thierry.reding@gmail.com> >> >>> >> >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >> >> >> >> Applied, Thanks. >> > >> > As of next-20150526, the ST u8500 Snowball board has been failing boot >> > in linux-next, and was bisected down to this patch (commit >> > ad69674e73a1 in -next). Full boot failure attached. >> > >> > I have not dug any deeper, but can confirm that next-20140526 with >> > this patch reverted boots again on the snowball board. >> >> There's a patch on the list which fixes it. The problem is stmmac >> driver was expecting only one error code. > > Does Snowball even use stmmac? No. I don't get this... Yours, Linus Walleij ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 8:25 ` Linus Walleij @ 2014-05-28 8:49 ` Chen-Yu Tsai 2014-05-28 9:03 ` Grant Likely 2014-06-11 14:04 ` Linus Walleij 0 siblings, 2 replies; 15+ messages in thread From: Chen-Yu Tsai @ 2014-05-28 8:49 UTC (permalink / raw) To: linux-arm-kernel On Wed, May 28, 2014 at 4:25 PM, Linus Walleij <linus.walleij@linaro.org> wrote: > On Wed, May 28, 2014 at 9:18 AM, Lee Jones <lee.jones@linaro.org> wrote: >> On Tue, 27 May 2014, Rob Herring wrote: >> >>> On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: >>> > On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: >>> >> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: >>> >>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef >>> >>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - >>> >>> moves resolving of the interrupt resources in platform_get_irq(). >>> >>> But this solution isn't complete because platform_get_irq_byname() >>> >>> need to be modified the same way. >>> >>> >>> >>> Hence, fix it by adding interrupt resolution code at the >>> >>> platform_get_irq_byname() function too. >>> >>> >>> >>> Cc: Russell King <linux@arm.linux.org.uk> >>> >>> Cc: Rob Herring <robh@kernel.org> >>> >>> Cc: Tony Lindgren <tony@atomide.com> >>> >>> Cc: Grant Likely <grant.likely@linaro.org> >>> >>> Cc: Thierry Reding <thierry.reding@gmail.com> >>> >>> >>> >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >>> >> >>> >> Applied, Thanks. >>> > >>> > As of next-20150526, the ST u8500 Snowball board has been failing boot >>> > in linux-next, and was bisected down to this patch (commit >>> > ad69674e73a1 in -next). Full boot failure attached. >>> > >>> > I have not dug any deeper, but can confirm that next-20140526 with >>> > this patch reverted boots again on the snowball board. >>> >>> There's a patch on the list which fixes it. The problem is stmmac >>> driver was expecting only one error code. >> >> Does Snowball even use stmmac? > > No. > > I don't get this... Log says musb is wrestling control over some pins with some other driver: [ 1.441497] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto [ 1.453369] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) status -22 [ 1.460571] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik [ 1.472076] musb-hdrc musb-hdrc.0.auto: Error applying setting, reverse things back [ 1.479827] HS USB OTG: no transceiver configured [ 1.484558] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517 [ 1.492309] platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral [ 1.500183] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto [ 1.512023] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) status -22 [ 1.519226] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik [ 1.530731] musb-ux500 musb-hdrc.0.auto: Error applying setting, reverse things back [ 1.539184] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.1.auto [ 1.551025] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.1.auto) status -22 [ 1.558258] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik [ 1.569732] musb-hdrc musb-hdrc.1.auto: Error applying setting, reverse things back [ 1.577453] HS USB OTG: no transceiver configured [ .. repeats until the end .. ] I think this is not related to this patch. ChenYu ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 8:49 ` Chen-Yu Tsai @ 2014-05-28 9:03 ` Grant Likely 2014-05-28 10:07 ` Grygorii Strashko 2014-06-11 14:04 ` Linus Walleij 1 sibling, 1 reply; 15+ messages in thread From: Grant Likely @ 2014-05-28 9:03 UTC (permalink / raw) To: linux-arm-kernel On Wed, May 28, 2014 at 9:49 AM, Chen-Yu Tsai <wens@csie.org> wrote: > On Wed, May 28, 2014 at 4:25 PM, Linus Walleij <linus.walleij@linaro.org> wrote: >> On Wed, May 28, 2014 at 9:18 AM, Lee Jones <lee.jones@linaro.org> wrote: >>> On Tue, 27 May 2014, Rob Herring wrote: >>> >>>> On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: >>>> > On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: >>>> >> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: >>>> >>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef >>>> >>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - >>>> >>> moves resolving of the interrupt resources in platform_get_irq(). >>>> >>> But this solution isn't complete because platform_get_irq_byname() >>>> >>> need to be modified the same way. >>>> >>> >>>> >>> Hence, fix it by adding interrupt resolution code at the >>>> >>> platform_get_irq_byname() function too. >>>> >>> >>>> >>> Cc: Russell King <linux@arm.linux.org.uk> >>>> >>> Cc: Rob Herring <robh@kernel.org> >>>> >>> Cc: Tony Lindgren <tony@atomide.com> >>>> >>> Cc: Grant Likely <grant.likely@linaro.org> >>>> >>> Cc: Thierry Reding <thierry.reding@gmail.com> >>>> >>> >>>> >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >>>> >> >>>> >> Applied, Thanks. >>>> > >>>> > As of next-20150526, the ST u8500 Snowball board has been failing boot >>>> > in linux-next, and was bisected down to this patch (commit >>>> > ad69674e73a1 in -next). Full boot failure attached. >>>> > >>>> > I have not dug any deeper, but can confirm that next-20140526 with >>>> > this patch reverted boots again on the snowball board. >>>> >>>> There's a patch on the list which fixes it. The problem is stmmac >>>> driver was expecting only one error code. >>> >>> Does Snowball even use stmmac? >> >> No. >> >> I don't get this... > > Log says musb is wrestling control over some pins with some other driver: > > [ 1.441497] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already > requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto > [ 1.453369] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) > status -22 > [ 1.460571] pinctrl-nomadik soc:pinctrl: could not request pin 256 > (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik > [ 1.472076] musb-hdrc musb-hdrc.0.auto: Error applying setting, > reverse things back > [ 1.479827] HS USB OTG: no transceiver configured > [ 1.484558] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed > with status -517 > [ 1.492309] platform musb-hdrc.0.auto: Driver musb-hdrc requests > probe deferral > [ 1.500183] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already > requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto > [ 1.512023] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) > status -22 > [ 1.519226] pinctrl-nomadik soc:pinctrl: could not request pin 256 > (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik > [ 1.530731] musb-ux500 musb-hdrc.0.auto: Error applying setting, > reverse things back > [ 1.539184] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already > requested by a03e0000.usb_per5; cannot claim for musb-hdrc.1.auto > [ 1.551025] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.1.auto) > status -22 > [ 1.558258] pinctrl-nomadik soc:pinctrl: could not request pin 256 > (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik > [ 1.569732] musb-hdrc musb-hdrc.1.auto: Error applying setting, > reverse things back > [ 1.577453] HS USB OTG: no transceiver configured > > [ .. repeats until the end .. ] > > I think this is not related to this patch. The bisected patch causes platform_get_irq() to always parse the devicetree to obtain the irq instead of using a precalculated value in the platform_device. There are two possible scenarios for this problem that I can think of: 1) Platform_get_irq() is getting called multiple times (which would happen on a deferred probe) but the setup code isn't handling it properly, like trying to request the GPIO more than once 2) the platform_device was preloaded with an irq number that differs from what is determined when parsing the tree. This would happen if a platform_device was created manually. g. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 9:03 ` Grant Likely @ 2014-05-28 10:07 ` Grygorii Strashko 2014-06-02 14:48 ` Kevin Hilman 0 siblings, 1 reply; 15+ messages in thread From: Grygorii Strashko @ 2014-05-28 10:07 UTC (permalink / raw) To: linux-arm-kernel Hi All, On 05/28/2014 12:03 PM, Grant Likely wrote: > On Wed, May 28, 2014 at 9:49 AM, Chen-Yu Tsai <wens@csie.org> wrote: >> On Wed, May 28, 2014 at 4:25 PM, Linus Walleij <linus.walleij@linaro.org> wrote: >>> On Wed, May 28, 2014 at 9:18 AM, Lee Jones <lee.jones@linaro.org> wrote: >>>> On Tue, 27 May 2014, Rob Herring wrote: >>>> >>>>> On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: >>>>>> On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: >>>>>>> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: >>>>>>>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef >>>>>>>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - >>>>>>>> moves resolving of the interrupt resources in platform_get_irq(). >>>>>>>> But this solution isn't complete because platform_get_irq_byname() >>>>>>>> need to be modified the same way. >>>>>>>> >>>>>>>> Hence, fix it by adding interrupt resolution code at the >>>>>>>> platform_get_irq_byname() function too. >>>>>>>> >>>>>>>> Cc: Russell King <linux@arm.linux.org.uk> >>>>>>>> Cc: Rob Herring <robh@kernel.org> >>>>>>>> Cc: Tony Lindgren <tony@atomide.com> >>>>>>>> Cc: Grant Likely <grant.likely@linaro.org> >>>>>>>> Cc: Thierry Reding <thierry.reding@gmail.com> >>>>>>>> >>>>>>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >>>>>>> >>>>>>> Applied, Thanks. >>>>>> >>>>>> As of next-20150526, the ST u8500 Snowball board has been failing boot >>>>>> in linux-next, and was bisected down to this patch (commit >>>>>> ad69674e73a1 in -next). Full boot failure attached. >>>>>> >>>>>> I have not dug any deeper, but can confirm that next-20140526 with >>>>>> this patch reverted boots again on the snowball board. >>>>> >>>>> There's a patch on the list which fixes it. The problem is stmmac >>>>> driver was expecting only one error code. >>>> >>>> Does Snowball even use stmmac? >>> >>> No. >>> >>> I don't get this... >> >> Log says musb is wrestling control over some pins with some other driver: >> >> [ 1.441497] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already >> requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto >> [ 1.453369] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) >> status -22 >> [ 1.460571] pinctrl-nomadik soc:pinctrl: could not request pin 256 >> (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik >> [ 1.472076] musb-hdrc musb-hdrc.0.auto: Error applying setting, >> reverse things back >> [ 1.479827] HS USB OTG: no transceiver configured >> [ 1.484558] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed >> with status -517 >> [ 1.492309] platform musb-hdrc.0.auto: Driver musb-hdrc requests >> probe deferral >> [ 1.500183] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already >> requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto >> [ 1.512023] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) >> status -22 >> [ 1.519226] pinctrl-nomadik soc:pinctrl: could not request pin 256 >> (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik >> [ 1.530731] musb-ux500 musb-hdrc.0.auto: Error applying setting, >> reverse things back >> [ 1.539184] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already >> requested by a03e0000.usb_per5; cannot claim for musb-hdrc.1.auto >> [ 1.551025] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.1.auto) >> status -22 >> [ 1.558258] pinctrl-nomadik soc:pinctrl: could not request pin 256 >> (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik >> [ 1.569732] musb-hdrc musb-hdrc.1.auto: Error applying setting, >> reverse things back >> [ 1.577453] HS USB OTG: no transceiver configured >> >> [ .. repeats until the end .. ] >> >> I think this is not related to this patch. > > The bisected patch causes platform_get_irq() to always parse the > devicetree to obtain the irq instead of using a precalculated value in > the platform_device. There are two possible scenarios for this problem > that I can think of: > 1) Platform_get_irq() is getting called multiple times (which would > happen on a deferred probe) but the setup code isn't handling it > properly, like trying to request the GPIO more than once > 2) the platform_device was preloaded with an irq number that differs > from what is determined when parsing the tree. This would happen if a > platform_device was created manually. > Could anyone try attached patch? It has to improve situation, but it might not fix all problems (see my previous e-mail). Regards, -grygorii -- From 4a41912dba648c935982274966426fa430fd5aa4 Mon Sep 17 00:00:00 2001 From: Grygorii Strashko <grygorii.strashko@ti.com> Date: Wed, 28 May 2014 12:53:34 +0300 Subject: [PATCH] mfd: ab8500: fix dt irq mapping The AD8500 defines itself as interrupt-controller in DT, but it doesn't assign DT node to IRQ domain when creates it. As result, of_irq_xx() helpers don't work because they can't find necessary IRQ domain. Hence, fix it by assigning AD8500 core device DT node to IRQ domain when it's created. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> --- drivers/mfd/ab8500-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c index a8ee4a3..cf2e6a1 100644 --- a/drivers/mfd/ab8500-core.c +++ b/drivers/mfd/ab8500-core.c @@ -591,7 +591,7 @@ static int ab8500_irq_init(struct ab8500 *ab8500, struct device_node *np) num_irqs = AB8500_NR_IRQS; /* If ->irq_base is zero this will give a linear mapping */ - ab8500->domain = irq_domain_add_simple(NULL, + ab8500->domain = irq_domain_add_simple(ab8500->dev->of_node, num_irqs, 0, &ab8500_irq_ops, ab8500); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 10:07 ` Grygorii Strashko @ 2014-06-02 14:48 ` Kevin Hilman 2014-06-03 9:20 ` Grant Likely 0 siblings, 1 reply; 15+ messages in thread From: Kevin Hilman @ 2014-06-02 14:48 UTC (permalink / raw) To: linux-arm-kernel Grygorii Strashko <grygorii.strashko@ti.com> writes: > Hi All, > > On 05/28/2014 12:03 PM, Grant Likely wrote: [...] >> The bisected patch causes platform_get_irq() to always parse the >> devicetree to obtain the irq instead of using a precalculated value in >> the platform_device. There are two possible scenarios for this problem >> that I can think of: >> 1) Platform_get_irq() is getting called multiple times (which would >> happen on a deferred probe) but the setup code isn't handling it >> properly, like trying to request the GPIO more than once >> 2) the platform_device was preloaded with an irq number that differs >> from what is determined when parsing the tree. This would happen if a >> platform_device was created manually. >> > > Could anyone try attached patch? It has to improve situation, but it > might not fix all problems (see my previous e-mail). I can confirm it makes the STE Snowball boot again on top of next-20150602. > From 4a41912dba648c935982274966426fa430fd5aa4 Mon Sep 17 00:00:00 2001 > From: Grygorii Strashko <grygorii.strashko@ti.com> > Date: Wed, 28 May 2014 12:53:34 +0300 > Subject: [PATCH] mfd: ab8500: fix dt irq mapping > > The AD8500 defines itself as interrupt-controller in DT, > but it doesn't assign DT node to IRQ domain when creates it. > As result, of_irq_xx() helpers don't work because they can't > find necessary IRQ domain. > > Hence, fix it by assigning AD8500 core device DT node to IRQ > domain when it's created. > > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Tested-by: Kevin Hilman <khilman@linaro.org> Kevin ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-06-02 14:48 ` Kevin Hilman @ 2014-06-03 9:20 ` Grant Likely 2014-06-03 11:12 ` Grygorii Strashko 0 siblings, 1 reply; 15+ messages in thread From: Grant Likely @ 2014-06-03 9:20 UTC (permalink / raw) To: linux-arm-kernel On Mon, 02 Jun 2014 07:48:59 -0700, Kevin Hilman <khilman@linaro.org> wrote: > Grygorii Strashko <grygorii.strashko@ti.com> writes: > > > Hi All, > > > > On 05/28/2014 12:03 PM, Grant Likely wrote: > > [...] > > >> The bisected patch causes platform_get_irq() to always parse the > >> devicetree to obtain the irq instead of using a precalculated value in > >> the platform_device. There are two possible scenarios for this problem > >> that I can think of: > >> 1) Platform_get_irq() is getting called multiple times (which would > >> happen on a deferred probe) but the setup code isn't handling it > >> properly, like trying to request the GPIO more than once > >> 2) the platform_device was preloaded with an irq number that differs > >> from what is determined when parsing the tree. This would happen if a > >> platform_device was created manually. > >> > > > > Could anyone try attached patch? It has to improve situation, but it > > might not fix all problems (see my previous e-mail). > > I can confirm it makes the STE Snowball boot again on top of next-20150602. > > > From 4a41912dba648c935982274966426fa430fd5aa4 Mon Sep 17 00:00:00 2001 > > From: Grygorii Strashko <grygorii.strashko@ti.com> > > Date: Wed, 28 May 2014 12:53:34 +0300 > > Subject: [PATCH] mfd: ab8500: fix dt irq mapping > > > > The AD8500 defines itself as interrupt-controller in DT, > > but it doesn't assign DT node to IRQ domain when creates it. > > As result, of_irq_xx() helpers don't work because they can't > > find necessary IRQ domain. > > > > Hence, fix it by assigning AD8500 core device DT node to IRQ > > domain when it's created. > > > > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> > > Tested-by: Kevin Hilman <khilman@linaro.org> So is that it, or were there other problems? If it is then you can add my acked-by when applying. Acked-by: Grant Likely <grant.likely@linaro.org> ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-06-03 9:20 ` Grant Likely @ 2014-06-03 11:12 ` Grygorii Strashko 0 siblings, 0 replies; 15+ messages in thread From: Grygorii Strashko @ 2014-06-03 11:12 UTC (permalink / raw) To: linux-arm-kernel Hi, On 06/03/2014 12:20 PM, Grant Likely wrote: > On Mon, 02 Jun 2014 07:48:59 -0700, Kevin Hilman <khilman@linaro.org> wrote: >> Grygorii Strashko <grygorii.strashko@ti.com> writes: >> >>> Hi All, >>> >>> On 05/28/2014 12:03 PM, Grant Likely wrote: >> >> [...] >> >>>> The bisected patch causes platform_get_irq() to always parse the >>>> devicetree to obtain the irq instead of using a precalculated value in >>>> the platform_device. There are two possible scenarios for this problem >>>> that I can think of: >>>> 1) Platform_get_irq() is getting called multiple times (which would >>>> happen on a deferred probe) but the setup code isn't handling it >>>> properly, like trying to request the GPIO more than once >>>> 2) the platform_device was preloaded with an irq number that differs >>>> from what is determined when parsing the tree. This would happen if a >>>> platform_device was created manually. >>>> >>> >>> Could anyone try attached patch? It has to improve situation, but it >>> might not fix all problems (see my previous e-mail). >> >> I can confirm it makes the STE Snowball boot again on top of next-20150602. >> >>> From 4a41912dba648c935982274966426fa430fd5aa4 Mon Sep 17 00:00:00 2001 >>> From: Grygorii Strashko <grygorii.strashko@ti.com> >>> Date: Wed, 28 May 2014 12:53:34 +0300 >>> Subject: [PATCH] mfd: ab8500: fix dt irq mapping >>> >>> The AD8500 defines itself as interrupt-controller in DT, >>> but it doesn't assign DT node to IRQ domain when creates it. >>> As result, of_irq_xx() helpers don't work because they can't >>> find necessary IRQ domain. >>> >>> Hence, fix it by assigning AD8500 core device DT node to IRQ >>> domain when it's created. >>> >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >> >> Tested-by: Kevin Hilman <khilman@linaro.org> Thanks for testing it. > > So is that it, or were there other problems? If it is then you can add This is minimal solution and some sub-devices of ab8500 MFD may still not work. For example, ab8500-debugfs may not work (ste-dbx5x0.dtsi): ab8500-debugfs { compatible = "stericsson,ab8500-debug"; }; and its DT definition may need to be updated to explicitly define IRQs, smth like this: ab8500-debugfs { compatible = "stericsson,ab8500-debug"; interrupts = <0 IRQ_TYPE_LEVEL_HIGH 111 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "IRQ_FIRST", "IRQ_LAST"; }; > my acked-by when applying. > > Acked-by: Grant Likely <grant.likely@linaro.org> > I've reposted this patch already: https://lkml.org/lkml/2014/6/2/379 Regards, -grygorii ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 8:49 ` Chen-Yu Tsai 2014-05-28 9:03 ` Grant Likely @ 2014-06-11 14:04 ` Linus Walleij 1 sibling, 0 replies; 15+ messages in thread From: Linus Walleij @ 2014-06-11 14:04 UTC (permalink / raw) To: linux-arm-kernel On Wed, May 28, 2014 at 10:49 AM, Chen-Yu Tsai <wens@csie.org> wrote: > Log says musb is wrestling control over some pins with some other driver: > > [ 1.441497] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already > requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto > [ 1.453369] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) > status -22 > [ 1.460571] pinctrl-nomadik soc:pinctrl: could not request pin 256 > (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik > [ 1.472076] musb-hdrc musb-hdrc.0.auto: Error applying setting, > reverse things back > [ 1.479827] HS USB OTG: no transceiver configured > [ 1.484558] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed > with status -517 > [ 1.492309] platform musb-hdrc.0.auto: Driver musb-hdrc requests > probe deferral > [ 1.500183] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already > requested by a03e0000.usb_per5; cannot claim for musb-hdrc.0.auto > [ 1.512023] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.0.auto) > status -22 > [ 1.519226] pinctrl-nomadik soc:pinctrl: could not request pin 256 > (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik > [ 1.530731] musb-ux500 musb-hdrc.0.auto: Error applying setting, > reverse things back > [ 1.539184] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already > requested by a03e0000.usb_per5; cannot claim for musb-hdrc.1.auto > [ 1.551025] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.1.auto) > status -22 > [ 1.558258] pinctrl-nomadik soc:pinctrl: could not request pin 256 > (GPIO256_AF28) from group usb_a_1 on device pinctrl-nomadik > [ 1.569732] musb-hdrc musb-hdrc.1.auto: Error applying setting, > reverse things back > [ 1.577453] HS USB OTG: no transceiver configured > > [ .. repeats until the end .. ] > > I think this is not related to this patch. No that is fixed i this patch: http://marc.info/?l=linux-usb&m=140239049219096&w=2 Yours, Linus Walleij ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 0:37 ` Rob Herring 2014-05-28 7:18 ` Lee Jones @ 2014-05-28 8:39 ` Grant Likely 2014-05-28 9:49 ` Grygorii Strashko 2 siblings, 0 replies; 15+ messages in thread From: Grant Likely @ 2014-05-28 8:39 UTC (permalink / raw) To: linux-arm-kernel On Tue, 27 May 2014 19:37:00 -0500, Rob Herring <robh@kernel.org> wrote: > On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: > > On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: > >> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: > >>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef > >>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - > >>> moves resolving of the interrupt resources in platform_get_irq(). > >>> But this solution isn't complete because platform_get_irq_byname() > >>> need to be modified the same way. > >>> > >>> Hence, fix it by adding interrupt resolution code at the > >>> platform_get_irq_byname() function too. > >>> > >>> Cc: Russell King <linux@arm.linux.org.uk> > >>> Cc: Rob Herring <robh@kernel.org> > >>> Cc: Tony Lindgren <tony@atomide.com> > >>> Cc: Grant Likely <grant.likely@linaro.org> > >>> Cc: Thierry Reding <thierry.reding@gmail.com> > >>> > >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> > >> > >> Applied, Thanks. > > > > As of next-20150526, the ST u8500 Snowball board has been failing boot > > in linux-next, and was bisected down to this patch (commit > > ad69674e73a1 in -next). Full boot failure attached. > > > > I have not dug any deeper, but can confirm that next-20140526 with > > this patch reverted boots again on the snowball board. > > There's a patch on the list which fixes it. The problem is stmmac > driver was expecting only one error code. Can you send me a link to this patch? I cannot find it in my inbox. g. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() 2014-05-28 0:37 ` Rob Herring 2014-05-28 7:18 ` Lee Jones 2014-05-28 8:39 ` Grant Likely @ 2014-05-28 9:49 ` Grygorii Strashko 2 siblings, 0 replies; 15+ messages in thread From: Grygorii Strashko @ 2014-05-28 9:49 UTC (permalink / raw) To: linux-arm-kernel Hi All, On 05/28/2014 03:37 AM, Rob Herring wrote: > On Tue, May 27, 2014 at 3:23 PM, Kevin Hilman <khilman@linaro.org> wrote: >> On Fri, May 23, 2014 at 1:03 AM, Grant Likely <grant.likely@linaro.org> wrote: >>> On Tue, 20 May 2014 13:42:02 +0300, Grygorii Strashko <grygorii.strashko@ti.com> wrote: >>>> The commit 9ec36cafe43bf835f8f29273597a5b0cbc8267ef >>>> "of/irq: do irq resolution in platform_get_irq" from Rob Herring - >>>> moves resolving of the interrupt resources in platform_get_irq(). >>>> But this solution isn't complete because platform_get_irq_byname() >>>> need to be modified the same way. >>>> >>>> Hence, fix it by adding interrupt resolution code at the >>>> platform_get_irq_byname() function too. >>>> >>>> Cc: Russell King <linux@arm.linux.org.uk> >>>> Cc: Rob Herring <robh@kernel.org> >>>> Cc: Tony Lindgren <tony@atomide.com> >>>> Cc: Grant Likely <grant.likely@linaro.org> >>>> Cc: Thierry Reding <thierry.reding@gmail.com> >>>> >>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >>> >>> Applied, Thanks. >> >> As of next-20150526, the ST u8500 Snowball board has been failing boot >> in linux-next, and was bisected down to this patch (commit >> ad69674e73a1 in -next). Full boot failure attached. >> >> I have not dug any deeper, but can confirm that next-20140526 with >> this patch reverted boots again on the snowball board. > > There's a patch on the list which fixes it. The problem is stmmac > driver was expecting only one error code. > Seems root cause of problem is hidden inside MFD ab8500-core.c :( And it's related to simulations supporting of DT and non-DT devices. For example: ----- Log file contains lines [ 0.919677] ab8500-debug ab8500-debug.0: First irq not found, err -22 [ 0.926147] ab8500-debug: probe of ab8500-debug.0 failed with error -22 DT definition of ab8500-debug is specified as following (ste-dbx5x0.dtsi): ab8500-debugfs { compatible = "stericsson,ab8500-debug"; }; In code ab8500-debug is created using mfd_add_devices() API which fills device's resources manually, but, in same time, It links ab8500-debug device to DT node because MFD cell has of_compatible property set to: .of_compatible = "stericsson,ab8500-debug", Problem: both new versions of APIs platform_get_irq_byname() and platform_get_irq() will fail to get IRQ. Another problem is: [ 1.038909] abx5x0-usb ab8500-usb.0: Link status irq not found - looking on it now - it should work Best regards, -grygorii ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-06-11 14:04 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-05-20 10:42 [PATCH v1] of/irq: do irq resolution in platform_get_irq_byname() Grygorii Strashko 2014-05-23 8:03 ` Grant Likely 2014-05-27 20:23 ` Kevin Hilman 2014-05-28 0:37 ` Rob Herring 2014-05-28 7:18 ` Lee Jones 2014-05-28 8:25 ` Linus Walleij 2014-05-28 8:49 ` Chen-Yu Tsai 2014-05-28 9:03 ` Grant Likely 2014-05-28 10:07 ` Grygorii Strashko 2014-06-02 14:48 ` Kevin Hilman 2014-06-03 9:20 ` Grant Likely 2014-06-03 11:12 ` Grygorii Strashko 2014-06-11 14:04 ` Linus Walleij 2014-05-28 8:39 ` Grant Likely 2014-05-28 9:49 ` Grygorii Strashko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).