On Wed, Jun 22, 2011 at 8:00 PM, <[email protected]> wrote: > From: Dirk Brandewie <[email protected]> > > Expose the platform data structure for use by client drivers. ATM > there are not any in-tree drivers using the driver (that I can > find). This patch exposes the platform data needed for client drivers.
? Why would client drivers want to muck with this configuration? I can understand the dw_spi driver being able to have per-spi_device configuration, but spi_drivers absolutely should not have visibility into bus-specific details. Am I misunderstanding something. g. > > Signed-off-by: Dirk Brandewie <[email protected]> > --- > drivers/spi/spi-dw.c | 3 --- > drivers/spi/spi-dw.h | 18 +----------------- > include/linux/spi/spi-dw.h | 42 ++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 43 insertions(+), 20 deletions(-) > create mode 100644 include/linux/spi/spi-dw.h > > diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c > index ece5f69..61f7ed8 100644 > --- a/drivers/spi/spi-dw.c > +++ b/drivers/spi/spi-dw.c > @@ -38,9 +38,6 @@ > #define QUEUE_RUNNING 0 > #define QUEUE_STOPPED 1 > > -#define MRST_SPI_DEASSERT 0 > -#define MRST_SPI_ASSERT 1 > - > /* Slave spi_dev related */ > struct chip_data { > u16 cr0; > diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h > index 7a5e78d..92bee30 100644 > --- a/drivers/spi/spi-dw.h > +++ b/drivers/spi/spi-dw.h > @@ -3,6 +3,7 @@ > > #include <linux/io.h> > #include <linux/scatterlist.h> > +#include <linux/spi/spi-dw.h> > > /* Bit fields in CTRLR0 */ > #define SPI_DFS_OFFSET 0 > @@ -49,11 +50,6 @@ > /* TX RX interrupt level threshold, max can be 256 */ > #define SPI_INT_THRESHOLD 32 > > -enum dw_ssi_type { > - SSI_MOTO_SPI = 0, > - SSI_TI_SSP, > - SSI_NS_MICROWIRE, > -}; > > struct dw_spi_reg { > u32 ctrl0; > @@ -208,18 +204,6 @@ static inline void spi_umask_intr(struct dw_spi *dws, > u32 mask) > dw_writel(dws, imr, new_mask); > } > > -/* > - * Each SPI slave device to work with dw_api controller should > - * has such a structure claiming its working mode (PIO/DMA etc), > - * which can be save in the "controller_data" member of the > - * struct spi_device > - */ > -struct dw_spi_chip { > - u8 poll_mode; /* 0 for contoller polling mode */ > - u8 type; /* SPI/SSP/Micrwire */ > - u8 enable_dma; > - void (*cs_control)(u32 command); > -}; > > extern int dw_spi_add_host(struct dw_spi *dws); > extern void dw_spi_remove_host(struct dw_spi *dws); > diff --git a/include/linux/spi/spi-dw.h b/include/linux/spi/spi-dw.h > new file mode 100644 > index 0000000..787b154 > --- /dev/null > +++ b/include/linux/spi/spi-dw.h > @@ -0,0 +1,42 @@ > +/* > + * > + * Copyright (c) 2009, Intel Corporation. > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms and conditions of the GNU General Public License, > + * version 2, as published by the Free Software Foundation. > + * > + * This program is distributed in the hope it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along > with > + * this program; if not, write to the Free Software Foundation, Inc., > + * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. > + */ > + > +#ifndef _SPI_DW_H_ > +#define _SPI_DW_H_ > +enum spi_dw_ssi_type { > + SSI_MOTO_SPI = 0, > + SSI_TI_SSP, > + SSI_NS_MICROWIRE, > +}; > + > +#define MRST_SPI_DEASSERT 0 > +#define MRST_SPI_ASSERT 1 > + > +/* > + * Each SPI slave device to work with dw_api controller should > + * has such a structure claiming its working mode (PIO/DMA etc), > + * which can be save in the "controller_data" member of the > + * struct spi_device > + */ > +struct spi_dw_chip { > + u8 poll_mode; /* 0 for contoller polling mode */ > + u8 type; /* SPI/SSP/Micrwire */ > + u8 enable_dma; > + void (*cs_control)(u32 command); > +}; > +#endif > -- > 1.7.3.4 > > > ------------------------------------------------------------------------------ > Simplify data backup and recovery for your virtual environment with vRanger. > Installation's a snap, and flexible recovery options mean your data is safe, > secure and there when you need it. Data protection magic? > Nope - It's vRanger. Get your free trial download today. > http://p.sf.net/sfu/quest-sfdev2dev > _______________________________________________ > spi-devel-general mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/spi-devel-general > -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. ------------------------------------------------------------------------------ Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Data protection magic? Nope - It's vRanger. Get your free trial download today. http://p.sf.net/sfu/quest-sfdev2dev _______________________________________________ spi-devel-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/spi-devel-general
