Merge remote-tracking branches 'spi/topic/pxa', 'spi/topic/rb4xx', 'spi/topic/rspi...
[cascardo/linux.git] / drivers / spi / spi-rspi.c
index f6bac9e..f9189a0 100644 (file)
@@ -665,15 +665,12 @@ static bool rspi_can_dma(struct spi_master *master, struct spi_device *spi,
 static int rspi_dma_check_then_transfer(struct rspi_data *rspi,
                                         struct spi_transfer *xfer)
 {
-       if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) {
-               /* rx_buf can be NULL on RSPI on SH in TX-only Mode */
-               int ret = rspi_dma_transfer(rspi, &xfer->tx_sg,
-                                       xfer->rx_buf ? &xfer->rx_sg : NULL);
-               if (ret != -EAGAIN)
-                       return 0;
-       }
+       if (!rspi->master->can_dma || !__rspi_can_dma(rspi, xfer))
+               return -EAGAIN;
 
-       return -EAGAIN;
+       /* rx_buf can be NULL on RSPI on SH in TX-only Mode */
+       return rspi_dma_transfer(rspi, &xfer->tx_sg,
+                               xfer->rx_buf ? &xfer->rx_sg : NULL);
 }
 
 static int rspi_common_transfer(struct rspi_data *rspi,
@@ -724,7 +721,7 @@ static int rspi_rz_transfer_one(struct spi_master *master,
        return rspi_common_transfer(rspi, xfer);
 }
 
-static int qspi_trigger_transfer_out_int(struct rspi_data *rspi, const u8 *tx,
+static int qspi_trigger_transfer_out_in(struct rspi_data *rspi, const u8 *tx,
                                        u8 *rx, unsigned int len)
 {
        int i, n, ret;
@@ -771,12 +768,8 @@ static int qspi_transfer_out_in(struct rspi_data *rspi,
        if (ret != -EAGAIN)
                return ret;
 
-       ret = qspi_trigger_transfer_out_int(rspi, xfer->tx_buf,
+       return qspi_trigger_transfer_out_in(rspi, xfer->tx_buf,
                                            xfer->rx_buf, xfer->len);
-       if (ret < 0)
-               return ret;
-
-       return 0;
 }
 
 static int qspi_transfer_out(struct rspi_data *rspi, struct spi_transfer *xfer)
@@ -1300,7 +1293,7 @@ error1:
        return ret;
 }
 
-static struct platform_device_id spi_driver_ids[] = {
+static const struct platform_device_id spi_driver_ids[] = {
        { "rspi",       (kernel_ulong_t)&rspi_ops },
        { "rspi-rz",    (kernel_ulong_t)&rspi_rz_ops },
        { "qspi",       (kernel_ulong_t)&qspi_ops },