Skip to content

Commit

Permalink
ARM: SAMSUNG: Add naming of s3c64xx-spi devices
Browse files Browse the repository at this point in the history
Commit a5238e3 (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 <[email protected]>
Cc: Stable <[email protected]>
Reviewed-by: Sylwester Nawrocki <[email protected]>
[[email protected]: tested on mach-exynos]
Tested-by: Sylwester Nawrocki <[email protected]>
Signed-off-by: Kukjin Kim <[email protected]>
  • Loading branch information
mmind authored and kgene committed Oct 17, 2012
1 parent ddffeb8 commit 308b3af
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 0 deletions.
5 changes: 5 additions & 0 deletions arch/arm/mach-exynos/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/mach-s3c24xx/s3c2416.c
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -132,6 +133,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));
}
Expand Down
4 changes: 4 additions & 0 deletions arch/arm/mach-s3c24xx/s3c2443.c
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -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));
}

Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-s5p64x0/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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();
Expand All @@ -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();
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-s5pc100/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down Expand Up @@ -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)
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-s5pv210/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
#include <plat/iic-core.h>
#include <plat/keypad-core.h>
#include <plat/tv-core.h>
#include <plat/spi-core.h>
#include <plat/regs-serial.h>

#include "common.h"
Expand Down Expand Up @@ -196,6 +197,8 @@ void __init s5pv210_map_io(void)

/* setup TV devices */
s5p_hdmi_setname("s5pv210-hdmi");

s3c64xx_spi_setname("s5pv210-spi");
}

void __init s5pv210_init_clocks(int xtal)
Expand Down
30 changes: 30 additions & 0 deletions arch/arm/plat-samsung/include/plat/spi-core.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright (C) 2012 Heiko Stuebner <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/

#ifndef __PLAT_S3C_SPI_CORE_H
#define __PLAT_S3C_SPI_CORE_H

/* These functions are only for use with the core support code, such as
* the cpu specific initialisation code
*/

/* re-define device name depending on support. */
static inline void s3c64xx_spi_setname(char *name)
{
#ifdef CONFIG_S3C64XX_DEV_SPI0
s3c64xx_device_spi0.name = name;
#endif
#ifdef CONFIG_S3C64XX_DEV_SPI1
s3c64xx_device_spi1.name = name;
#endif
#ifdef CONFIG_S3C64XX_DEV_SPI2
s3c64xx_device_spi2.name = name;
#endif
}

#endif /* __PLAT_S3C_SPI_CORE_H */

0 comments on commit 308b3af

Please sign in to comment.