diff options
author | Axel Lin <axel.lin@ingics.com> | 2014-02-12 09:09:52 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-02-22 22:44:49 -0500 |
commit | 4522193698d115761f9e4f340697f86975ac8e69 (patch) | |
tree | 67bdb7b4760bb4caf7200a0917a39644629a3d56 /drivers/spi/spi-sh-hspi.c | |
parent | 38dbfb59d1175ef458d006556061adeaa8751b72 (diff) |
spi: sh-hspi: Convert to let spi core validate bits_per_word
Set bits_per_word_mask so spi core will reject transfers that attempt to use
an unsupported bits_per_word value.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi/spi-sh-hspi.c')
-rw-r--r-- | drivers/spi/spi-sh-hspi.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/drivers/spi/spi-sh-hspi.c b/drivers/spi/spi-sh-hspi.c index 82d2f922ffa0..dbd2c44f95e9 100644 --- a/drivers/spi/spi-sh-hspi.c +++ b/drivers/spi/spi-sh-hspi.c | |||
@@ -230,21 +230,6 @@ static int hspi_transfer_one_message(struct spi_master *master, | |||
230 | return ret; | 230 | return ret; |
231 | } | 231 | } |
232 | 232 | ||
233 | static int hspi_setup(struct spi_device *spi) | ||
234 | { | ||
235 | struct hspi_priv *hspi = spi_master_get_devdata(spi->master); | ||
236 | struct device *dev = hspi->dev; | ||
237 | |||
238 | if (8 != spi->bits_per_word) { | ||
239 | dev_err(dev, "bits_per_word should be 8\n"); | ||
240 | return -EIO; | ||
241 | } | ||
242 | |||
243 | dev_dbg(dev, "%s setup\n", spi->modalias); | ||
244 | |||
245 | return 0; | ||
246 | } | ||
247 | |||
248 | static void hspi_cleanup(struct spi_device *spi) | 233 | static void hspi_cleanup(struct spi_device *spi) |
249 | { | 234 | { |
250 | struct hspi_priv *hspi = spi_master_get_devdata(spi->master); | 235 | struct hspi_priv *hspi = spi_master_get_devdata(spi->master); |
@@ -300,12 +285,13 @@ static int hspi_probe(struct platform_device *pdev) | |||
300 | 285 | ||
301 | master->num_chipselect = 1; | 286 | master->num_chipselect = 1; |
302 | master->bus_num = pdev->id; | 287 | master->bus_num = pdev->id; |
303 | master->setup = hspi_setup; | ||
304 | master->cleanup = hspi_cleanup; | 288 | master->cleanup = hspi_cleanup; |
305 | master->mode_bits = SPI_CPOL | SPI_CPHA; | 289 | master->mode_bits = SPI_CPOL | SPI_CPHA; |
306 | master->dev.of_node = pdev->dev.of_node; | 290 | master->dev.of_node = pdev->dev.of_node; |
307 | master->auto_runtime_pm = true; | 291 | master->auto_runtime_pm = true; |
308 | master->transfer_one_message = hspi_transfer_one_message; | 292 | master->transfer_one_message = hspi_transfer_one_message; |
293 | master->bits_per_word_mask = SPI_BPW_MASK(8); | ||
294 | |||
309 | ret = devm_spi_register_master(&pdev->dev, master); | 295 | ret = devm_spi_register_master(&pdev->dev, master); |
310 | if (ret < 0) { | 296 | if (ret < 0) { |
311 | dev_err(&pdev->dev, "spi_register_master error.\n"); | 297 | dev_err(&pdev->dev, "spi_register_master error.\n"); |