summaryrefslogtreecommitdiff
path: root/cleopatre/linux-2.6.25.10-spc300/arch/arm
diff options
context:
space:
mode:
authorJérémy Dufour2012-12-14 10:58:45 +0100
committerJérémy Dufour2013-01-08 10:28:07 +0100
commitf1c78734c3efdf774ffa137f9a4db91d168b755a (patch)
tree81a66459b9d57a5e11a4f58beb72d1e81b6cb3df /cleopatre/linux-2.6.25.10-spc300/arch/arm
parent59f25d0489585fb64c1e742b73eb976b137eb626 (diff)
cleo/linux/arch/arm: use dynamic position in tables, refs #3579
Diffstat (limited to 'cleopatre/linux-2.6.25.10-spc300/arch/arm')
-rw-r--r--cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c
index 275939e621..84d5373fbd 100644
--- a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c
+++ b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c
@@ -498,29 +498,28 @@ void spc300_add_device_ethernet(void)
*/
void __init spc300_add_device_spidevs(struct spc300_flash_spi_dev *flash, struct spc300_afe_spi_dev *afe)
{
+ unsigned int pos = 0;
if(flash)
{
spc300_spiflash_data.type = NULL;
spc300_spiflash_data.parts = flash->parts;
spc300_spiflash_data.nr_parts = flash->nb_parts;
- spc300_spi_devices[0].max_speed_hz = flash->speed;
- spc300_spi_devices[0].mode = flash->spimode;
- spc300_spi_devices[0].chip_select = flash->cs;
+ spc300_spi_devices[pos].max_speed_hz = flash->speed;
+ spc300_spi_devices[pos].mode = flash->spimode;
+ spc300_spi_devices[pos].chip_select = flash->cs;
+ pos++;
}
if(afe)
{
- strncpy(spc300_spi_devices[1].modalias, afe->name, KOBJ_NAME_LEN);
- spc300_spi_devices[1].max_speed_hz = afe->speed;
- spc300_spi_devices[1].mode = afe->spimode;
- spc300_spi_devices[1].chip_select = afe->cs;
+ strncpy(spc300_spi_devices[pos].modalias, afe->name, KOBJ_NAME_LEN);
+ spc300_spi_devices[pos].max_speed_hz = afe->speed;
+ spc300_spi_devices[pos].mode = afe->spimode;
+ spc300_spi_devices[pos].chip_select = afe->cs;
+ pos++;
}
- if(flash && afe)
- spi_register_board_info(spc300_spi_devices, ARRAY_SIZE(spc300_spi_devices));
- else if(flash)
- spi_register_board_info(&spc300_spi_devices[0], 1);
- else if(afe)
- spi_register_board_info(&spc300_spi_devices[1], 1);
+ if(flash || afe)
+ spi_register_board_info(spc300_spi_devices, pos);
}
/**