Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751211Ab1FWEAn (ORCPT ); Thu, 23 Jun 2011 00:00:43 -0400 Received: from mail-pz0-f46.google.com ([209.85.210.46]:33940 "EHLO mail-pz0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750721Ab1FWEAm (ORCPT ); Thu, 23 Jun 2011 00:00:42 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=IChBA2UJVd7D7w6WKtqbHtCid21b52qNO+Xh5h4VI4IPbd3esyY4+vDiSQ1hfoUl+4 y33QIYTuN1lMQzRQGtxel2eazvC63tilsc/20XYE0wupoRKHaX7xfhoUoOB1elBBo5nM 0GQ8SKnnoU088LTNstTqGP3LjkU3Yz1Kz7Z9g= Message-ID: <4E02BA68.2010108@gmail.com> Date: Wed, 22 Jun 2011 21:00:40 -0700 From: Dirk Brandewie User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc13 Thunderbird/3.1.10 MIME-Version: 1.0 To: Grant Likely CC: linux-kernel@vger.kernel.org, spi-devel-general@lists.sourceforge.net Subject: Re: [PATCH 01/11] spi-dw: expose platform data stucture. References: <1308794413-11069-1-git-send-email-dirk.brandewie@gmail.com> <1308794413-11069-2-git-send-email-dirk.brandewie@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5823 Lines: 163 On 06/22/2011 08:47 PM, Grant Likely wrote: > On Wed, Jun 22, 2011 at 8:00 PM, wrote: >> From: Dirk Brandewie >> >> 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 >> --- >> 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 >> #include >> +#include >> >> /* 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 >> > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/