RE: [PATCH] ARM: SAMSUNG: Add naming of s3c64xx-spi devices

2012-10-17 Thread Kukjin Kim
José Miguel Gonçalves wrote:
> 
> On 15-10-2012 15:58, Sylwester Nawrocki wrote:
> > Hi Heiko,
> >
> > On 10/02/2012 02:43 PM, Heiko Stübner wrote:
> >> Commit a5238e360b71 (spi: s3c64xx: move controller information into
> driver
> >> data) introduced separate device names for the different subtypes of
> the
> >> spi controller but forgot to set these in the relevant machines.
> >>
> >> To fix this introduce a s3c64xx_spi_setname function and populate all
> >> Samsung arches with the correct names. The function resides in a new
> >> header, as the s3c64xx-spi.h contains driver platform data and should
> >> therefore at some later point move out of the Samsung include dir.
> >>
> >> Tested on a s3c2416-based machine.
> >>
> >> Signed-off-by: Heiko Stuebner 
> >> Cc: sta...@vger.kernel.org
> > This patch looks good to me. I've tested it on Exynos4412 SoC based
> > board. And it fixes quite serious problem - broken SPI support on
> > a all Samsung machs (non-dt) except s3c64xx in mainline v3.6 kernel.
> >
> >
> > Reviewed-by: Sylwester Nawrocki 
> > Tested-by: Sylwester Nawrocki 
> > (mach-exynos only)
> >
> > José Miguel, can you confirm it solves the problem for you ?
> 
> The driver initialization problem is solved by this patch on my S3C2416
> based
> board. Nevertheless, I didn’t have the time yet to test an actual SPI
> device
> connected to the bus.
> 
> BTW, I think the two debug messages at the end of the s3c64xx_spi_probe()
> routine
> should be promoted from dev_dbg to dev_info in order to be shown on a
> normal
> kernel boot.
> 
You guys, thanks for fixing and testing.

Looks good to me, applied.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim , Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ARM: SAMSUNG: Add naming of s3c64xx-spi devices

2012-10-15 Thread José Miguel Gonçalves

On 15-10-2012 15:58, Sylwester Nawrocki wrote:

Hi Heiko,

On 10/02/2012 02:43 PM, Heiko Stübner wrote:

Commit a5238e360b71 (spi: s3c64xx: move controller information into driver
data) introduced separate device names for the different subtypes of the
spi controller but forgot to set these in the relevant machines.

To fix this introduce a s3c64xx_spi_setname function and populate all
Samsung arches with the correct names. The function resides in a new
header, as the s3c64xx-spi.h contains driver platform data and should
therefore at some later point move out of the Samsung include dir.

Tested on a s3c2416-based machine.

Signed-off-by: Heiko Stuebner 
Cc: sta...@vger.kernel.org

This patch looks good to me. I've tested it on Exynos4412 SoC based
board. And it fixes quite serious problem - broken SPI support on
a all Samsung machs (non-dt) except s3c64xx in mainline v3.6 kernel.


Reviewed-by: Sylwester Nawrocki 
Tested-by: Sylwester Nawrocki 
(mach-exynos only)

José Miguel, can you confirm it solves the problem for you ?


The driver initialization problem is solved by this patch on my S3C2416 based 
board. Nevertheless, I didn’t have the time yet to test an actual SPI device 
connected to the bus.


BTW, I think the two debug messages at the end of the s3c64xx_spi_probe() routine 
should be promoted from dev_dbg to dev_info in order to be shown on a normal 
kernel boot.


Best regards,
José Gonçalves
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ARM: SAMSUNG: Add naming of s3c64xx-spi devices

2012-10-15 Thread Sylwester Nawrocki
Hi Heiko,

On 10/02/2012 02:43 PM, Heiko Stübner wrote:
> Commit a5238e360b71 (spi: s3c64xx: move controller information into driver
> data) introduced separate device names for the different subtypes of the
> spi controller but forgot to set these in the relevant machines.
> 
> To fix this introduce a s3c64xx_spi_setname function and populate all
> Samsung arches with the correct names. The function resides in a new
> header, as the s3c64xx-spi.h contains driver platform data and should
> therefore at some later point move out of the Samsung include dir.
> 
> Tested on a s3c2416-based machine.
> 
> Signed-off-by: Heiko Stuebner 
> Cc: sta...@vger.kernel.org

This patch looks good to me. I've tested it on Exynos4412 SoC based
board. And it fixes quite serious problem - broken SPI support on
a all Samsung machs (non-dt) except s3c64xx in mainline v3.6 kernel.


Reviewed-by: Sylwester Nawrocki 
Tested-by: Sylwester Nawrocki 
(mach-exynos only)

José Miguel, can you confirm it solves the problem for you ?

--
Regards,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] ARM: SAMSUNG: Add naming of s3c64xx-spi devices

2012-10-02 Thread Heiko Stübner
Commit a5238e360b71 (spi: s3c64xx: move controller information into driver
data) introduced separate device names for the different subtypes of the
spi controller but forgot to set these in the relevant machines.

To fix this introduce a s3c64xx_spi_setname function and populate all
Samsung arches with the correct names. The function resides in a new
header, as the s3c64xx-spi.h contains driver platform data and should
therefore at some later point move out of the Samsung include dir.

Tested on a s3c2416-based machine.

