]> git.sur5r.net Git - u-boot/blobdiff - drivers/spi/cf_spi.c
spi: xilinx_spi: Use BIT macro
[u-boot] / drivers / spi / cf_spi.c
index 879a809cba491dbb2285b75b8b9bb6836ab06adf..6ce11012e89bb05d258c17b654a93cc51bd2d7f9 100644 (file)
@@ -20,13 +20,6 @@ struct cf_spi_slave {
        int charbit;
 };
 
-int cfspi_xfer(struct spi_slave *slave, uint bitlen, const void *dout,
-              void *din, ulong flags);
-struct spi_slave *cfspi_setup_slave(struct cf_spi_slave *cfslave, uint mode);
-void cfspi_init(void);
-void cfspi_tx(u32 ctrl, u16 data);
-u16 cfspi_rx(void);
-
 extern void cfspi_port_conf(void);
 extern int cfspi_claim_bus(uint bus, uint cs);
 extern void cfspi_release_bus(uint bus, uint cs);
@@ -46,7 +39,12 @@ DECLARE_GLOBAL_DATA_PTR;
 #define SPI_MODE_MOD   0x00200000
 #define SPI_DBLRATE    0x00100000
 
-void cfspi_init(void)
+static inline struct cf_spi_slave *to_cf_spi_slave(struct spi_slave *slave)
+{
+       return container_of(slave, struct cf_spi_slave, slave);
+}
+
+static void cfspi_init(void)
 {
        volatile dspi_t *dspi = (dspi_t *) MMAP_DSPI;
 
@@ -84,7 +82,7 @@ void cfspi_init(void)
 #endif
 }
 
-void cfspi_tx(u32 ctrl, u16 data)
+static void cfspi_tx(u32 ctrl, u16 data)
 {
        volatile dspi_t *dspi = (dspi_t *) MMAP_DSPI;
 
@@ -93,7 +91,7 @@ void cfspi_tx(u32 ctrl, u16 data)
        dspi->tfr = (ctrl | data);
 }
 
-u16 cfspi_rx(void)
+static u16 cfspi_rx(void)
 {
        volatile dspi_t *dspi = (dspi_t *) MMAP_DSPI;
 
@@ -102,10 +100,10 @@ u16 cfspi_rx(void)
        return (dspi->rfr & 0xFFFF);
 }
 
-int cfspi_xfer(struct spi_slave *slave, uint bitlen, const void *dout,
-              void *din, ulong flags)
+static int cfspi_xfer(struct spi_slave *slave, uint bitlen, const void *dout,
+                     void *din, ulong flags)
 {
-       struct cf_spi_slave *cfslave = (struct cf_spi_slave *)slave;
+       struct cf_spi_slave *cfslave = to_cf_spi_slave(slave);
        u16 *spi_rd16 = NULL, *spi_wr16 = NULL;
        u8 *spi_rd = NULL, *spi_wr = NULL;
        static u32 ctrl = 0;
@@ -176,7 +174,8 @@ int cfspi_xfer(struct spi_slave *slave, uint bitlen, const void *dout,
        return 0;
 }
 
-struct spi_slave *cfspi_setup_slave(struct cf_spi_slave *cfslave, uint mode)
+static struct spi_slave *cfspi_setup_slave(struct cf_spi_slave *cfslave,
+                                          uint mode)
 {
        /*
         * bit definition for mode:
@@ -326,7 +325,9 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
 
 void spi_free_slave(struct spi_slave *slave)
 {
-       free(slave);
+       struct cf_spi_slave *cfslave = to_cf_spi_slave(slave);
+
+       free(cfslave);
 }
 
 int spi_claim_bus(struct spi_slave *slave)