staging: wilc1000: linux_wlan_set_bssid: use wilc instead of g_linux_wlan
[deliverable/linux.git] / drivers / staging / wilc1000 / linux_wlan_spi.c
index 236669cfcd3aed93e1eb190b8f4675979b11d2f8..039d06192d6b1af853e97207a1a11ccb642cb828 100644 (file)
@@ -5,11 +5,12 @@
 #include <linux/slab.h>
 #include <linux/types.h>
 #include <linux/cdev.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
 #include <linux/device.h>
 #include <linux/spi/spi.h>
 
 #include "linux_wlan_common.h"
+#include "linux_wlan_spi.h"
 
 #define USE_SPI_DMA     0       /* johnny add */
 
@@ -38,7 +39,7 @@
  #define MAX_SPEED 6000000
 #endif /* WILC_ASIC_A0 */
 
-static uint32_t SPEED = MIN_SPEED;
+static u32 SPEED = MIN_SPEED;
 
 struct spi_device *wilc_spi_dev;
 void linux_spi_deinit(void *vp);
@@ -113,57 +114,20 @@ int linux_spi_init(void *vp)
 #define TXRX_PHASE_SIZE (4096)
 #endif
 
-#if defined (NM73131_0_BOARD)
+#if defined(TXRX_PHASE_SIZE)
 
