aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-fsl-dspi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/spi/spi-fsl-dspi.c')
-rw-r--r--drivers/spi/spi-fsl-dspi.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index 8641b03bdd7a..a25392065d9b 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -320,8 +320,10 @@ static void dspi_chipselect(struct spi_device *spi, int value)
320 switch (value) { 320 switch (value) {
321 case BITBANG_CS_ACTIVE: 321 case BITBANG_CS_ACTIVE:
322 pushr |= SPI_PUSHR_CONT; 322 pushr |= SPI_PUSHR_CONT;
323 break;
323 case BITBANG_CS_INACTIVE: 324 case BITBANG_CS_INACTIVE:
324 pushr &= ~SPI_PUSHR_CONT; 325 pushr &= ~SPI_PUSHR_CONT;
326 break;
325 } 327 }
326 328
327 writel(pushr, dspi->base + SPI_PUSHR); 329 writel(pushr, dspi->base + SPI_PUSHR);
@@ -373,9 +375,6 @@ static int dspi_setup(struct spi_device *spi)
373 if (!spi->max_speed_hz) 375 if (!spi->max_speed_hz)
374 return -EINVAL; 376 return -EINVAL;
375 377
376 if (!spi->bits_per_word)
377 spi->bits_per_word = 8;
378
379 return dspi_setup_transfer(spi, NULL); 378 return dspi_setup_transfer(spi, NULL);
380} 379}
381 380
@@ -421,7 +420,6 @@ static int dspi_suspend(struct device *dev)
421 420
422static int dspi_resume(struct device *dev) 421static int dspi_resume(struct device *dev)
423{ 422{
424
425 struct spi_master *master = dev_get_drvdata(dev); 423 struct spi_master *master = dev_get_drvdata(dev);
426 struct fsl_dspi *dspi = spi_master_get_devdata(master); 424 struct fsl_dspi *dspi = spi_master_get_devdata(master);
427 425
@@ -505,7 +503,7 @@ static int dspi_probe(struct platform_device *pdev)
505 clk_prepare_enable(dspi->clk); 503 clk_prepare_enable(dspi->clk);
506 504
507 init_waitqueue_head(&dspi->waitq); 505 init_waitqueue_head(&dspi->waitq);
508 platform_set_drvdata(pdev, dspi); 506 platform_set_drvdata(pdev, master);
509 507
510 ret = spi_bitbang_start(&dspi->bitbang); 508 ret = spi_bitbang_start(&dspi->bitbang);
511 if (ret != 0) { 509 if (ret != 0) {
@@ -526,7 +524,8 @@ out_master_put:
526 524
527static int dspi_remove(struct platform_device *pdev) 525static int dspi_remove(struct platform_device *pdev)
528{ 526{
529 struct fsl_dspi *dspi = platform_get_drvdata(pdev); 527 struct spi_master *master = platform_get_drvdata(pdev);
528 struct fsl_dspi *dspi = spi_master_get_devdata(master);
530 529
531 /* Disconnect from the SPI framework */ 530 /* Disconnect from the SPI framework */
532 spi_bitbang_stop(&dspi->bitbang); 531 spi_bitbang_stop(&dspi->bitbang);