Re: [PATCH V2 5/6] rtc: max77xxx: add RTC driver for Maxim MAX77xxx series RTC IP

From: Laxman Dewangan
Date: Mon Jan 18 2016 - 07:12:22 EST

On Monday 18 January 2016 09:57 AM, Krzysztof Kozlowski wrote:
On 15.01.2016 10:50, Javier Martinez Canillas wrote:

On Thu, Jan 14, 2016 at 8:50 AM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
On Thursday 14 January 2016 06:50 AM, Krzysztof Kozlowski wrote:
On 14.01.2016 09:50, Krzysztof Kozlowski wrote:

The max77802 does exactly the same (BTW, these should be merged as
well... I'll add this to the TODO list) so I think this is necessary.
How about merging max77802 to max77686 first? The only differences I
found are:
1. It uses main MFD/PMIC regmap.
This can be solved as part of decoupling code. The driver will get
MFD's regmap and set up its own (only on max77686). The max77802 will
only use parent's regmap.

2. It has different register address.
We need a register-layout/configuration structure. The logic is the
same except few differences (e.g. presence of MAX77802_RTC_AE1).

It may be easier to merge them now, before adding support for max77620?

When I originally posted the max77802 support, I had separate MFD,
RTC, regulator and clock drivers and the feedback (IIRC) was that the
MFD and clock blocks were too similar to the max77686 so I extended
those drivers instead of adding new ones. But that the RTC and
regulator blocks were different so a separate driver was justified...
but it's true that are not that different and rtc-max77686 could be
extended and rtc-max77802 removed.

In fact, the ChromiumOS vendor tree has a single RTC driver for both
max77686 and max77802:

I could handle this probably next week or in the following week
(assuming someone would test max77802 because I don't have the hardware).

I could also work on this next week if you want. After all I feel
guilty for the code duplication :-)
So feel free to take that job from me. :) I will happily do the testing
and provide complains (I mean, comments).

Hi Javier,
If you can provide the patch for moving MAX77802 to MAX77686 then I can create the other change to move the regmap and i2c dummy client for rtc of max77686 to rtc driver from core on top of your change. This will completely decouple the rtc driver from core and so will be easy to use for other chip MAX77620.