
Hi,
On Fri, Dec 25, 2009 at 22:41:13, Dirk Behme wrote:
On 23.12.2009 08:44, Sudhakar Rajashekhara wrote:
From: Sekhar Norinsekhar@ti.com
This adds a driver for the SPI controller found on davinci based SoCs from Texas Instruments.
Signed-off-by: Sekhar Norinsekhar@ti.com Signed-off-by: Sudhakar Rajashekharasudhakar.raj@ti.com
drivers/spi/Makefile | 1 + drivers/spi/davinci_spi.c | 205 +++++++++++++++++++++++++++++++++++++++++++++ drivers/spi/davinci_spi.h | 84 ++++++++++++++++++ 3 files changed, 290 insertions(+), 0 deletions(-) create mode 100644 drivers/spi/davinci_spi.c create mode 100644 drivers/spi/davinci_spi.h
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index 824d8e7..07b9611 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -34,6 +34,7 @@ COBJS-$(CONFIG_MPC52XX_SPI) += mpc52xx_spi.o COBJS-$(CONFIG_MPC8XXX_SPI) += mpc8xxx_spi.o COBJS-$(CONFIG_MXC_SPI) += mxc_spi.o COBJS-$(CONFIG_SOFT_SPI) += soft_spi.o +COBJS-$(CONFIG_DAVINCI_SPI) += davinci_spi.o
Should this list be kept sorted alphabetically? I.e.
I'll arrange them alphabetically.
... COBJS-$(CONFIG_BFIN_SPI) += bfin_spi.o COBJS-$(CONFIG_CF_SPI) += cf_spi.o +COBJS-$(CONFIG_DAVINCI_SPI) += davinci_spi.o COBJS-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o ...
?
COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c) diff --git a/drivers/spi/davinci_spi.c b/drivers/spi/davinci_spi.c new file mode 100644 index 0000000..1c988bb --- /dev/null +++ b/drivers/spi/davinci_spi.c @@ -0,0 +1,205 @@
...
+void spi_init()
...
+struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
unsigned int max_hz, unsigned int mode)
...
+void spi_free_slave(struct spi_slave *slave)
....
+int spi_claim_bus(struct spi_slave *slave)
....
+void spi_release_bus(struct spi_slave *slave)
....
+int spi_xfer(struct spi_slave *slave, unsigned int bitlen,
const void *dout, void *din, unsigned long flags)
I wonder if all (SPI API) functions from include/spi.h should be implemented? I.e. do we need (dummy) functions for spi_cs_is_valid(), spi_cs_activate() and spi_cs_deactivate(), too? Just in case a driver does use them.
diff --git a/drivers/spi/davinci_spi.h b/drivers/spi/davinci_spi.h new file mode 100644 index 0000000..b3bf916 --- /dev/null +++ b/drivers/spi/davinci_spi.h @@ -0,0 +1,84 @@ +/*
- Register definitions for the DaVinci SPI Controller
- */
Do we want a complete GPL header, like in the .c file, here, too?
Do we want a protection against multiple inclusion
#ifndef _DAVINCI_SPI_H_ #define _DAVINCI_SPI_H_
in this header file?
Best regards
Dirk