RE: [RFC V1] mfd: da9063: Add support for production silicon variant code

From: Opensource [Steve Twiss]
Date: Sun Feb 16 2014 - 07:19:11 EST


On 14 February 2014 14:57, Mark Brown [mailto:broonie@xxxxxxxxxx] wrote:

>On Fri, Feb 14, 2014 at 10:28:38AM +0000, Opensource [Steve Twiss] wrote:
>
>> The previous silicon was only sent out in sample form to selected customers
>> and will no longer be available. I have been informed that the new silicon
>> has been sent out, and everybody should have received the new variant by
>> now.
>
>> The new variant is the only one going into production and the previous silicon
>> variant will no longer be available. Also, the production silicon of DA9063
>> makes an alteration to the registers which makes the two register maps
>> incompatible.

My apologies for not replying to this in time -- it appeared in my inbox after
I had sent RFC V2.

>
>The usual thing if it's straightforward to do so is to keep support for
>old versions even if the early revisions are not expected to be widely
>available.

Yes, I take your point here.

Some registers in the new variant make backwards compatibility easy,
however attempting to combine the two register maps in other components
makes the driver a mess.

By drawing the line in the probe() function I am requesting that there be no
support for older silicon. I have been requested to do this because that is
the line that Dialog Semiconductor Ltd wants to impose -- and this is not
just at the level of the S/W driver.

I realise that the Linux community will have different aims however and
I would like to support those as much as I can.

> We do fairly often see problems with people still using old
>boards for various reasons - the fact that new silicon is available does
>not mean that the old silicon has been retired by users (even if just
>for comparison purposes while new board revisions are being brought up -
>"that worked on the rev A boards, did we break the software?")

I see -- yes.

I don't see any straightforward way to support some of the components
in parallel, and merging the registers.h file for both variants does make a
mess even before reaching the driver code.

I'm not sure how easy this will be, but if I can retain support for some of
the older variant features already in the kernel I will try to do so during
my upcoming submissions.

Regards,
Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/