-int linux_spi_write(uint8_t *b, uint32_t len)
+int linux_spi_write(u8 *b, u32 len)
 {
-
        int ret;
 
-       if (len > 0 && b != NULL) {
-               struct spi_message msg;
-               PRINT_D(BUS_DBG, "Request writing %d bytes\n", len);
-               struct spi_transfer tr = {
-                       .tx_buf = b,
-                       .len = len,
-                       .speed_hz = SPEED,
-                       .delay_usecs = 0,
-               };
-
-               spi_message_init(&msg);
-               spi_message_add_tail(&tr, &msg);
-               ret = spi_sync(wilc_spi_dev, &msg);
-               if (ret < 0) {
-                       PRINT_ER("SPI transaction failed\n");
-               }
-
-       } else {
-               PRINT_ER("can't write data with the following length: %d\n", len);
-               PRINT_ER("FAILED due to NULL buffer or ZERO length check the following length: %d\n", len);
-               ret = -1;
-       }
-
-       /* change return value to match WILC interface */
-       (ret < 0) ? (ret = 0) : (ret = 1);
-
-
-       return ret;
-}
-
-#elif defined(TXRX_PHASE_SIZE)
-
-int linux_spi_write(uint8_t *b, uint32_t len)
-{
-       int ret;
        if (len > 0 && b != NULL) {
                int i = 0;
                int blk = len / TXRX_PHASE_SIZE;
                int remainder = len % TXRX_PHASE_SIZE;
 
                char *r_buffer = kzalloc(TXRX_PHASE_SIZE, GFP_KERNEL);
-               if (!r_buffer) {
-                       PRINT_ER("Failed to allocate memory for r_buffer\n");
-               }
+               if (!r_buffer)
+                       return -ENOMEM;
 
                if (blk) {
                        while (i < blk) {
@@ -229,7 +193,7 @@ int linux_spi_write(uint8_t *b, uint32_t len)
 }
 
 #else
-int linux_spi_write(uint8_t *b, uint32_t len)
+int linux_spi_write(u8 *b, u32 len)
 {
 
        int ret;
@@ -243,9 +207,9 @@ int linux_spi_write(uint8_t *b, uint32_t len)
                        .delay_usecs = 0,
                };
                char *r_buffer = kzalloc(len, GFP_KERNEL);
-               if (!r_buffer) {
-                       PRINT_ER("Failed to allocate memory for r_buffer\n");
-               }
+               if (!r_buffer)
+                       return -ENOMEM;
+
                tr.rx_buf = r_buffer;
                PRINT_D(BUS_DBG, "Request writing %d bytes\n", len);
 
@@ -278,42 +242,9 @@ int linux_spi_write(uint8_t *b, uint32_t len)
 
 #endif
 
-#if defined (NM73131_0_BOARD)
+#if defined(TXRX_PHASE_SIZE)
 
-int linux_spi_read(unsigned char *rb, unsigned long rlen)
-{
-
-       int ret;
-
-       if (rlen > 0) {
-               struct spi_message msg;
-               struct spi_transfer tr = {
-                       .rx_buf = rb,
-                       .len = rlen,
-                       .speed_hz = SPEED,
-                       .delay_usecs = 0,
-
-               };
-
-               spi_message_init(&msg);
-               spi_message_add_tail(&tr, &msg);
-               ret = spi_sync(wilc_spi_dev, &msg);
-               if (ret < 0) {
-                       PRINT_ER("SPI transaction failed\n");
-               }
-       } else {
-               PRINT_ER("can't read data with the following length: %ld\n", rlen);
-               ret = -1;
-       }
-       /* change return value to match WILC interface */
-       (ret < 0) ? (ret = 0) : (ret = 1);
-
-       return ret;
-}
-
-#elif defined(TXRX_PHASE_SIZE)
-
-int linux_spi_read(unsigned char *rb, unsigned long rlen)
+int linux_spi_read(u8 *rb, u32 rlen)
 {
        int ret;
 
@@ -324,9 +255,8 @@ int linux_spi_read(unsigned char *rb, unsigned long rlen)
                int remainder = rlen % TXRX_PHASE_SIZE;
 
                char *t_buffer = kzalloc(TXRX_PHASE_SIZE, GFP_KERNEL);
-               if (!t_buffer) {
-                       PRINT_ER("Failed to allocate memory for t_buffer\n");
-               }
+               if (!t_buffer)
+                       return -ENOMEM;
 
                if (blk) {
                        while (i < blk) {
@@ -378,7 +308,7 @@ int linux_spi_read(unsigned char *rb, unsigned long rlen)
 
                kfree(t_buffer);
        } else {
-               PRINT_ER("can't read data with the following length: %ld\n", rlen);
+               PRINT_ER("can't read data with the following length: %u\n", rlen);
                ret = -1;
        }
        /* change return value to match WILC interface */
@@ -388,7 +318,7 @@ int linux_spi_read(unsigned char *rb, unsigned long rlen)
 }
 
 #else
-int linux_spi_read(unsigned char *rb, unsigned long rlen)
+int linux_spi_read(u8 *rb, u32 rlen)
 {
 
        int ret;
@@ -403,9 +333,9 @@ int linux_spi_read(unsigned char *rb, unsigned long rlen)
 
                };
                char *t_buffer = kzalloc(rlen, GFP_KERNEL);
-               if (!t_buffer) {
-                       PRINT_ER("Failed to allocate memory for t_buffer\n");
-               }
+               if (!t_buffer)
+                       return -ENOMEM;
+
                tr.tx_buf = t_buffer;
 
                memset(&msg, 0, sizeof(msg));
@@ -422,7 +352,7 @@ int linux_spi_read(unsigned char *rb, unsigned long rlen)
                }
                kfree(t_buffer);
        } else {
-               PRINT_ER("can't read data with the following length: %ld\n", rlen);
+               PRINT_ER("can't read data with the following length: %u\n", rlen);
                ret = -1;
        }
        /* change return value to match WILC interface */
@@ -433,7 +363,7 @@ int linux_spi_read(unsigned char *rb, unsigned long rlen)
 
 #endif
 
-int linux_spi_write_read(unsigned char *wb, unsigned char *rb, unsigned int rlen)
+int linux_spi_write_read(u8 *wb, u8 *rb, u32 rlen)
 {
 
        int ret;
@@ -461,7 +391,7 @@ int linux_spi_write_read(unsigned char *wb, unsigned char *rb, unsigned int rlen
                        PRINT_ER("SPI transaction failed\n");
                }
        } else {
-               PRINT_ER("can't read data with the following length: %d\n", rlen);
+               PRINT_ER("can't read data with the following length: %u\n", rlen);
                ret = -1;
        }
        /* change return value to match WILC interface */
This page took 0.028397 seconds and 5 git commands to generate.