Re: [PATCH] spi: atmel: improve internal vs gpio chip-select choice

From: Måns Rullgård
Date: Tue Jan 12 2016 - 04:08:26 EST


Nicolas Ferre <nicolas.ferre@xxxxxxxxx> writes:

> Le 11/01/2016 16:43, Måns Rullgård a écrit :
>> Nicolas Ferre <nicolas.ferre@xxxxxxxxx> writes:
>>
>>> Le 08/01/2016 01:11, Mans Rullgard a écrit :
>>>> The driver currently chooses between internal chip-select or gpio
>>>> based on the existence of the cs-gpios DT property which fails on
>>>> non-DT systems and also enforces the same choice for all devices.
>>>
>>> Well, I fear that such a per-device choice may impact further the driver
>>> than just moving a field from one structure to another...
>>
>> Could you please elaborate?
>
> Well, the first thing that comes to my mind is that the DT property may
> need to be to the SPI device node and not the controller anymore, for a
> need of coherency.
> That would imply modifying the binding and I don't want that for such an
> useless "improvement".
>
>>> Moreover, I have the feeling that it was not the objective of this
>>> patch.
>>
>> Your feeling is mistaken. If it's somehow impossible to mix CS types,
>> please explain why.
>
> Please only fix the avr32 issue with CS gpio selection that I admit we
> have. I don't need nor want to mix CS types: it just doesn't make sense
> to allow it.

OK, fine. I thought it could be useful (and it works), but apparently
you disagree.

Now the trouble with a global gpio vs internal setting is that we don't
know whether the non-DT platform data provides a gpio for the slave
devices when the master device is probed. One possibility is to make
the choice based on the first slave to be registered and insist that the
rest follow suit. I don't really like it, but I can't think of anything
else off the top of my head. Do you have any better suggestions?

--
Måns Rullgård