* [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave
@ 2015-02-20 16:17 Axel Lin
2015-02-20 16:19 ` [U-Boot] [PATCH 2/2] spi: cf_spi: Staticize local functions Axel Lin
2015-03-29 20:14 ` [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave Jagan Teki
0 siblings, 2 replies; 4+ messages in thread
From: Axel Lin @ 2015-02-20 16:17 UTC (permalink / raw)
To: u-boot
Don't assume slave is always the first member of struct cf_spi_slave.
Use container_of instead of casting first structure member.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
drivers/spi/cf_spi.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c
index 879a809..7453538 100644
--- a/drivers/spi/cf_spi.c
+++ b/drivers/spi/cf_spi.c
@@ -46,6 +46,11 @@ DECLARE_GLOBAL_DATA_PTR;
#define SPI_MODE_MOD 0x00200000
#define SPI_DBLRATE 0x00100000
+static inline struct cf_spi_slave *to_cf_spi_slave(struct spi_slave *slave)
+{
+ return container_of(slave, struct cf_spi_slave, slave);
+}
+
void cfspi_init(void)
{
volatile dspi_t *dspi = (dspi_t *) MMAP_DSPI;
@@ -105,7 +110,7 @@ u16 cfspi_rx(void)
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;
@@ -326,7 +331,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)
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 2/2] spi: cf_spi: Staticize local functions
2015-02-20 16:17 [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave Axel Lin
@ 2015-02-20 16:19 ` Axel Lin
2015-03-29 20:14 ` Jagan Teki
2015-03-29 20:14 ` [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave Jagan Teki
1 sibling, 1 reply; 4+ messages in thread
From: Axel Lin @ 2015-02-20 16:19 UTC (permalink / raw)
To: u-boot
Make local functions static and remove unneeded forward declarations.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
drivers/spi/cf_spi.c | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c
index 7453538..6ce1101 100644
--- a/drivers/spi/cf_spi.c
+++ b/drivers/spi/cf_spi.c
@@ -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);
@@ -51,7 +44,7 @@ static inline struct cf_spi_slave *to_cf_spi_slave(struct spi_slave *slave)
return container_of(slave, struct cf_spi_slave, slave);
}
-void cfspi_init(void)
+static void cfspi_init(void)
{
volatile dspi_t *dspi = (dspi_t *) MMAP_DSPI;
@@ -89,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;
@@ -98,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;
@@ -107,8 +100,8 @@ 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 = to_cf_spi_slave(slave);
u16 *spi_rd16 = NULL, *spi_wr16 = NULL;
@@ -181,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:
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave
2015-02-20 16:17 [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave Axel Lin
2015-02-20 16:19 ` [U-Boot] [PATCH 2/2] spi: cf_spi: Staticize local functions Axel Lin
@ 2015-03-29 20:14 ` Jagan Teki
1 sibling, 0 replies; 4+ messages in thread
From: Jagan Teki @ 2015-03-29 20:14 UTC (permalink / raw)
To: u-boot
On 20 February 2015 at 21:47, Axel Lin <axel.lin@ingics.com> wrote:
> Don't assume slave is always the first member of struct cf_spi_slave.
> Use container_of instead of casting first structure member.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> drivers/spi/cf_spi.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c
> index 879a809..7453538 100644
> --- a/drivers/spi/cf_spi.c
> +++ b/drivers/spi/cf_spi.c
> @@ -46,6 +46,11 @@ DECLARE_GLOBAL_DATA_PTR;
> #define SPI_MODE_MOD 0x00200000
> #define SPI_DBLRATE 0x00100000
>
> +static inline struct cf_spi_slave *to_cf_spi_slave(struct spi_slave *slave)
> +{
> + return container_of(slave, struct cf_spi_slave, slave);
> +}
> +
> void cfspi_init(void)
> {
> volatile dspi_t *dspi = (dspi_t *) MMAP_DSPI;
> @@ -105,7 +110,7 @@ u16 cfspi_rx(void)
> 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;
> @@ -326,7 +331,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)
> --
> 1.9.1
>
>
>
Applied to u-boot-spi/master
thanks!
--
Jagan.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 2/2] spi: cf_spi: Staticize local functions
2015-02-20 16:19 ` [U-Boot] [PATCH 2/2] spi: cf_spi: Staticize local functions Axel Lin
@ 2015-03-29 20:14 ` Jagan Teki
0 siblings, 0 replies; 4+ messages in thread
From: Jagan Teki @ 2015-03-29 20:14 UTC (permalink / raw)
To: u-boot
On 20 February 2015 at 21:49, Axel Lin <axel.lin@ingics.com> wrote:
> Make local functions static and remove unneeded forward declarations.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> drivers/spi/cf_spi.c | 20 +++++++-------------
> 1 file changed, 7 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c
> index 7453538..6ce1101 100644
> --- a/drivers/spi/cf_spi.c
> +++ b/drivers/spi/cf_spi.c
> @@ -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);
> @@ -51,7 +44,7 @@ static inline struct cf_spi_slave *to_cf_spi_slave(struct spi_slave *slave)
> return container_of(slave, struct cf_spi_slave, slave);
> }
>
> -void cfspi_init(void)
> +static void cfspi_init(void)
> {
> volatile dspi_t *dspi = (dspi_t *) MMAP_DSPI;
>
> @@ -89,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;
>
> @@ -98,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;
>
> @@ -107,8 +100,8 @@ 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 = to_cf_spi_slave(slave);
> u16 *spi_rd16 = NULL, *spi_wr16 = NULL;
> @@ -181,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:
> --
> 1.9.1
>
>
>
Applied to u-boot-spi/master
thanks!
--
Jagan.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-03-29 20:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-20 16:17 [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave Axel Lin
2015-02-20 16:19 ` [U-Boot] [PATCH 2/2] spi: cf_spi: Staticize local functions Axel Lin
2015-03-29 20:14 ` Jagan Teki
2015-03-29 20:14 ` [U-Boot] [PATCH 1/2] spi: cf_spi: Use to_cf_spi_slave to resolve cfslave from slave Jagan Teki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox