diff options
Diffstat (limited to 'drivers/spi/spi-davinci.c')
-rw-r--r-- | drivers/spi/spi-davinci.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/spi/spi-davinci.c b/drivers/spi/spi-davinci.c index 50f750989258..2477af4bc1c7 100644 --- a/drivers/spi/spi-davinci.c +++ b/drivers/spi/spi-davinci.c | |||
@@ -38,8 +38,6 @@ | |||
38 | 38 | ||
39 | #define SPI_NO_RESOURCE ((resource_size_t)-1) | 39 | #define SPI_NO_RESOURCE ((resource_size_t)-1) |
40 | 40 | ||
41 | #define SPI_MAX_CHIPSELECT 2 | ||
42 | |||
43 | #define CS_DEFAULT 0xFF | 41 | #define CS_DEFAULT 0xFF |
44 | 42 | ||
45 | #define SPIFMT_PHASE_MASK BIT(16) | 43 | #define SPIFMT_PHASE_MASK BIT(16) |
@@ -142,7 +140,7 @@ struct davinci_spi { | |||
142 | void (*get_rx)(u32 rx_data, struct davinci_spi *); | 140 | void (*get_rx)(u32 rx_data, struct davinci_spi *); |
143 | u32 (*get_tx)(struct davinci_spi *); | 141 | u32 (*get_tx)(struct davinci_spi *); |
144 | 142 | ||
145 | u8 bytes_per_word[SPI_MAX_CHIPSELECT]; | 143 | u8 *bytes_per_word; |
146 | }; | 144 | }; |
147 | 145 | ||
148 | static struct davinci_spi_config davinci_spi_default_cfg; | 146 | static struct davinci_spi_config davinci_spi_default_cfg; |
@@ -876,6 +874,14 @@ static int davinci_spi_probe(struct platform_device *pdev) | |||
876 | /* pdata in dspi is now updated and point pdata to that */ | 874 | /* pdata in dspi is now updated and point pdata to that */ |
877 | pdata = &dspi->pdata; | 875 | pdata = &dspi->pdata; |
878 | 876 | ||
877 | dspi->bytes_per_word = devm_kzalloc(&pdev->dev, | ||
878 | sizeof(*dspi->bytes_per_word) * | ||
879 | pdata->num_chipselect, GFP_KERNEL); | ||
880 | if (dspi->bytes_per_word == NULL) { | ||
881 | ret = -ENOMEM; | ||
882 | goto free_master; | ||
883 | } | ||
884 | |||
879 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 885 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
880 | if (r == NULL) { | 886 | if (r == NULL) { |
881 | ret = -ENOENT; | 887 | ret = -ENOENT; |