|
@@ -193,8 +193,8 @@ static int wl12xx_spi_read_busy(struct device *child)
|
|
|
return -ETIMEDOUT;
|
|
|
}
|
|
|
|
|
|
-static void wl12xx_spi_raw_read(struct device *child, int addr, void *buf,
|
|
|
- size_t len, bool fixed)
|
|
|
+static int wl12xx_spi_raw_read(struct device *child, int addr, void *buf,
|
|
|
+ size_t len, bool fixed)
|
|
|
{
|
|
|
struct wl12xx_spi_glue *glue = dev_get_drvdata(child->parent);
|
|
|
struct wl1271 *wl = dev_get_drvdata(child);
|
|
@@ -238,7 +238,7 @@ static void wl12xx_spi_raw_read(struct device *child, int addr, void *buf,
|
|
|
if (!(busy_buf[WL1271_BUSY_WORD_CNT - 1] & 0x1) &&
|
|
|
wl12xx_spi_read_busy(child)) {
|
|
|
memset(buf, 0, chunk_len);
|
|
|
- return;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
spi_message_init(&m);
|
|
@@ -256,10 +256,12 @@ static void wl12xx_spi_raw_read(struct device *child, int addr, void *buf,
|
|
|
buf += chunk_len;
|
|
|
len -= chunk_len;
|
|
|
}
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
-static void wl12xx_spi_raw_write(struct device *child, int addr, void *buf,
|
|
|
- size_t len, bool fixed)
|
|
|
+static int wl12xx_spi_raw_write(struct device *child, int addr, void *buf,
|
|
|
+ size_t len, bool fixed)
|
|
|
{
|
|
|
struct wl12xx_spi_glue *glue = dev_get_drvdata(child->parent);
|
|
|
struct spi_transfer t[2 * WSPI_MAX_NUM_OF_CHUNKS];
|
|
@@ -304,6 +306,8 @@ static void wl12xx_spi_raw_write(struct device *child, int addr, void *buf,
|
|
|
}
|
|
|
|
|
|
spi_sync(to_spi_device(glue->dev), &m);
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static struct wl1271_if_operations spi_ops = {
|