lkml.org 
[lkml]   [2011]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 01/11] spi-dw: expose platform data stucture.
From
Date


Dirk Brandewie <dirk.brandewie@gmail.com> wrote:

>On 06/22/2011 08:47 PM, Grant Likely wrote:
>> On Wed, Jun 22, 2011 at 8:00 PM,<dirk.brandewie@gmail.com> wrote:
>>> From: Dirk Brandewie<dirk.brandewie@gmail.com>
>>>
>>> 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.
>>
>
>Most of these config options don't need to be client configurable IMHO
>but they
>are being used ATM by drivers that aren't upstream and the current
>controller
>driver uses them. This patch is to give a smooth transition
>(bisectable) to my
>change that reworks the core message and transfer handling code.
>
>This allows me to provide patches to the developers of the out of tree
>drivers
>that should be coming in RSN and exposes the interface they are using
>now.

My question still stands. Are you expecting spi_driver code to manipulate this data?

g.

>
>--Dirk
>> g.
>>
>>>
>>> Signed-off-by: Dirk Brandewie<dirk.brandewie@gmail.com>
>>> ---
>>> 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
>>> spi-devel-general@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/spi-devel-general
>>>
>>
>>
>>

--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


\
 
 \ /
  Last update: 2011-06-23 06:05    [W:0.046 / U:0.312 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site