linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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: Greg Kroah-Hartman, Rob Herring, Grant Likely
  Cc: santosh.shilimkar, linux-kernel, devicetree, linux-arm-kernel,
	Grygorii Strashko, Russell King, Rob Herring, Tony Lindgren,
	Thierry Reding

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

* Re: [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: Grygorii Strashko, Greg Kroah-Hartman, Rob Herring
  Cc: santosh.shilimkar, linux-kernel, devicetree, linux-arm-kernel,
	Grygorii Strashko, Russell King, Rob Herring, Tony Lindgren,
	Thierry Reding

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

* Re: [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: Grant Likely
  Cc: Grygorii Strashko, Greg Kroah-Hartman, Rob Herring, devicetree,
	Russell King, Rob Herring, Tony Lindgren, LKML, Thierry Reding,
	Santosh Shilimkar, linux-arm-kernel, Lee Jones, Linus Walleij,
	Olof Johansson

[-- Attachment #1: Type: text/plain, Size: 1198 bytes --]

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

[-- Attachment #2: boot-ste-snowball.log --]
[-- Type: text/x-log, Size: 41500 bytes --]

Connected to snowball console [channel connected] (~$quit to exit)
(user:khilman) is already connected

~$hardreset

Command(snowball console)> hardreset
(user:khilman) Reboot snowball

MCDE:  startup failed
sec_bridge: ISSWAPI_FLUSH_BOOT_CODE: 2
EMMC: 0, MMC: 1
In:    serial
Out:   serial
Err:   serial
Net:   smc911x-0
Hit any key to stop autoboot:  1 \b\b\b 0

U8500 $ 
U8500 $ version

U8500 $ versionsetenv ethaddr 6e:e6:84:36:8e:9e


U-Boot 2009.11 (sept. 19 2011 - 17:03:11)
U8500 $ setenv ethaddr 6e:e6:84:36:8e:9esetenv bootargs console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4

Can't overwrite "ethaddr"
U8500 $ setenv bootargs console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4setenv netargs 'setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:::none:192.168.1.254'

U8500 $ setenv netargs 'setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:::none:192.168.1.254'if test -n ${initenv}; then run initenv; fi

U8500 $ if test -n ${initenv}; then run initenv; fiif test -n ${preboot}; then run preboot; fi

U8500 $ if test -n ${preboot}; then run preboot; fisetenv autoload no; setenv autoboot no

U8500 $ setenv autoload no; setenv autoboot nodhcp

U8500 $ dhcp
smc911x: detected LAN9221 controller
smc911x: phy initialized
smc911x: MAC 6e:e6:84:36:8e:9e
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.1.159
U8500 $ setenv serverip 192.168.1.2
setenv serverip 192.168.1.2
U8500 $ if test -n ${netargs}; then run netargs; fi
if test -n ${netargs}; then run netargs; fi
U8500 $ tftp 0x00800000 192.168.1.2:tmp/snowball-CDNi__/tmpIadw30-uImage
tftp 0x00800000 192.168.1.2:tmp/snowball-CDNi__/tmpIadw30-uImage
smc911x: detected LAN9221 controller
smc911x: phy initialized
smc911x: MAC 6e:e6:84:36:8e:9e
Using smc911x-0 device
TFTP from server 192.168.1.2; our IP address is 192.168.1.159
Filename 'tmp/snowball-CDNi__/tmpIadw30-uImage'.
Load address: 0x800000
Loading: *\b#################################################################
	 #################################################################
	 #################################################################
	 ##############################
done
Bytes transferred = 3295829 (324a55 hex)
U8500 $ printenv bootargs
printenv bootargs
bootargs=console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4 ip=192.168.1.159:192.168.1.2:192.168.1.254:255.255.255.0:::none:192.168.1.254
U8500 $ bootm 0x00800000  
bootm 0x00800000  
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3295765 Bytes =  3.1 MB
   Load Address: 00008000
   Entry Point:  00008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x300
[    0.000000] Linux version 3.15.0-rc7-next-20140526 (buildslave@kbuilderdedi01) (gcc version 4.7.1 (Ubuntu/Linaro 4.7.1-5ubuntu1~ppa1) ) #1 SMP PREEMPT Mon May 26 11:59:19 CEST 2014
[    0.000000] CPU: ARMv7 Processor [412fc091] revision 1 (ARMv7), cr=10c5787d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Calao Systems Snowball platform with device tree
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] DB8500 v2.2 [0x008500b2]
[    0.000000] On node 0 totalpages: 262144
[    0.000000] free_area_init_node: node 0, pgdat c0611500, node_mem_map eeff5000
[    0.000000]   Normal zone: 1520 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 194560 pages, LIFO batch:31
[    0.000000]   HighMem zone: 528 pages used for memmap
[    0.000000]   HighMem zone: 67584 pages, LIFO batch:15
[    0.000000] PERCPU: Embedded 7 pages/cpu @eefb8000 s7552 r8192 d12928 u32768
[    0.000000] pcpu-alloc: s7552 r8192 d12928 u32768 alloc=8*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
[    0.000000] Kernel command line: console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4 ip=192.168.1.159:192.168.1.2:192.168.1.254:255.255.255.0:::none:192.168.1.254
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1032848K/1048576K available (4397K kernel code, 208K rwdata, 1384K rodata, 187K init, 234K bss, 15728K reserved, 270336K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc05ad90c   (5783 kB)
[    0.000000]       .init : 0xc05ae000 - 0xc05dcd80   ( 188 kB)
[    0.000000]       .data : 0xc05de000 - 0xc0612120   ( 209 kB)
[    0.000000]        .bss : 0xc061212c - 0xc064cac4   ( 235 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000030] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65536000000000ns
[    0.000183] Switching to timer-based delay loop
[    0.001251] Console: colour dummy device 80x30
[    0.001281] Calibrating delay loop (skipped), value calculated using timer frequency.. 4.80 BogoMIPS (lpj=24000)
[    0.001312] pid_max: default: 32768 minimum: 301
[    0.001495] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001525] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.002288] CPU: Testing write buffer coherency: ok
[    0.002838] missing device node for CPU 0
[    0.002990] missing device node for CPU 1
[    0.003021] CPU0: thread -1, cpu 0, socket 3, mpidr 80000300
[    0.003143] Setting up static identity map for 0x42bcb8 - 0x42bd10
[    0.003265] L2C-310 erratum 753970 enabled
[    0.003295] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.003295] L2C-310: CACHE_ID 0x410000c5, AUX_CTRL 0x7ec60800
[    0.060943] CPU1: Booted secondary processor
[    0.060943] CPU1: thread -1, cpu 1, socket 3, mpidr 80000301
[    0.061004] Brought up 2 CPUs
[    0.061004] SMP: Total of 2 processors activated.
[    0.061035] CPU: All CPU(s) started in SVC mode.
[    0.061462] devtmpfs: initialized
[    0.064636] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 2
[    0.065093] pinctrl core: initialized pinctrl subsystem
[    0.065795] regulator-dummy: no parameters
[    0.074615] NET: Registered protocol family 16
[    0.075347] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.076354] cpuidle: using governor ladder
[    0.076385] cpuidle: using governor menu
[    0.078613] gpio 8012e000.gpio: at address f812e000
[    0.079071] gpio 8012e080.gpio: at address f812e080
[    0.079498] gpio 8000e000.gpio: at address f800e000
[    0.079925] gpio 8000e080.gpio: at address f800e080
[    0.080383] gpio 8000e100.gpio: at address f800e100
[    0.080810] gpio 8000e180.gpio: at address f800e180
[    0.081268] gpio 8011e000.gpio: at address f811e000
[    0.081695] gpio 8011e080.gpio: at address f811e080
[    0.082122] gpio a03fe000.gpio: at address fa3fe000
[    0.082916] pinctrl-nomadik soc:pinctrl: initialized Nomadik pin control driver
[    0.083618] PRCMU firmware: U8500(2), version 3.4.3
[    0.084808] ab8500-core ab8500-core.0: detected chip, AB8500 rev. 3.0
[    0.084838] ab8500-core ab8500-core.0: switch off cause(s) (0x20): 
[    0.084838]  "Battery level lower than power on reset threshold"
[    0.084869] ab8500-core ab8500-core.0: turn on reason(s) (0x20): 
[    0.084899] "Vbus Detect (USB)" 
[    0.087799] abx500-gpio pinctrl-ab8500.0: added gpiochip
[    0.092285] abx500-gpio pinctrl-ab8500.0: registered pin controller
[    0.092315] abx500-gpio pinctrl-ab8500.0: initialized abx500 pinctrl driver
[    0.093658] DB8500 PRCMU initialized
[    0.100982] db8500-vape: no parameters
[    0.101196] db8500-varm: no parameters
[    0.101379] db8500-vmodem: no parameters
[    0.101593] db8500-vpll: no parameters
[    0.101776] db8500-vsmps1: no parameters
[    0.101959] db8500-vsmps2: at 1800 mV 
[    0.102172] db8500-vsmps3: no parameters
[    0.102355] db8500-vrf1: no parameters
[    0.102508] db8500-sva-mmdsp: no parameters
[    0.102691] db8500-sva-mmdsp-ret: no parameters
[    0.102905] db8500-sva-pipe: no parameters
[    0.103088] db8500-sia-mmdsp: no parameters
[    0.103302] db8500-sia-mmdsp-ret: no parameters
[    0.103485] db8500-sia-pipe: no parameters
[    0.103668] db8500-sga: no parameters
[    0.103851] db8500-b2r2-mcde: no parameters
[    0.104034] db8500-esram12: no parameters
[    0.104217] db8500-esram12-ret: no parameters
[    0.104400] db8500-esram34: no parameters
[    0.104583] db8500-esram34-ret: no parameters
[    0.104797] Serial: AMBA PL011 UART driver
[    0.105224] 80120000.uart: ttyAMA0 at MMIO 0x80120000 (irq = 43, base_baud = 0) is a PL011 rev3
[    0.105865] 80121000.uart: ttyAMA1 at MMIO 0x80121000 (irq = 51, base_baud = 0) is a PL011 rev3
[    0.106445] 80007000.uart: ttyAMA2 at MMIO 0x80007000 (irq = 58, base_baud = 0) is a PL011 rev3
[    0.709106] console [ttyAMA2] enabled
[    0.713317] abx500-clk abx500-clk.0: register clocks for ab850x
[    0.751556] dma40 801c0000.dma-controller: hardware rev: 3 @ 0x801c0000 with 8 physical and 256 logical channels
[    0.761993] dma40 801c0000.dma-controller: 7 of 8 physical DMA channels available
[    0.769470] dma40 801c0000.dma-controller: [d40_phy_res_init] INFO: channel 4 is misconfigured (0)
[    0.778442] dma40 801c0000.dma-controller: [d40_phy_res_init] INFO: channel 5 is misconfigured (0)
[    0.787414] dma40 801c0000.dma-controller: [d40_phy_res_init] INFO: channel 6 is misconfigured (0)
[    0.829864] dma40 801c0000.dma-controller: initialized
[    0.836029] en-3v3-fixed-supply: 3300 mV 
[    0.840576] ab8500-ext-supply1: 1800 mV 
[    0.844848] ab8500-ext-supply2: 1360 mV 
[    0.849060] ab8500-ext-supply3: 3400 mV 
[    0.860321] V-DISPLAY: 2500 <--> 2900 mV at 2500 mV 
[    0.865447] V-DISPLAY: supplied by ab8500-ext-supply3
[    0.870910] V-eMMC1: 1100 <--> 3300 mV at 2900 mV 
[    0.875793] V-eMMC1: supplied by ab8500-ext-supply3
[    0.880981] V-MMC-SD: 1200 <--> 2910 mV at 2910 mV 
[    0.885955] V-MMC-SD: supplied by ab8500-ext-supply3
[    0.891235] V-INTCORE: at 1250 mV 
[    0.894866] V-TVOUT: 2000 mV 
[    0.898040] V-AUD: 2000 mV 
[    0.901031] V-AMIC1: 2050 mV 
[    0.904174] V-AMIC2: 2050 mV 
[    0.907318] V-DMIC: 1800 mV 
[    0.910400] V-CSI/DSI: 1200 mV 
[    0.913574] V-CSI/DSI: Failed to create debugfs directory
[    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
[    0.933227] ssp-pl022 80002000.ssp: ARM PL022 driver, device ID: 0x01080022
[    0.940246] ssp-pl022 80002000.ssp: mapped registers from 0x80002000 to f0084000
[    0.948120] ssp-pl022 80003000.ssp: ARM PL022 driver, device ID: 0x01080022
[    0.955139] ssp-pl022 80003000.ssp: mapped registers from 0x80003000 to f0086000
[    0.962890] ssp-pl022 8011a000.spi: ARM PL022 driver, device ID: 0x00080023
[    0.969879] ssp-pl022 8011a000.spi: mapped registers from 0x8011a000 to f0088000
[    0.977600] ssp-pl022 80112000.spi: ARM PL022 driver, device ID: 0x00080023
[    0.984619] ssp-pl022 80112000.spi: mapped registers from 0x80112000 to f008a000
[    0.992340] ssp-pl022 80111000.spi: ARM PL022 driver, device ID: 0x00080023
[    0.999328] ssp-pl022 80111000.spi: mapped registers from 0x80111000 to f008c000
[    1.007049] ssp-pl022 80129000.spi: ARM PL022 driver, device ID: 0x00080023
[    1.014068] ssp-pl022 80129000.spi: mapped registers from 0x80129000 to f008e000
[    1.022430] usbcore: registered new interface driver usbfs
[    1.028015] usbcore: registered new interface driver hub
[    1.033477] usbcore: registered new device driver usb
[    1.038909] abx5x0-usb ab8500-usb.0: Link status irq not found
[    1.044860] platform ab8500-usb.0: Driver abx5x0-usb requests probe deferral
[    1.052642] nmk-i2c 80004000.i2c: initialize Nomadik I2C at [mem 0x80004000-0x80004fff] on virtual base f0090000
[    1.063323] nmk-i2c 80122000.i2c: initialize Nomadik I2C at [mem 0x80122000-0x80122fff] on virtual base f0092000
[    1.073913] nmk-i2c 80128000.i2c: initialize Nomadik I2C at [mem 0x80128000-0x80128fff] on virtual base f0094000
[    1.084655] nmk-i2c 80110000.i2c: initialize Nomadik I2C at [mem 0x80110000-0x80110fff] on virtual base f0096000
[    1.095123] nmk-i2c 8012a000.i2c: initialize Nomadik I2C at [mem 0x8012a000-0x8012afff] on virtual base f0098000
[    1.106140] Advanced Linux Sound Architecture Driver Initialized.
[    1.113037] cfg80211: Calling CRDA to update world regulatory domain
[    1.119659] (NULL device *): failed to get platform sw_conv_end irq
[    1.125976] (NULL device *): failed to get platform hw_conv_end irq
[    1.140777] Switched to clocksource dbx500-prcmu-timer
[    1.158691] NET: Registered protocol family 2
[    1.163665] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    1.170745] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    1.177337] TCP: Hash tables configured (established 8192 bind 8192)
[    1.183776] TCP: reno registered
[    1.187011] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    1.192993] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    1.199523] NET: Registered protocol family 1
[    1.204162] RPC: Registered named UNIX socket transport module.
[    1.210052] RPC: Registered udp transport module.
[    1.214813] RPC: Registered tcp transport module.
[    1.219512] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.227630] futex hash table entries: 512 (order: 3, 32768 bytes)
[    1.242248] msgmni has been set to 1489
[    1.246734] bounce: pool size: 64 pages
[    1.250579] io scheduler noop registered
[    1.254516] io scheduler deadline registered
[    1.258972] io scheduler cfq registered (default)
[    1.264068] uart-pl011 80120000.uart: DMA channel TX dma0chan12
[    1.270019] uart-pl011 80120000.uart: DMA channel RX dma0chan13
[    1.275970] uart-pl011 80121000.uart: DMA channel TX dma0chan14
[    1.281921] uart-pl011 80121000.uart: DMA channel RX dma0chan15
[    1.287872] uart-pl011 80007000.uart: DMA channel TX dma0chan16
[    1.293853] uart-pl011 80007000.uart: DMA channel RX dma0chan17
[    1.305633] brd: module loaded
[    1.338226] libphy: smsc911x-mdio: probed
[    1.421020] smsc911x 50000000.ethernet eth0: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=50000000.etherne:01, irq=-1)
[    1.432647] smsc911x 50000000.ethernet eth0: MAC Address: d6:35:1e:0a:80:29
[    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
[    1.582183] musb-hdrc musb-hdrc.1.auto: musb_init_controller failed with status -517
[    1.589935] platform musb-hdrc.1.auto: Driver musb-hdrc requests probe deferral
[    1.597778] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.1.auto
[    1.609619] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.1.auto) status -22
[    1.616851] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.628326] musb-ux500 musb-hdrc.1.auto: Error applying setting, reverse things back
[    1.636779] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.2.auto
[    1.648620] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.2.auto) status -22
[    1.655853] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.667327] musb-hdrc musb-hdrc.2.auto: Error applying setting, reverse things back
[    1.675048] HS USB OTG: no transceiver configured
[    1.679748] musb-hdrc musb-hdrc.2.auto: musb_init_controller failed with status -517
[    1.687530] platform musb-hdrc.2.auto: Driver musb-hdrc requests probe deferral
[    1.695373] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.2.auto
[    1.707214] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.2.auto) status -22
[    1.714447] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.725921] musb-ux500 musb-hdrc.2.auto: Error applying setting, reverse things back
[    1.734344] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.3.auto
[    1.746185] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.3.auto) status -22
[    1.753417] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.764892] musb-hdrc musb-hdrc.3.auto: Error applying setting, reverse things back
[    1.772613] HS USB OTG: no transceiver configured
[    1.777313] musb-hdrc musb-hdrc.3.auto: musb_init_controller failed with status -517
[    1.785095] platform musb-hdrc.3.auto: Driver musb-hdrc requests probe deferral
[    1.792938] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.3.auto
[    1.804779] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.3.auto) status -22
[    1.812011] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.823486] musb-ux500 musb-hdrc.3.auto: Error applying setting, reverse things back
[    1.831909] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.4.auto
[    1.843749] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.4.auto) status -22
[    1.850982] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.862457] musb-hdrc musb-hdrc.4.auto: Error applying setting, reverse things back
[    1.870178] HS USB OTG: no transceiver configured
[    1.874877] musb-hdrc musb-hdrc.4.auto: musb_init_controller failed with status -517
[    1.882659] platform musb-hdrc.4.auto: Driver musb-hdrc requests probe deferral
[    1.890472] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.4.auto
[    1.902313] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.4.auto) status -22
[    1.909545] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.921020] musb-ux500 musb-hdrc.4.auto: Error applying setting, reverse things back
[    1.929443] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.5.auto
[    1.941284] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.5.auto) status -22
[    1.948516] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    1.959991] musb-hdrc musb-hdrc.5.auto: Error applying setting, reverse things back
[    1.967712] HS USB OTG: no transceiver configured
[    1.972442] musb-hdrc musb-hdrc.5.auto: musb_init_controller failed with status -517
[    1.980194] platform musb-hdrc.5.auto: Driver musb-hdrc requests probe deferral
[    1.988006] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.5.auto
[    1.999847] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.5.auto) status -22
[    2.007080] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.018585] musb-ux500 musb-hdrc.5.auto: Error applying setting, reverse things back
[    2.026977] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.6.auto
[    2.038848] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.6.auto) status -22
[    2.046081] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.057556] musb-hdrc musb-hdrc.6.auto: Error applying setting, reverse things back
[    2.065307] HS USB OTG: no transceiver configured
[    2.070037] musb-hdrc musb-hdrc.6.auto: musb_init_controller failed with status -517
[    2.077789] platform musb-hdrc.6.auto: Driver musb-hdrc requests probe deferral
[    2.085662] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.6.auto
[    2.097473] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.6.auto) status -22
[    2.104705] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.116210] musb-ux500 musb-hdrc.6.auto: Error applying setting, reverse things back
[    2.124633] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.7.auto
[    2.136474] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.7.auto) status -22
[    2.143707] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.155181] musb-hdrc musb-hdrc.7.auto: Error applying setting, reverse things back
[    2.162902] HS USB OTG: no transceiver configured
[    2.167602] musb-hdrc musb-hdrc.7.auto: musb_init_controller failed with status -517
[    2.175384] platform musb-hdrc.7.auto: Driver musb-hdrc requests probe deferral
[    2.183227] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.7.auto
[    2.195068] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.7.auto) status -22
[    2.202301] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.213775] musb-ux500 musb-hdrc.7.auto: Error applying setting, reverse things back
[    2.222198] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.8.auto
[    2.234039] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.8.auto) status -22
[    2.241271] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.252746] musb-hdrc musb-hdrc.8.auto: Error applying setting, reverse things back
[    2.260467] HS USB OTG: no transceiver configured
[    2.265197] musb-hdrc musb-hdrc.8.auto: musb_init_controller failed with status -517
[    2.272949] platform musb-hdrc.8.auto: Driver musb-hdrc requests probe deferral
[    2.280792] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.8.auto
[    2.292633] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.8.auto) status -22
[    2.299865] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.311340] musb-ux500 musb-hdrc.8.auto: Error applying setting, reverse things back
[    2.319732] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.9.auto
[    2.331604] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.9.auto) status -22
[    2.338806] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.350311] musb-hdrc musb-hdrc.9.auto: Error applying setting, reverse things back
[    2.358032] HS USB OTG: no transceiver configured
[    2.362731] musb-hdrc musb-hdrc.9.auto: musb_init_controller failed with status -517
[    2.370483] platform musb-hdrc.9.auto: Driver musb-hdrc requests probe deferral
[    2.378326] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.9.auto
[    2.390167] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.9.auto) status -22
[    2.397399] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.408874] musb-ux500 musb-hdrc.9.auto: Error applying setting, reverse things back
[    2.417297] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.10.auto
[    2.429260] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.10.auto) status -22
[    2.436584] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.448059] musb-hdrc musb-hdrc.10.auto: Error applying setting, reverse things back
[    2.455871] HS USB OTG: no transceiver configured
[    2.460571] musb-hdrc musb-hdrc.10.auto: musb_init_controller failed with status -517
[    2.468444] platform musb-hdrc.10.auto: Driver musb-hdrc requests probe deferral
[    2.476348] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.10.auto
[    2.488281] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.10.auto) status -22
[    2.495605] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.507080] musb-ux500 musb-hdrc.10.auto: Error applying setting, reverse things back
[    2.515624] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.11.auto
[    2.527557] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.11.auto) status -22
[    2.534881] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.546356] musb-hdrc musb-hdrc.11.auto: Error applying setting, reverse things back
[    2.554168] HS USB OTG: no transceiver configured
[    2.558868] musb-hdrc musb-hdrc.11.auto: musb_init_controller failed with status -517
[    2.566711] platform musb-hdrc.11.auto: Driver musb-hdrc requests probe deferral
[    2.574645] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.11.auto
[    2.586578] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.11.auto) status -22
[    2.593902] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.605377] musb-ux500 musb-hdrc.11.auto: Error applying setting, reverse things back
[    2.613891] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.12.auto
[    2.625823] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.12.auto) status -22
[    2.633148] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.644622] musb-hdrc musb-hdrc.12.auto: Error applying setting, reverse things back
[    2.652435] HS USB OTG: no transceiver configured
[    2.657135] musb-hdrc musb-hdrc.12.auto: musb_init_controller failed with status -517
[    2.665008] platform musb-hdrc.12.auto: Driver musb-hdrc requests probe deferral
[    2.672912] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.12.auto
[    2.684844] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.12.auto) status -22
[    2.692169] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.703643] musb-ux500 musb-hdrc.12.auto: Error applying setting, reverse things back
[    2.712158] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.13.auto
[    2.724090] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.13.auto) status -22
[    2.731414] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.742889] musb-hdrc musb-hdrc.13.auto: Error applying setting, reverse things back
[    2.750701] HS USB OTG: no transceiver configured
[    2.755432] musb-hdrc musb-hdrc.13.auto: musb_init_controller failed with status -517
[    2.763275] platform musb-hdrc.13.auto: Driver musb-hdrc requests probe deferral
[    2.771209] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.13.auto
[    2.783142] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.13.auto) status -22
[    2.790435] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.801910] musb-ux500 musb-hdrc.13.auto: Error applying setting, reverse things back
[    2.810424] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.14.auto
[    2.822357] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.14.auto) status -22
[    2.829650] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.841125] musb-hdrc musb-hdrc.14.auto: Error applying setting, reverse things back
[    2.848937] HS USB OTG: no transceiver configured
[    2.853668] musb-hdrc musb-hdrc.14.auto: musb_init_controller failed with status -517
[    2.861511] platform musb-hdrc.14.auto: Driver musb-hdrc requests probe deferral
[    2.869415] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.14.auto
[    2.881347] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.14.auto) status -22
[    2.888641] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.900146] musb-ux500 musb-hdrc.14.auto: Error applying setting, reverse things back
[    2.908660] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.15.auto
[    2.920593] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.15.auto) status -22
[    2.927886] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.939392] musb-hdrc musb-hdrc.15.auto: Error applying setting, reverse things back
[    2.947204] HS USB OTG: no transceiver configured
[    2.951904] musb-hdrc musb-hdrc.15.auto: musb_init_controller failed with status -517
[    2.959747] platform musb-hdrc.15.auto: Driver musb-hdrc requests probe deferral
[    2.967681] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.15.auto
[    2.979614] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.15.auto) status -22
[    2.986938] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    2.998413] musb-ux500 musb-hdrc.15.auto: Error applying setting, reverse things back
[    3.006927] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.16.auto
[    3.018859] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.16.auto) status -22
[    3.026184] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.037658] musb-hdrc musb-hdrc.16.auto: Error applying setting, reverse things back
[    3.045471] HS USB OTG: no transceiver configured
[    3.050170] musb-hdrc musb-hdrc.16.auto: musb_init_controller failed with status -517
[    3.058044] platform musb-hdrc.16.auto: Driver musb-hdrc requests probe deferral
[    3.065979] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.16.auto
[    3.077911] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.16.auto) status -22
[    3.085235] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.096710] musb-ux500 musb-hdrc.16.auto: Error applying setting, reverse things back
[    3.105224] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.17.auto
[    3.117156] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.17.auto) status -22
[    3.124481] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.135955] musb-hdrc musb-hdrc.17.auto: Error applying setting, reverse things back
[    3.143798] HS USB OTG: no transceiver configured
[    3.148498] musb-hdrc musb-hdrc.17.auto: musb_init_controller failed with status -517
[    3.156341] platform musb-hdrc.17.auto: Driver musb-hdrc requests probe deferral
[    3.164276] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.17.auto
[    3.176177] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.17.auto) status -22
[    3.183502] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.194976] musb-ux500 musb-hdrc.17.auto: Error applying setting, reverse things back
[    3.203491] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.18.auto
[    3.215423] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.18.auto) status -22
[    3.222747] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.234222] musb-hdrc musb-hdrc.18.auto: Error applying setting, reverse things back
[    3.242065] HS USB OTG: no transceiver configured
[    3.246765] musb-hdrc musb-hdrc.18.auto: musb_init_controller failed with status -517
[    3.254608] platform musb-hdrc.18.auto: Driver musb-hdrc requests probe deferral
[    3.262512] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.18.auto
[    3.274444] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.18.auto) status -22
[    3.281768] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.293243] musb-ux500 musb-hdrc.18.auto: Error applying setting, reverse things back
[    3.301757] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.19.auto
[    3.313690] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.19.auto) status -22
[    3.321014] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.332489] musb-hdrc musb-hdrc.19.auto: Error applying setting, reverse things back
[    3.340301] HS USB OTG: no transceiver configured
[    3.345031] musb-hdrc musb-hdrc.19.auto: musb_init_controller failed with status -517
[    3.352874] platform musb-hdrc.19.auto: Driver musb-hdrc requests probe deferral
[    3.360809] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.19.auto
[    3.372741] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.19.auto) status -22
[    3.380035] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.391510] musb-ux500 musb-hdrc.19.auto: Error applying setting, reverse things back
[    3.400024] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.20.auto
[    3.411956] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.20.auto) status -22
[    3.419281] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.430786] musb-hdrc musb-hdrc.20.auto: Error applying setting, reverse things back
[    3.438598] HS USB OTG: no transceiver configured
[    3.443298] musb-hdrc musb-hdrc.20.auto: musb_init_controller failed with status -517
[    3.451171] platform musb-hdrc.20.auto: Driver musb-hdrc requests probe deferral
[    3.459075] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.20.auto
[    3.471008] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.20.auto) status -22
[    3.478302] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.489807] musb-ux500 musb-hdrc.20.auto: Error applying setting, reverse things back
[    3.498321] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.21.auto
[    3.510253] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.21.auto) status -22
[    3.517578] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.529052] musb-hdrc musb-hdrc.21.auto: Error applying setting, reverse things back
[    3.536865] HS USB OTG: no transceiver configured
[    3.541595] musb-hdrc musb-hdrc.21.auto: musb_init_controller failed with status -517
[    3.549438] platform musb-hdrc.21.auto: Driver musb-hdrc requests probe deferral
[    3.557342] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.21.auto
[    3.569274] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.21.auto) status -22
[    3.576599] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.588073] musb-ux500 musb-hdrc.21.auto: Error applying setting, reverse things back
[    3.596618] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.22.auto
[    3.608551] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.22.auto) status -22
[    3.615875] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.627349] musb-hdrc musb-hdrc.22.auto: Error applying setting, reverse things back
[    3.635162] HS USB OTG: no transceiver configured
[    3.639862] musb-hdrc musb-hdrc.22.auto: musb_init_controller failed with status -517
[    3.647735] platform musb-hdrc.22.auto: Driver musb-hdrc requests probe deferral
[    3.655639] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.22.auto
[    3.667572] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.22.auto) status -22
[    3.674896] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.686370] musb-ux500 musb-hdrc.22.auto: Error applying setting, reverse things back
[    3.694885] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.23.auto
[    3.706817] pinctrl-nomadik soc:pinctrl: pin-256 (musb-hdrc.23.auto) status -22
[    3.714141] pinctrl-nomadik soc:pinctrl: could not request pin 256 (GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
[    3.725616] musb-hdrc musb-hdrc.23.auto: Error applying setting, reverse things back
[    3.733428] HS USB OTG: no transceiver configured
[    3.738128] musb-hdrc musb-hdrc.23.auto: musb_init_controller failed with status -517
[    3.746002] platform musb-hdrc.23.auto: Driver musb-hdrc requests probe deferral
[    3.753906] pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already requested by a03e0000.usb_per5; cannot claim for musb-hdrc.23.auto
~$off
# PYBOOT: Exception: kernel: ERROR: failed to boot: <class 'pexpect.TIMEOUT'>
# PYBOOT: Time: 116.49 seconds.
# PYBOOT: Result: FAIL

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [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: Kevin Hilman
  Cc: Grant Likely, Grygorii Strashko, Greg Kroah-Hartman, Rob Herring,
	devicetree, Russell King, Tony Lindgren, LKML, Thierry Reding,
	Santosh Shilimkar, linux-arm-kernel, Lee Jones, Linus Walleij,
	Olof Johansson

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

* Re: [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: Rob Herring
  Cc: Kevin Hilman, Grant Likely, Grygorii Strashko,
	Greg Kroah-Hartman, Rob Herring, devicetree, Russell King,
	Tony Lindgren, LKML, Thierry Reding, Santosh Shilimkar,
	linux-arm-kernel, Linus Walleij, Olof Johansson

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

* Re: [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: Lee Jones
  Cc: Rob Herring, Kevin Hilman, Grant Likely, Grygorii Strashko,
	Greg Kroah-Hartman, Rob Herring, devicetree, Russell King,
	Tony Lindgren, LKML, Thierry Reding, Santosh Shilimkar,
	linux-arm-kernel, Olof Johansson

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

* Re: [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: Rob Herring, Kevin Hilman
  Cc: Grygorii Strashko, Greg Kroah-Hartman, Rob Herring, devicetree,
	Russell King, Tony Lindgren, LKML, Thierry Reding,
	Santosh Shilimkar, linux-arm-kernel, Lee Jones, Linus Walleij,
	Olof Johansson

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

* Re: [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: Linus Walleij
  Cc: Lee Jones, Rob Herring, Grygorii Strashko, Russell King,
	devicetree, Tony Lindgren, Greg Kroah-Hartman, LKML, Rob Herring,
	Olof Johansson, Kevin Hilman, Thierry Reding, Grant Likely,
	Santosh Shilimkar, 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

* Re: [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: Chen-Yu Tsai
  Cc: Linus Walleij, Lee Jones, Rob Herring, Grygorii Strashko,
	Russell King, devicetree, Tony Lindgren, Greg Kroah-Hartman,
	LKML, Rob Herring, Olof Johansson, Kevin Hilman, Thierry Reding,
	Santosh Shilimkar, 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

* Re: [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: Rob Herring, Kevin Hilman
  Cc: Grant Likely, Greg Kroah-Hartman, Rob Herring, devicetree,
	Russell King, Tony Lindgren, LKML, Thierry Reding,
	Santosh Shilimkar, linux-arm-kernel, Lee Jones, Linus Walleij,
	Olof Johansson

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

* Re: [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: Grant Likely, Chen-Yu Tsai
  Cc: Linus Walleij, Lee Jones, Rob Herring, Russell King, devicetree,
	Tony Lindgren, Greg Kroah-Hartman, LKML, Rob Herring,
	Olof Johansson, Kevin Hilman, Thierry Reding, Santosh Shilimkar,
	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

* Re: [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: Grygorii Strashko
  Cc: Grant Likely, Chen-Yu Tsai, Linus Walleij, Lee Jones,
	Rob Herring, Russell King, devicetree, Tony Lindgren,
	Greg Kroah-Hartman, LKML, Rob Herring, Olof Johansson,
	Thierry Reding, Santosh Shilimkar, 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

* Re: [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: Kevin Hilman, Grygorii Strashko
  Cc: Chen-Yu Tsai, Linus Walleij, Lee Jones, Rob Herring,
	Russell King, devicetree, Tony Lindgren, Greg Kroah-Hartman,
	LKML, Rob Herring, Olof Johansson, Thierry Reding,
	Santosh Shilimkar, 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

* Re: [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: Grant Likely, Kevin Hilman
  Cc: Chen-Yu Tsai, Linus Walleij, Lee Jones, Rob Herring,
	Russell King, devicetree, Tony Lindgren, Greg Kroah-Hartman,
	LKML, Rob Herring, Olof Johansson, Thierry Reding,
	Santosh Shilimkar, 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

* Re: [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: Chen-Yu Tsai
  Cc: Lee Jones, Rob Herring, Grygorii Strashko, Russell King,
	devicetree, Tony Lindgren, Greg Kroah-Hartman, LKML, Rob Herring,
	Olof Johansson, Kevin Hilman, Thierry Reding, Grant Likely,
	Santosh Shilimkar, 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

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).