Messages in this thread | | | From | "Opensource [Steve Twiss]" <> | Subject | RE: [RFC V1] mfd: da9063: Add support for production silicon variant code | Date | Sun, 16 Feb 2014 12:18:43 +0000 |
| |
On 14 February 2014 14:57, Mark Brown [mailto:broonie@kernel.org] 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
| |