diff options
author | David Brownell <david-b@pacbell.net> | 2008-02-06 04:38:13 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-06 13:41:11 -0500 |
commit | b359fbc4582abf346fa6773b2bc1d63581fda582 (patch) | |
tree | d759a99e9aee0cc23f62cb41335069610b9dd027 | |
parent | 8bacb219018a52e6f02a3cff6a7badf102ddfc44 (diff) |
spi: s3c drivers shouldn't care about spi_board_info
The two S3C SPI master drivers got merged without much review, so I just
noticed that they're doing something that the SPI core code is responsible
for, rather than any adapter driver: they try to register SPI devices.
This removes that support from those drivers so they act normally.
Interestingly, none of the current boards are affected. So it's a net code
shrink with no loss of functionality.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/spi/spi_s3c24xx.c | 12 | ||||
-rw-r--r-- | drivers/spi/spi_s3c24xx_gpio.c | 12 | ||||
-rw-r--r-- | include/asm-arm/arch-s3c2410/spi-gpio.h | 6 | ||||
-rw-r--r-- | include/asm-arm/arch-s3c2410/spi.h | 6 |
4 files changed, 0 insertions, 36 deletions
diff --git a/drivers/spi/spi_s3c24xx.c b/drivers/spi/spi_s3c24xx.c index 89d6685a5ca4..6e834b8b9d27 100644 --- a/drivers/spi/spi_s3c24xx.c +++ b/drivers/spi/spi_s3c24xx.c | |||
@@ -237,10 +237,8 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev) | |||
237 | { | 237 | { |
238 | struct s3c24xx_spi *hw; | 238 | struct s3c24xx_spi *hw; |
239 | struct spi_master *master; | 239 | struct spi_master *master; |
240 | struct spi_board_info *bi; | ||
241 | struct resource *res; | 240 | struct resource *res; |
242 | int err = 0; | 241 | int err = 0; |
243 | int i; | ||
244 | 242 | ||
245 | master = spi_alloc_master(&pdev->dev, sizeof(struct s3c24xx_spi)); | 243 | master = spi_alloc_master(&pdev->dev, sizeof(struct s3c24xx_spi)); |
246 | if (master == NULL) { | 244 | if (master == NULL) { |
@@ -348,16 +346,6 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev) | |||
348 | goto err_register; | 346 | goto err_register; |
349 | } | 347 | } |
350 | 348 | ||
351 | /* register all the devices associated */ | ||
352 | |||
353 | bi = &hw->pdata->board_info[0]; | ||
354 | for (i = 0; i < hw->pdata->board_size; i++, bi++) { | ||
355 | dev_info(hw->dev, "registering %s\n", bi->modalias); | ||
356 | |||
357 | bi->controller_data = hw; | ||
358 | spi_new_device(master, bi); | ||
359 | } | ||
360 | |||
361 | return 0; | 349 | return 0; |
362 | 350 | ||
363 | err_register: | 351 | err_register: |
diff --git a/drivers/spi/spi_s3c24xx_gpio.c b/drivers/spi/spi_s3c24xx_gpio.c index 109d82c1abc0..82ae7d7eca38 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) | |||
100 | struct spi_master *master; | 100 | struct spi_master *master; |
101 | struct s3c2410_spigpio *sp; | 101 | struct s3c2410_spigpio *sp; |
102 | int ret; | 102 | int ret; |
103 | int i; | ||
104 | 103 | ||
105 | master = spi_alloc_master(&dev->dev, sizeof(struct s3c2410_spigpio)); | 104 | master = spi_alloc_master(&dev->dev, sizeof(struct s3c2410_spigpio)); |
106 | if (master == NULL) { | 105 | if (master == NULL) { |
@@ -143,17 +142,6 @@ static int s3c2410_spigpio_probe(struct platform_device *dev) | |||
143 | if (ret) | 142 | if (ret) |
144 | goto err_no_bitbang; | 143 | goto err_no_bitbang; |
145 | 144 | ||
146 | /* register the chips to go with the board */ | ||
147 | |||
148 | for (i = 0; i < sp->info->board_size; i++) { | ||
149 | dev_info(&dev->dev, "registering %p: %s\n", | ||
150 | &sp->info->board_info[i], | ||
151 | sp->info->board_info[i].modalias); | ||
152 | |||
153 | sp->info->board_info[i].controller_data = sp; | ||
154 | spi_new_device(master, sp->info->board_info + i); | ||
155 | } | ||
156 | |||
157 | return 0; | 145 | return 0; |
158 | 146 | ||
159 | err_no_bitbang: | 147 | err_no_bitbang: |
diff --git a/include/asm-arm/arch-s3c2410/spi-gpio.h b/include/asm-arm/arch-s3c2410/spi-gpio.h index ba1dca88d480..73803731142a 100644 --- a/include/asm-arm/arch-s3c2410/spi-gpio.h +++ b/include/asm-arm/arch-s3c2410/spi-gpio.h | |||
@@ -13,9 +13,6 @@ | |||
13 | #ifndef __ASM_ARCH_SPIGPIO_H | 13 | #ifndef __ASM_ARCH_SPIGPIO_H |
14 | #define __ASM_ARCH_SPIGPIO_H __FILE__ | 14 | #define __ASM_ARCH_SPIGPIO_H __FILE__ |
15 | 15 | ||
16 | struct s3c2410_spigpio_info; | ||
17 | struct spi_board_info; | ||
18 | |||
19 | struct s3c2410_spigpio_info { | 16 | struct s3c2410_spigpio_info { |
20 | unsigned long pin_clk; | 17 | unsigned long pin_clk; |
21 | unsigned long pin_mosi; | 18 | unsigned long pin_mosi; |
@@ -23,9 +20,6 @@ struct s3c2410_spigpio_info { | |||
23 | 20 | ||
24 | int bus_num; | 21 | int bus_num; |
25 | 22 | ||
26 | unsigned long board_size; | ||
27 | struct spi_board_info *board_info; | ||
28 | |||
29 | void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs); | 23 | void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs); |
30 | }; | 24 | }; |
31 | 25 | ||
diff --git a/include/asm-arm/arch-s3c2410/spi.h b/include/asm-arm/arch-s3c2410/spi.h index 4029a1a1ab40..7ca0ed97a6d0 100644 --- a/include/asm-arm/arch-s3c2410/spi.h +++ b/include/asm-arm/arch-s3c2410/spi.h | |||
@@ -13,15 +13,9 @@ | |||
13 | #ifndef __ASM_ARCH_SPI_H | 13 | #ifndef __ASM_ARCH_SPI_H |
14 | #define __ASM_ARCH_SPI_H __FILE__ | 14 | #define __ASM_ARCH_SPI_H __FILE__ |
15 | 15 | ||
16 | struct s3c2410_spi_info; | ||
17 | struct spi_board_info; | ||
18 | |||
19 | struct s3c2410_spi_info { | 16 | struct s3c2410_spi_info { |
20 | unsigned long pin_cs; /* simple gpio cs */ | 17 | unsigned long pin_cs; /* simple gpio cs */ |
21 | 18 | ||
22 | unsigned long board_size; | ||
23 | struct spi_board_info *board_info; | ||
24 | |||
25 | void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); | 19 | void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); |
26 | }; | 20 | }; |
27 | 21 | ||