Re: [PATCH 3/4] regmap: Add SPI bus support

Grant Likely
2011-07-15T05:04:48Z

On Thu, Jul 14, 2011 at 10:39 PM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Thu, Jul 14, 2011 at 08:53:27PM -0600, Grant Likely wrote:
>> On Sat, Jul 09, 2011 at 01:50:43PM +0900, Mark Brown wrote:
>
>> >  obj-$(CONFIG_I2C) += regmap-i2c.o
>> > +obj-$(CONFIG_SPI) += regmap-spi.o
>
>> I would think this code should live with drivers/spi.c  And similar
>> for the i2c implementation.
>
> There was a bit about this in the cover mail - it's the interace
> stability issue again, the plan is to move them once we're more
> confident that the interface used will stay stable.

I've got no problem with churn in drivers/spi, and I'm fine to have
changes in drivers/spi merged via other trees if it means the code is
in the logical place.

>
>> > +{
>> > +   struct spi_device *spi = to_spi_device(dev);
>> > +   struct spi_message m;
>> > +   struct spi_transfer t[2];
>
>> > +   spi_message_init(&m);
>> > +
>> > +   memset(&t, 0, sizeof(t));
>
>> If you do:
>
>>       struct spi_transfer t[2] = { {.tx_buf = reg, .len = reg_len},
>>                                    {.tx_buf = val, .len = val_len}};
>
>> Then the memset() and t[0]/t[1] lines can all be culled.
>
> That does the init to zero?

You might want to double check, but I believe it gets implemented as a
memcpy of a static initializer.

>
>> > +   t[1].tx_buf = val;
>> > +   t[1].len = val_len;
>> > +   spi_message_add_tail(&t[0], &m);
>
>> t[0]?
>
> Yes, that's been fixed in git for a little while now.
>

--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.