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 he...@sntech.de
  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 s.nawro...@samsung.com
  Tested-by: Sylwester Nawrocki s.nawro...@samsung.com
  (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 kgene@samsung.com, 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 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 he...@sntech.de
 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 s.nawro...@samsung.com
Tested-by: Sylwester Nawrocki s.nawro...@samsung.com
(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


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 he...@sntech.de
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 s.nawro...@samsung.com
Tested-by: Sylwester Nawrocki s.nawro...@samsung.com
(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


[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 he...@sntech.de
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 plat/fimc-core.h
 #include plat/iic-core.h
 #include plat/tv-core.h
+#include plat/spi-core.h
 #include plat/regs-serial.h
 
 #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 plat/nand-core.h
 #include plat/adc-core.h
 #include plat/rtc-core.h
+#include plat/spi-core.h
 
 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 plat/nand-core.h
 #include plat/adc-core.h
 #include plat/rtc-core.h
+#include plat/spi-core.h
 
 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 plat/sdhci.h
 #include plat/adc-core.h
 #include plat/fb-core.h
+#include plat/spi-core.h
 #include plat/gpio-cfg.h
 #include plat/regs-irqtype.h
 #include plat/regs-serial.h
@@ -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 plat/fb-core.h
 #include plat/iic-core.h
 #include plat/onenand-core.h
+#include plat/spi-core.h
 #include plat/regs-serial.h
 #include plat/watchdog-reset.h
 
@@ -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);
 }