lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 22 Jun 2011 21:00:40 -0700
From:	Dirk Brandewie <dirk.brandewie@...il.com>
To:	Grant Likely <grant.likely@...retlab.ca>
CC:	linux-kernel@...r.kernel.org,
	spi-devel-general@...ts.sourceforge.net
Subject: Re: [PATCH 01/11] spi-dw: expose platform data stucture.

On 06/22/2011 08:47 PM, Grant Likely wrote:
> On Wed, Jun 22, 2011 at 8:00 PM,<dirk.brandewie@...il.com>  wrote:
>> From: Dirk Brandewie<dirk.brandewie@...il.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@...il.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@...ts.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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