The second parameter of of_read_number is not the index, but a size.
As it happens, in this case it may work just fine because of the the conversion
to u32 and the favorable endianness on this architecture.
Signed-off-by: Jean-Jacques Hiblot <redacted>
---
drivers/pci/host/pci-mvebu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Jason Cooper <hidden> Date: 2014-02-05 04:05:11
Jean-Jacques,
On Fri, Jan 10, 2014 at 11:23:51AM +0100, Jean-Jacques Hiblot wrote:
The second parameter of of_read_number is not the index, but a size.
As it happens, in this case it may work just fine because of the the conversion
to u32 and the favorable endianness on this architecture.
Signed-off-by: Jean-Jacques Hiblot <redacted>
---
drivers/pci/host/pci-mvebu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Sorry for the unusually long delay. I was waiting for Thomas to get
back from vacation since he is intimately familiar with this driver.
Thomas?
thx,
Jason.
@@ -768,7 +768,7 @@ static int mvebu_get_tgt_attr(struct device_node *np, int devfn,for(i=0;i<nranges;i++){u32flags=of_read_number(range,1);-u32slot=of_read_number(range,2);+u32slot=of_read_number(range+1,1);u64cpuaddr=of_read_number(range+na,pna);unsignedlongrtype;
--
1.8.5.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Thomas Petazzoni <hidden> Date: 2014-02-05 15:47:18
Dear Jean-Jacques Hiblot,
On Fri, 10 Jan 2014 11:23:51 +0100, Jean-Jacques Hiblot wrote:
quoted hunk
The second parameter of of_read_number is not the index, but a size.
As it happens, in this case it may work just fine because of the the conversion
to u32 and the favorable endianness on this architecture.
Signed-off-by: Jean-Jacques Hiblot <redacted>
---
drivers/pci/host/pci-mvebu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -768,7 +768,7 @@ static int mvebu_get_tgt_attr(struct device_node *np, int devfn,for(i=0;i<nranges;i++){u32flags=of_read_number(range,1);-u32slot=of_read_number(range,2);+u32slot=of_read_number(range+1,1);u64cpuaddr=of_read_number(range+na,pna);unsignedlongrtype;
Sorry for the long delay, and thanks for the fix!
Acked-by: Thomas Petazzoni <redacted>
Tested-by: Thomas Petazzoni <redacted>
(on Armada 370, with PCIe cards plugged in)
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
Dear Jean-Jacques Hiblot,
On Fri, 10 Jan 2014 11:23:51 +0100, Jean-Jacques Hiblot wrote:
quoted
The second parameter of of_read_number is not the index, but a size.
As it happens, in this case it may work just fine because of the the conversion
to u32 and the favorable endianness on this architecture.
Signed-off-by: Jean-Jacques Hiblot <redacted>
---
drivers/pci/host/pci-mvebu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -768,7 +768,7 @@ static int mvebu_get_tgt_attr(struct device_node *np, int devfn,for(i=0;i<nranges;i++){u32flags=of_read_number(range,1);-u32slot=of_read_number(range,2);+u32slot=of_read_number(range+1,1);u64cpuaddr=of_read_number(range+na,pna);unsignedlongrtype;
Sorry for the long delay, and thanks for the fix!
Acked-by: Thomas Petazzoni <redacted>
Tested-by: Thomas Petazzoni <redacted>
(on Armada 370, with PCIe cards plugged in)
Fixes: 11be65472a427 ("PCI: mvebu: Adapt to the new device tree layout")
Cc: <redacted> # v3.12+
Acked-by: Jason Cooper <redacted>
thx,
Jason.
Thanks for the heads-up; I had indeed missed this (I mostly rely on
patchwork, which only tracks linux-pci, and it's not smart enough to
extract quoted patches).
Applied to pci/host-mvebu for v3.15, thanks!
On Wed, Feb 05, 2014 at 04:47:10PM +0100, Thomas Petazzoni wrote:
quoted
Dear Jean-Jacques Hiblot,
On Fri, 10 Jan 2014 11:23:51 +0100, Jean-Jacques Hiblot wrote:
quoted
The second parameter of of_read_number is not the index, but a size.
As it happens, in this case it may work just fine because of the the conversion
to u32 and the favorable endianness on this architecture.
Signed-off-by: Jean-Jacques Hiblot <redacted>
---
drivers/pci/host/pci-mvebu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -768,7 +768,7 @@ static int mvebu_get_tgt_attr(struct device_node *np, int devfn,for(i=0;i<nranges;i++){u32flags=of_read_number(range,1);-u32slot=of_read_number(range,2);+u32slot=of_read_number(range+1,1);u64cpuaddr=of_read_number(range+na,pna);unsignedlongrtype;
Sorry for the long delay, and thanks for the fix!
Acked-by: Thomas Petazzoni <redacted>
Tested-by: Thomas Petazzoni <redacted>
(on Armada 370, with PCIe cards plugged in)
Fixes: 11be65472a427 ("PCI: mvebu: Adapt to the new device tree layout")
Cc: <redacted> # v3.12+
Acked-by: Jason Cooper <redacted>
thx,
Jason.