]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/spi/spi.c
Merge tag 'backlight-for-linus-3.16' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / drivers / spi / spi.c
index 939edf473235dca2fb7692fe0fec6dbdd649bbd0..d4f9670b51bcbd7947b811b5f8dfab8afc711248 100644 (file)
@@ -796,7 +796,7 @@ static int spi_transfer_one_message(struct spi_master *master,
                if (ret > 0) {
                        ret = 0;
                        ms = xfer->len * 8 * 1000 / xfer->speed_hz;
-                       ms += 10; /* some tolerance */
+                       ms += ms + 100; /* some tolerance */
 
                        ms = wait_for_completion_timeout(&master->xfer_completion,
                                                         msecs_to_jiffies(ms));
@@ -1255,6 +1255,8 @@ static void of_register_spi_devices(struct spi_master *master)
                        spi->mode |= SPI_CS_HIGH;
                if (of_find_property(nc, "spi-3wire", NULL))
                        spi->mode |= SPI_3WIRE;
+               if (of_find_property(nc, "spi-lsb-first", NULL))
+                       spi->mode |= SPI_LSB_FIRST;
 
                /* Device DUAL/QUAD mode */
                if (!of_property_read_u32(nc, "spi-tx-bus-width", &value)) {
@@ -1268,11 +1270,10 @@ static void of_register_spi_devices(struct spi_master *master)
                                spi->mode |= SPI_TX_QUAD;
                                break;
                        default:
-                               dev_err(&master->dev,
-                                       "spi-tx-bus-width %d not supported\n",
-                                       value);
-                               spi_dev_put(spi);
-                               continue;
+                               dev_warn(&master->dev,
+                                        "spi-tx-bus-width %d not supported\n",
+                                        value);
+                               break;
                        }
                }
 
@@ -1287,11 +1288,10 @@ static void of_register_spi_devices(struct spi_master *master)
                                spi->mode |= SPI_RX_QUAD;
                                break;
                        default:
-                               dev_err(&master->dev,
-                                       "spi-rx-bus-width %d not supported\n",
-                                       value);
-                               spi_dev_put(spi);
-                               continue;
+                               dev_warn(&master->dev,
+                                        "spi-rx-bus-width %d not supported\n",
+                                        value);
+                               break;
                        }
                }