RE: [PATCH] ARM: SAMSUNG: Add naming of s3c64xx-spi devices
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
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
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
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) /*