[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56978BA1.9050409@nvidia.com>
Date: Thu, 14 Jan 2016 17:20:57 +0530
From: Laxman Dewangan <ldewangan@...dia.com>
To: Krzysztof Kozlowski <k.kozlowski@...sung.com>,
<robh+dt@...nel.org>, <pawel.moll@....com>, <mark.rutland@....com>,
<ijc+devicetree@...lion.org.uk>, <galak@...eaurora.org>,
<linus.walleij@...aro.org>, <gnurou@...il.com>,
<lee.jones@...aro.org>, <broonie@...nel.org>,
<a.zummo@...ertech.it>, <alexandre.belloni@...e-electrons.com>
CC: <lgirdwood@...il.com>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-gpio@...r.kernel.org>,
<rtc-linux@...glegroups.com>, <swarren@...dia.com>,
<treding@...dia.com>
Subject: Re: [PATCH V2 5/6] rtc: max77xxx: add RTC driver for Maxim MAX77xxx
series RTC IP
On Thursday 14 January 2016 06:50 AM, Krzysztof Kozlowski wrote:
> On 14.01.2016 09:50, Krzysztof Kozlowski wrote:
>> On 13.01.2016 23:59, Laxman Dewangan wrote:
>>> On Wednesday 13 January 2016 09:55 AM, Laxman Dewangan wrote:
>>>> On Wednesday 13 January 2016 09:58 AM, Krzysztof Kozlowski wrote:
>>>>> On 13.01.2016 13:07, Laxman Dewangan wrote:
>>>>>> On Wednesday 13 January 2016 05:36 AM, Krzysztof Kozlowski wrote:
>>>>>> That is also fine to me but still I am not comfortable with the config
>>>>>> name and driver file name as this does not suggest the common.
>>>>> The name does not matter. Really. We have a lot of drivers with a
>>>>> specific device-like name and supporting different devices. To point
>>>>> that your argument is invalid - your initial name of driver
>>>>> "rtc-max77620.c" supported totally different "names": the max77620 and
>>>>> max20024. It also wasn't suggesting something "common"...
>>>> In all config string, I have mentioned the MAX20024.
>>>>
>>>>
>>>>> With my approach we are not developing common think neither. We just
>>>>> want to extend/re-use existing max77686 (or max77802) driver for new
>>>>> devices. Just like everywhere else.
>>>> OK, fine to me if this is acceptable.
>>>> I will drop this rtc patch form this series and work in max77686
>>>> driver to modify first and once merged, use this config on my defconfig.
>>>>
>>> Here, MAX686 RTC driver needs two regmap handle, one for the rtc_regmap
>>> and other for STATUS2 register access.
>>>
>>> ret = regmap_read(info->max77686->regmap, MAX77686_REG_STATUS2,
>>> &val);
>>> if (ret < 0) {
>>> dev_err(info->dev, "%s:%d fail to read status2 reg(%d)\n",
>>> __func__, __LINE__, ret);
>>> goto out;
>>> }
>>>
>>>
>>> We can not have two regmap handle on rtc driver as both regmap (pmic and
>>> rtc) registered with different i2c device.
>>>
>>> Also this register should not be accessed by RTC driver if we want to
>>> decouple as this is very much MAX77686 register set.
>>> Do we need this code?
>>> static int max77686_rtc_read_alarm(struct device *dev, struct rtc_wkalrm
>>> *alrm)
>>> {
>>> struct max77686_rtc_info *info = dev_get_drvdata(dev);
>>> u8 data[RTC_NR_TIME];
>>> unsigned int val;
>>> int i, ret;
>>>
>>> ::::::::
>>> alrm->pending = 0;
>>> ret = regmap_read(info->max77686->regmap, MAX77686_REG_STATUS2,
>>> &val);
>>> if (ret < 0) {
>>> dev_err(info->dev, "%s:%d fail to read status2 reg(%d)\n",
>>> __func__, __LINE__, ret);
>>> goto out;
>>> }
>>>
>>> if (val & (1 << 4)) /* RTCA1 */
>>> alrm->pending = 1;
>>>
>>> }
>> Most of the drivers set the 'pending' field when reading alarm. Your
>> original driver did not.
>>
>> 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?
> I could handle this probably next week or in the following week
> (assuming someone would test max77802 because I don't have the hardware).
>
> Anyway I think we should develop these RTC patches having this in mind:
> merge all of them.
>
I think we can do the merging of max77802 and max77686 at second step.
At first, lets decouple the rtc-max77686.c with its mfd driver. This
will give better picture how will it be done.
Once this is there then max77620 can use this and in parallel, can be
work for max77802 to use the same driver.
Let's first conclude and get accpepted for max77686 and max77620 as both
of us have related HW to verify the changes.
Powered by blists - more mailing lists