Signed-off-by: Heiko Stuebner 
Cc: sta...@vger.kernel.org
---
 arch/arm/mach-exynos/common.c |5 
 arch/arm/mach-s3c24xx/s3c2416.c   |2 +
 arch/arm/mach-s3c24xx/s3c2443.c   |4 +++
 arch/arm/mach-s5p64x0/common.c|3 ++
 arch/arm/mach-s5pc100/common.c|3 ++
 arch/arm/mach-s5pv210/common.c|3 ++
 arch/arm/plat-samsung/include/plat/spi-core.h |   30 +
 7 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/plat-samsung/include/plat/spi-core.h

diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 4eb39cd..3e02ae6 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -47,6 +47,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #include "common.h"
@@ -346,6 +347,8 @@ static void __init exynos4_map_io(void)
 
s5p_fb_setname(0, "exynos4-fb");
s5p_hdmi_setname("exynos4-hdmi");
+
+   s3c64xx_spi_setname("exynos4210-spi");
 }
 
 static void __init exynos5_map_io(void)
@@ -366,6 +369,8 @@ static void __init exynos5_map_io(void)
s3c_i2c0_setname("s3c2440-i2c");
s3c_i2c1_setname("s3c2440-i2c");
s3c_i2c2_setname("s3c2440-i2c");
+
+   s3c64xx_spi_setname("exynos4210-spi");
 }
 
 static void __init exynos4_init_clocks(int xtal)
diff --git a/arch/arm/mach-s3c24xx/s3c2416.c b/arch/arm/mach-s3c24xx/s3c2416.c
index 20507c7..a24960c 100644
--- a/arch/arm/mach-s3c24xx/s3c2416.c
+++ b/arch/arm/mach-s3c24xx/s3c2416.c
@@ -61,6 +61,7 @@
 #include 
 #include 
 #include 
+#include 
 
 static struct map_desc s3c2416_iodesc[] __initdata = {
IODESC_ENT(WATCHDOG),
@@ -147,6 +148,7 @@ void __init s3c2416_map_io(void)
/* initialize device information early */
s3c2416_default_sdhci0();
s3c2416_default_sdhci1();
+   s3c64xx_spi_setname("s3c2443-spi");
 
iotable_init(s3c2416_iodesc, ARRAY_SIZE(s3c2416_iodesc));
 }
diff --git a/arch/arm/mach-s3c24xx/s3c2443.c b/arch/arm/mach-s3c24xx/s3c2443.c
index ab648ad..165b6a6 100644
--- a/arch/arm/mach-s3c24xx/s3c2443.c
+++ b/arch/arm/mach-s3c24xx/s3c2443.c
@@ -43,6 +43,7 @@
 #include 
 #include 
 #include 
+#include 
 
 static struct map_desc s3c2443_iodesc[] __initdata = {
IODESC_ENT(WATCHDOG),
@@ -100,6 +101,9 @@ void __init s3c2443_map_io(void)
s3c24xx_gpiocfg_default.set_pull = s3c2443_gpio_setpull;
s3c24xx_gpiocfg_default.get_pull = s3c2443_gpio_getpull;
 
+   /* initialize device information early */
+   s3c64xx_spi_setname("s3c2443-spi");
+
iotable_init(s3c2443_iodesc, ARRAY_SIZE(s3c2443_iodesc));
 }
 
diff --git a/arch/arm/mach-s5p64x0/common.c b/arch/arm/mach-s5p64x0/common.c
index 6e6a0a9..111e404 100644
--- a/arch/arm/mach-s5p64x0/common.c
+++ b/arch/arm/mach-s5p64x0/common.c
@@ -44,6 +44,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -179,6 +180,7 @@ void __init s5p6440_map_io(void)
/* initialize any device information early */
s3c_adc_setname("s3c64xx-adc");
s3c_fb_setname("s5p64x0-fb");
+   s3c64xx_spi_setname("s5p64x0-spi");
 
s5p64x0_default_sdhci0();
s5p64x0_default_sdhci1();
@@ -193,6 +195,7 @@ void __init s5p6450_map_io(void)
/* initialize any device information early */
s3c_adc_setname("s3c64xx-adc");
s3c_fb_setname("s5p64x0-fb");
+   s3c64xx_spi_setname("s5p64x0-spi");
 
s5p64x0_default_sdhci0();
s5p64x0_default_sdhci1();
diff --git a/arch/arm/mach-s5pc100/common.c b/arch/arm/mach-s5pc100/common.c
index 6219086..cc6e561 100644
--- a/arch/arm/mach-s5pc100/common.c
+++ b/arch/arm/mach-s5pc100/common.c
@@ -45,6 +45,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -165,6 +166,8 @@ void __init s5pc100_map_io(void)
s3c_onenand_setname("s5pc100-onenand");
s3c_fb_setname("s5pc100-fb");
s3c_cfcon_setname("s5pc100-pata");
+
+   s3c64xx_spi_setname("s5pc100-spi");
 }
 
 void __init s5pc100_init_clocks(int xtal)
diff --git a/arch/arm/mach-s5pv210/common.c b/arch/arm/mach-s5pv210/common.c
index 4c9e902..a0c50ef 100644
--- a/arch/arm/mach-s5pv210/common.c
+++ b/arch/arm/mach-s5pv210/common.c
@@ -43,6 +43,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #include "common.h"
@@ -196,6 +197,8 @@ void __init s5pv210_map_io(void)
 
/*