From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: linux-kernel@vger.kernel.org, spi-devel-general@lists.sourceforge.net
Subject: Re: [PATCH 01/11] spi-dw: expose platform data stucture.
Date: Wed, 22 Jun 2011 21:00:40 -0700 [thread overview]
Message-ID: <4E02BA68.2010108@gmail.com> (raw)
In-Reply-To: <BANLkTin9Ouf76VEFRam+eo=H7Gw3Tv6OLA@mail.gmail.com>
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.
--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
>>
>
>
>
next prev parent reply other threads:[~2011-06-23 4:00 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-23 2:00 [PATCH 00/11] RFC spi-dw updates dirk.brandewie
2011-06-23 2:00 ` [PATCH 01/11] spi-dw: expose platform data stucture dirk.brandewie
2011-06-23 3:47 ` Grant Likely
2011-06-23 4:00 ` Dirk Brandewie [this message]
2011-06-23 4:03 ` glikely@secretlab.ca
2011-06-23 4:37 ` Dirk Brandewie
2011-06-23 5:06 ` glikely@secretlab.ca
2011-06-23 5:16 ` Dirk Brandewie
[not found] ` <1308794413-11069-1-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-06-23 2:00 ` [PATCH 02/11] spi-dw: update function naming convention to match file naming dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 2:00 ` [PATCH 03/11] spi-dw: change MRST prefix to generic prefix dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 2:00 ` [PATCH 04/11] spi-dw: remove unused definition dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 2:00 ` [PATCH 05/11] spi-dw: split spi_dw_enable_chip() into spi_dw_enable()/spi_dw_disable() dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 2:00 ` [PATCH 06/11] spi-dw: Force error on out of range chip select dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 3:51 ` Grant Likely
2011-06-23 4:13 ` Dirk Brandewie
2011-06-23 2:00 ` [PATCH 07/11] spi-dw: Set number of available chip selects correctly dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 3:53 ` Grant Likely
2011-06-23 2:00 ` [PATCH 08/11] spi-dw: Ensure fifo lenght is set dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 2:41 ` Feng Tang
2011-06-23 3:01 ` Dirk Brandewie
2011-06-23 3:21 ` Feng Tang
2011-06-23 3:55 ` Grant Likely
2011-06-23 4:20 ` Dirk Brandewie
2011-06-23 2:00 ` [PATCH 09/11] spi-dw: Fix condition in spi_dw_{writer/reader} dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 2:45 ` Feng Tang
2011-06-23 3:09 ` Dirk Brandewie
2011-06-23 3:25 ` Feng Tang
2011-06-23 3:30 ` Dirk Brandewie
2011-06-23 5:09 ` Feng Tang
2011-06-23 2:00 ` [PATCH 11/11] spi-dw: remove noop else clause dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23 2:47 ` Feng Tang
2011-06-23 3:13 ` Dirk Brandewie
2011-06-23 2:00 ` [PATCH 10/11] spi-dw: Move checking of max_speed_hz value to be a prerequisite in spi_dw_setup dirk.brandewie
2011-06-23 2:39 ` [PATCH 00/11] RFC spi-dw updates Feng Tang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E02BA68.2010108@gmail.com \
--to=dirk.brandewie@gmail.com \
--cc=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=spi-devel-general@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).