Merge remote-tracking branch 'spi/topic/ep93xx' into spi-next
authorMark Brown <broonie@linaro.org>
Wed, 26 Jun 2013 15:20:58 +0000 (16:20 +0100)
committerMark Brown <broonie@linaro.org>
Wed, 26 Jun 2013 15:20:58 +0000 (16:20 +0100)
1  2 
drivers/spi/spi-ep93xx.c

diff --combined drivers/spi/spi-ep93xx.c
@@@ -296,6 -296,12 +296,6 @@@ static int ep93xx_spi_setup(struct spi_
        struct ep93xx_spi *espi = spi_master_get_devdata(spi->master);
        struct ep93xx_spi_chip *chip;
  
 -      if (spi->bits_per_word < 4 || spi->bits_per_word > 16) {
 -              dev_err(&espi->pdev->dev, "invalid bits per word %d\n",
 -                      spi->bits_per_word);
 -              return -EINVAL;
 -      }
 -
        chip = spi_get_ctldata(spi);
        if (!chip) {
                dev_dbg(&espi->pdev->dev, "initial setup for %s\n",
@@@ -359,6 -365,10 +359,6 @@@ static int ep93xx_spi_transfer(struct s
  
        /* first validate each transfer */
        list_for_each_entry(t, &msg->transfers, transfer_list) {
 -              if (t->bits_per_word) {
 -                      if (t->bits_per_word < 4 || t->bits_per_word > 16)
 -                              return -EINVAL;
 -              }
                if (t->speed_hz && t->speed_hz < espi->min_rate)
                                return -EINVAL;
        }
@@@ -1036,7 -1046,6 +1036,7 @@@ static int ep93xx_spi_probe(struct plat
        master->bus_num = pdev->id;
        master->num_chipselect = info->num_chipselect;
        master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
 +      master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16);
  
        platform_set_drvdata(pdev, master);
  
        espi->wq = create_singlethread_workqueue("ep93xx_spid");
        if (!espi->wq) {
                dev_err(&pdev->dev, "unable to create workqueue\n");
+               error = -ENOMEM;
                goto fail_free_dma;
        }
        INIT_WORK(&espi->msg_work, ep93xx_spi_work);
@@@ -1123,6 -1133,7 +1124,6 @@@ fail_put_clock
        clk_put(espi->clk);
  fail_release_master:
        spi_master_put(master);
 -      platform_set_drvdata(pdev, NULL);
  
        return error;
  }
@@@ -1157,6 -1168,7 +1158,6 @@@ static int ep93xx_spi_remove(struct pla
  
        ep93xx_spi_release_dma(espi);
        clk_put(espi->clk);
 -      platform_set_drvdata(pdev, NULL);
  
        spi_unregister_master(master);
        return 0;