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 22:03:31 -0600
From:	"glikely@...retlab.ca" <grant.likely@...retlab.ca>
To:	Dirk Brandewie <dirk.brandewie@...il.com>
CC:	linux-kernel@...r.kernel.org,
	spi-devel-general@...ts.sourceforge.net
Subject: Re: [PATCH 01/11] spi-dw: expose platform data stucture.



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

>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.

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

g.

>
>--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
>>>
>>
>>
>>

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
--
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