From a6af63e826b79ae1ba2d8cbfa66805cc2dfe367c Mon Sep 17 00:00:00 2001 From: Balaji Rao Date: Mon, 2 Mar 2009 10:45:56 +0000 Subject: Subject: Get rid of board_info information in glamo and s3c24xx_gpio spigpio_info. X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=740c6704e830829d8539a6cc34346ff1980cd9ee Get rid of board_info information in glamo and s3c24xx_gpio spigpio_info. The board info does not belong there and has been removed. In spi_s3c24xx_gpio, board_info has been removed in mainline. Signed-off-by: Balaji Rao --- arch/arm/mach-s3c2410/include/mach/spi-gpio.h | 8 ------- arch/arm/mach-s3c2410/mach-gta01.c | 3 +-- arch/arm/mach-s3c2442/mach-gta02.c | 34 +++++++++++++-------------- arch/arm/mach-s3c6410/include/mach/spi-gpio.h | 8 ------- arch/arm/mach-s3c6410/mach-om-gta03.c | 6 +++-- drivers/mfd/glamo/glamo-spi-gpio.c | 16 +++---------- drivers/spi/spi_s3c24xx_gpio.c | 17 -------------- drivers/spi/spi_s3c64xx_gpio.c | 16 ------------- include/linux/spi/glamo.h | 3 +-- 9 files changed, 25 insertions(+), 86 deletions(-) diff --git a/arch/arm/mach-s3c2410/include/mach/spi-gpio.h b/arch/arm/mach-s3c2410/include/mach/spi-gpio.h index 2506b4ca028..0ff8949b244 100644 --- a/arch/arm/mach-s3c2410/include/mach/spi-gpio.h +++ b/arch/arm/mach-s3c2410/include/mach/spi-gpio.h @@ -22,14 +22,6 @@ struct s3c2410_spigpio_info { int bus_num; int non_blocking_transfer; - /* - * FIXME: board_size and board_info DO NOT belong here. - * These were already removed upstream... but we still rely on them - * so leave for now and revisit this. - */ - unsigned long board_size; - struct spi_board_info *board_info; - void (*chip_select)(struct s3c2410_spigpio_info *spi, int csid, int cs); }; diff --git a/arch/arm/mach-s3c2410/mach-gta01.c b/arch/arm/mach-s3c2410/mach-gta01.c index d424211b9d6..f1ceeec0508 100644 --- a/arch/arm/mach-s3c2410/mach-gta01.c +++ b/arch/arm/mach-s3c2410/mach-gta01.c @@ -801,8 +801,6 @@ static struct s3c2410_spigpio_info spi_gpio_cfg = { .pin_clk = S3C2410_GPG7, .pin_mosi = S3C2410_GPG6, .pin_miso = S3C2410_GPG5, - .board_size = ARRAY_SIZE(gta01_spi_board_info), - .board_info = gta01_spi_board_info, .chip_select = &spi_gpio_cs, .num_chipselect = 2, /*** Should be 1 or 2 for gta01? ***/ }; @@ -983,6 +981,7 @@ static void __init gta01_machine_init(void) } mangle_pmu_pdata_by_system_rev(); i2c_register_board_info(0, gta01_i2c_devs, ARRAY_SIZE(gta01_i2c_devs)); + spi_register_board_info(gta01_spi_board_info, ARRAY_SIZE(gta01_spi_board_info)); platform_device_register(>a01_led_dev); diff --git a/arch/arm/mach-s3c2442/mach-gta02.c b/arch/arm/mach-s3c2442/mach-gta02.c index 55f9d946d4a..bdd357fde53 100644 --- a/arch/arm/mach-s3c2442/mach-gta02.c +++ b/arch/arm/mach-s3c2442/mach-gta02.c @@ -1076,19 +1076,6 @@ const struct jbt6k74_platform_data jbt6k74_pdata = { .probe_completed = gta02_jbt6k74_probe_completed, }; -static struct spi_board_info gta02_spi_board_info[] = { - { - .modalias = "jbt6k74", - /* platform_data */ - .platform_data = &jbt6k74_pdata, - /* controller_data */ - /* irq */ - .max_speed_hz = 100 * 1000, - .bus_num = 2, - /* chip_select */ - }, -}; - #if 0 /* currently this is not used and we use gpio spi */ static struct glamo_spi_info glamo_spi_cfg = { .board_size = ARRAY_SIZE(gta02_spi_board_info), @@ -1101,8 +1088,7 @@ static struct glamo_spigpio_info glamo_spigpio_cfg = { .pin_mosi = GLAMO_GPIO11_OUTPUT, .pin_cs = GLAMO_GPIO12_OUTPUT, .pin_miso = 0, - .board_size = ARRAY_SIZE(gta02_spi_board_info), - .board_info = gta02_spi_board_info, + .bus_num = 2, }; /*----------- SPI: Accelerometers attached to SPI of s3c244x ----------------- */ @@ -1159,7 +1145,17 @@ struct lis302dl_platform_data lis302_pdata_bottom = { .lis302dl_suspend_io = gta02_lis302dl_suspend_io, }; -static struct spi_board_info lis302dl_spi_board_info[] = { +static struct spi_board_info gta02_spi_board_info[] = { + { + .modalias = "jbt6k74", + /* platform_data */ + .platform_data = &jbt6k74_pdata, + /* controller_data */ + /* irq */ + .max_speed_hz = 100 * 1000, + .bus_num = 2, + /* chip_select */ + }, { .modalias = "lis302dl", /* platform_data */ @@ -1181,6 +1177,7 @@ static struct spi_board_info lis302dl_spi_board_info[] = { .bus_num = 3, .chip_select = 1, }, + }; static void gta02_lis302_chip_select(struct s3c2410_spigpio_info *info, int csid, int cs) @@ -1225,8 +1222,7 @@ static struct s3c2410_spigpio_info gta02_spigpio_cfg = { .pin_clk = S3C2410_GPG7, .pin_mosi = S3C2410_GPG6, .pin_miso = S3C2410_GPG5, - .board_size = ARRAY_SIZE(lis302dl_spi_board_info), - .board_info = lis302dl_spi_board_info, + .bus_num = 3, .num_chipselect = 2, .chip_select = gta02_lis302_chip_select, .non_blocking_transfer = 1, @@ -1620,6 +1616,8 @@ static void __init gta02_machine_init(void) mangle_glamo_res_by_system_rev(); i2c_register_board_info(0, gta02_i2c_devs, ARRAY_SIZE(gta02_i2c_devs)); + spi_register_board_info(gta02_spi_board_info, + ARRAY_SIZE(gta02_spi_board_info)); mangle_pmu_pdata_by_system_rev(); diff --git a/arch/arm/mach-s3c6410/include/mach/spi-gpio.h b/arch/arm/mach-s3c6410/include/mach/spi-gpio.h index 35716ff0a1e..46ad9d67b24 100644 --- a/arch/arm/mach-s3c6410/include/mach/spi-gpio.h +++ b/arch/arm/mach-s3c6410/include/mach/spi-gpio.h @@ -21,14 +21,6 @@ struct s3c64xx_spigpio_info { int bus_num; int num_chipselect; - /* - * FIXME: board_size and board_info DO NOT belong here. - * These were already removed upstream... but we still rely on them - * so leave for now and revisit this. - */ - unsigned long board_size; - struct spi_board_info *board_info; - void (*chip_select)(struct s3c64xx_spigpio_info *spi, int csid, int cs); }; diff --git a/arch/arm/mach-s3c6410/mach-om-gta03.c b/arch/arm/mach-s3c6410/mach-om-gta03.c index 4f90239c646..4f4178a792f 100644 --- a/arch/arm/mach-s3c6410/mach-om-gta03.c +++ b/arch/arm/mach-s3c6410/mach-om-gta03.c @@ -998,10 +998,9 @@ static struct s3c64xx_spigpio_info spi_gpio_cfg = { .pin_clk = GTA03_GPIO_LCM_CLK, .pin_mosi = GTA03_GPIO_LCM_MOSI, /* no pinout to MISO */ - .board_size = ARRAY_SIZE(gta03_spi_board_info), - .board_info = gta03_spi_board_info, .chip_select = &spi_gpio_cs, .num_chipselect = 1, + .bus_num = 1, }; struct platform_device gta03_device_spi_lcm = { @@ -1044,6 +1043,9 @@ static void __init om_gta03_machine_init(void) i2c_register_board_info(0, om_gta03_i2c_devs, ARRAY_SIZE(om_gta03_i2c_devs)); + spi_register_board_info(gta03_spi_board_info, + ARRAY_SIZE(gta03_spi_board_info)); + platform_add_devices(om_gta03_devices, ARRAY_SIZE(om_gta03_devices)); /* Register the HDQ and vibrator as children of pwm device */ diff --git a/drivers/mfd/glamo/glamo-spi-gpio.c b/drivers/mfd/glamo/glamo-spi-gpio.c index 2bf4e38ca8e..b92e48a17b7 100644 --- a/drivers/mfd/glamo/glamo-spi-gpio.c +++ b/drivers/mfd/glamo/glamo-spi-gpio.c @@ -44,7 +44,7 @@ struct glamo_spigpio { static inline struct glamo_spigpio *to_sg(struct spi_device *spi) { - return spi->controller_data; + return dev_get_drvdata(&spi->master->dev); } static inline void setsck(struct spi_device *dev, int on) @@ -132,7 +132,6 @@ static int glamo_spigpio_probe(struct platform_device *pdev) struct spi_master *master; struct glamo_spigpio *sp; int ret; - int i; master = spi_alloc_master(&pdev->dev, sizeof(struct glamo_spigpio)); if (master == NULL) { @@ -188,21 +187,12 @@ static int glamo_spigpio_probe(struct platform_device *pdev) sp->bitbang.master->setup = glamo_spi_setup; #endif + dev_set_drvdata(&sp->master->dev, sp); + ret = spi_bitbang_start(&sp->bitbang); if (ret) goto err_no_bitbang; - /* register the chips to go with the board */ - - for (i = 0; i < sp->info->board_size; i++) { - dev_info(&pdev->dev, "registering %p: %s\n", - &sp->info->board_info[i], - sp->info->board_info[i].modalias); - - sp->info->board_info[i].controller_data = sp; - spi_new_device(master, sp->info->board_info + i); - } - return 0; err_no_bitbang: diff --git a/drivers/spi/spi_s3c24xx_gpio.c b/drivers/spi/spi_s3c24xx_gpio.c index 582f20262a9..025f651b1bd 100644 --- a/drivers/spi/spi_s3c24xx_gpio.c +++ b/drivers/spi/spi_s3c24xx_gpio.c @@ -100,7 +100,6 @@ static int s3c2410_spigpio_probe(struct platform_device *dev) struct spi_master *master; struct s3c2410_spigpio *sp; int ret; - int i; master = spi_alloc_master(&dev->dev, sizeof(struct s3c2410_spigpio)); if (master == NULL) { @@ -147,22 +146,6 @@ static int s3c2410_spigpio_probe(struct platform_device *dev) if (ret) goto err_no_bitbang; - /* register the chips to go with the board */ - - for (i = 0; i < sp->info->board_size; i++) { - struct spi_device *spidev; - - dev_info(&dev->dev, "registering %p: %s\n", - &sp->info->board_info[i], - sp->info->board_info[i].modalias); - - sp->info->board_info[i].controller_data = sp; - spidev = spi_new_device(master, sp->info->board_info + i); - if (spidev) - spidev->max_speed_hz = - sp->info->board_info[i].max_speed_hz; - } - return 0; err_no_bitbang: diff --git a/drivers/spi/spi_s3c64xx_gpio.c b/drivers/spi/spi_s3c64xx_gpio.c index 9ade147e80f..9953959476a 100644 --- a/drivers/spi/spi_s3c64xx_gpio.c +++ b/drivers/spi/spi_s3c64xx_gpio.c @@ -101,7 +101,6 @@ static int s3c64xx_spigpio_probe(struct platform_device *dev) struct s3c64xx_spigpio *spi; int ret; - int i; master = spi_alloc_master(&dev->dev, sizeof(struct s3c64xx_spigpio)); if (master == NULL) { @@ -136,21 +135,6 @@ static int s3c64xx_spigpio_probe(struct platform_device *dev) if (ret) goto err_no_bitbang; - /* register the chips to go with the board */ - for (i = 0; i < spi->info->board_size; i++) { - struct spi_device *spidev; - - dev_info(&dev->dev, "registering %p: %s\n", - &spi->info->board_info[i], - spi->info->board_info[i].modalias); - - spi->info->board_info[i].controller_data = spi; - spidev = spi_new_device(master, spi->info->board_info + i); - if (spidev) - spidev->max_speed_hz = - spi->info->board_info[i].max_speed_hz; - } - return 0; err_no_bitbang: diff --git a/include/linux/spi/glamo.h b/include/linux/spi/glamo.h index 86419ea7dca..05b8cd75732 100644 --- a/include/linux/spi/glamo.h +++ b/include/linux/spi/glamo.h @@ -18,9 +18,8 @@ struct glamo_spigpio_info { unsigned int pin_mosi; unsigned int pin_miso; unsigned int pin_cs; + int bus_num; - unsigned int board_size; - struct spi_board_info *board_info; struct glamo_core *glamo; }; -- cgit v1.2.3