diff options
-rw-r--r-- | drivers/spi/spi-octeon.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/drivers/spi/spi-octeon.c b/drivers/spi/spi-octeon.c index c7c772a09bb7..5f28ddbe4f7e 100644 --- a/drivers/spi/spi-octeon.c +++ b/drivers/spi/spi-octeon.c | |||
@@ -161,19 +161,6 @@ static int octeon_spi_do_transfer(struct octeon_spi *p, | |||
161 | return xfer->len; | 161 | return xfer->len; |
162 | } | 162 | } |
163 | 163 | ||
164 | static int octeon_spi_validate_bpw(struct spi_device *spi, u32 speed) | ||
165 | { | ||
166 | switch (speed) { | ||
167 | case 8: | ||
168 | break; | ||
169 | default: | ||
170 | dev_err(&spi->dev, "Error: %d bits per word not supported\n", | ||
171 | speed); | ||
172 | return -EINVAL; | ||
173 | } | ||
174 | return 0; | ||
175 | } | ||
176 | |||
177 | static int octeon_spi_transfer_one_message(struct spi_master *master, | 164 | static int octeon_spi_transfer_one_message(struct spi_master *master, |
178 | struct spi_message *msg) | 165 | struct spi_message *msg) |
179 | { | 166 | { |
@@ -192,15 +179,6 @@ static int octeon_spi_transfer_one_message(struct spi_master *master, | |||
192 | } | 179 | } |
193 | 180 | ||
194 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { | 181 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { |
195 | if (xfer->bits_per_word) { | ||
196 | status = octeon_spi_validate_bpw(msg->spi, | ||
197 | xfer->bits_per_word); | ||
198 | if (status) | ||
199 | goto err; | ||
200 | } | ||
201 | } | ||
202 | |||
203 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { | ||
204 | bool last_xfer = &xfer->transfer_list == msg->transfers.prev; | 182 | bool last_xfer = &xfer->transfer_list == msg->transfers.prev; |
205 | int r = octeon_spi_do_transfer(p, msg, xfer, last_xfer); | 183 | int r = octeon_spi_do_transfer(p, msg, xfer, last_xfer); |
206 | if (r < 0) { | 184 | if (r < 0) { |
@@ -231,14 +209,9 @@ static struct octeon_spi_setup *octeon_spi_new_setup(struct spi_device *spi) | |||
231 | 209 | ||
232 | static int octeon_spi_setup(struct spi_device *spi) | 210 | static int octeon_spi_setup(struct spi_device *spi) |
233 | { | 211 | { |
234 | int r; | ||
235 | struct octeon_spi_setup *new_setup; | 212 | struct octeon_spi_setup *new_setup; |
236 | struct octeon_spi_setup *old_setup = spi_get_ctldata(spi); | 213 | struct octeon_spi_setup *old_setup = spi_get_ctldata(spi); |
237 | 214 | ||
238 | r = octeon_spi_validate_bpw(spi, spi->bits_per_word); | ||
239 | if (r) | ||
240 | return r; | ||
241 | |||
242 | new_setup = octeon_spi_new_setup(spi); | 215 | new_setup = octeon_spi_new_setup(spi); |
243 | if (!new_setup) | 216 | if (!new_setup) |
244 | return -ENOMEM; | 217 | return -ENOMEM; |
@@ -296,6 +269,7 @@ static int octeon_spi_probe(struct platform_device *pdev) | |||
296 | master->setup = octeon_spi_setup; | 269 | master->setup = octeon_spi_setup; |
297 | master->cleanup = octeon_spi_cleanup; | 270 | master->cleanup = octeon_spi_cleanup; |
298 | master->transfer_one_message = octeon_spi_transfer_one_message; | 271 | master->transfer_one_message = octeon_spi_transfer_one_message; |
272 | master->bits_per_word_mask = SPI_BPW_MASK(8); | ||
299 | 273 | ||
300 | master->dev.of_node = pdev->dev.of_node; | 274 | master->dev.of_node = pdev->dev.of_node; |
301 | err = spi_register_master(master); | 275 | err = spi_register_master(master); |