Skip to content

Commit

Permalink
spi: s3c drivers shouldn't care about spi_board_info
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David Brownell authored and Linus Torvalds committed Feb 6, 2008
1 parent 8bacb21 commit b359fbc
Show file tree
Hide file tree
Showing 4 changed files with 0 additions and 36 deletions.
12 changes: 0 additions & 12 deletions drivers/spi/spi_s3c24xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,10 +237,8 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev)
{
struct s3c24xx_spi *hw;
struct spi_master *master;
struct spi_board_info *bi;
struct resource *res;
int err = 0;
int i;

master = spi_alloc_master(&pdev->dev, sizeof(struct s3c24xx_spi));
if (master == NULL) {
Expand Down Expand Up @@ -348,16 +346,6 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev)
goto err_register;
}

/* register all the devices associated */

bi = &hw->pdata->board_info[0];
for (i = 0; i < hw->pdata->board_size; i++, bi++) {
dev_info(hw->dev, "registering %s\n", bi->modalias);

bi->controller_data = hw;
spi_new_device(master, bi);
}

return 0;

err_register:
Expand Down
12 changes: 0 additions & 12 deletions drivers/spi/spi_s3c24xx_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -143,17 +142,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++) {
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;
spi_new_device(master, sp->info->board_info + i);
}

return 0;

err_no_bitbang:
Expand Down
6 changes: 0 additions & 6 deletions include/asm-arm/arch-s3c2410/spi-gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,13 @@
#ifndef __ASM_ARCH_SPIGPIO_H
#define __ASM_ARCH_SPIGPIO_H __FILE__

struct s3c2410_spigpio_info;
struct spi_board_info;

struct s3c2410_spigpio_info {
unsigned long pin_clk;
unsigned long pin_mosi;
unsigned long pin_miso;

int bus_num;

unsigned long board_size;
struct spi_board_info *board_info;

void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs);
};

Expand Down
6 changes: 0 additions & 6 deletions include/asm-arm/arch-s3c2410/spi.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,9 @@
#ifndef __ASM_ARCH_SPI_H
#define __ASM_ARCH_SPI_H __FILE__

struct s3c2410_spi_info;
struct spi_board_info;

struct s3c2410_spi_info {
unsigned long pin_cs; /* simple gpio cs */

unsigned long board_size;
struct spi_board_info *board_info;

void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol);
};

Expand Down

0 comments on commit b359fbc

Please sign in to comment.