[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1584088256.16960.9.camel@mhfsdcap03>
Date: Fri, 13 Mar 2020 16:30:56 +0800
From: Ran Bi <ran.bi@...iatek.com>
To: Lee Jones <lee.jones@...aro.org>
CC: Hsin-Hsiung Wang <hsin-hsiung.wang@...iatek.com>,
Rob Herring <robh+dt@...nel.org>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Matthias Brugger <matthias.bgg@...il.com>,
Mark Rutland <mark.rutland@....com>,
Sean Wang <sean.wang@...iatek.com>,
"Sebastian Reichel" <sre@...nel.org>,
Eddie Huang <eddie.huang@...iatek.com>,
Alessandro Zummo <a.zummo@...ertech.it>,
Frank Wunderlich <frank-w@...lic-files.de>,
Thomas Gleixner <tglx@...utronix.de>,
"Richard Fontana" <rfontana@...hat.com>,
Josef Friedl <josef.friedl@...ed.at>,
<devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-mediatek@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <linux-pm@...r.kernel.org>,
<linux-rtc@...r.kernel.org>,
Nicolas Boichat <drinkcat@...omium.org>,
<srv_heupstream@...iatek.com>
Subject: Re: [PATCH v10 4/5] rtc: mt6397: Add support for the MediaTek
MT6358 RTC
On Fri, 2020-03-13 at 07:22 +0000, Lee Jones wrote:
> On Thu, 12 Mar 2020, Ran Bi wrote:
>
> > On Thu, 2020-03-12 at 07:44 +0000, Lee Jones wrote:
> > > On Wed, 11 Mar 2020, Hsin-Hsiung Wang wrote:
> > >
> > > > From: Ran Bi <ran.bi@...iatek.com>
> > > >
> > > > This add support for the MediaTek MT6358 RTC. Driver using
> > > > compatible data to store different RTC_WRTGR address offset.
> > > > This replace RTC_WRTGR to RTC_WRTGR_MT6323 in mt6323-poweroff
> > > > driver which only needed by armv7 CPU without ATF.
> > > >
> > > > Signed-off-by: Ran Bi <ran.bi@...iatek.com>
> > > > Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang@...iatek.com>
> > > > ---
> > > > drivers/power/reset/mt6323-poweroff.c | 2 +-
> > > > drivers/rtc/rtc-mt6397.c | 32 ++++++++++++++++++++++++--------
> > > > include/linux/mfd/mt6397/rtc.h | 9 ++++++++-
> > > > 3 files changed, 33 insertions(+), 10 deletions(-)
> > > >
> >
> > <...>
> >
> > > >
> > > > #define RTC_IRQ_STA 0x0002
> > > > #define RTC_IRQ_STA_AL BIT(0)
> > > > @@ -65,6 +67,10 @@
> > > > #define MTK_RTC_POLL_DELAY_US 10
> > > > #define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ))
> > > >
> > > > +struct mtk_rtc_data {
> > > > + u32 wrtgr;
> > > > +};
> > >
> > > Do you expect to add more properties to this struct?
> > >
> > > If not, it seems a bit overkill.
> > >
> >
> > Yes, we would add more properties here in future patches.
> >
> > > > struct mt6397_rtc {
> > > > struct device *dev;
> > > > struct rtc_device *rtc_dev;
> > > > @@ -74,6 +80,7 @@ struct mt6397_rtc {
> > > > struct regmap *regmap;
> > > > int irq;
> > > > u32 addr_base;
> > > > + const struct mtk_rtc_data *data;
> > >
> > > 'data' is a terrible variable name.
> > >
> > > Why do you need to store this?
> > >
> > > It's one variable which is used once AFAICT.
> >
> > I would rename 'data' to 'config'.
> >
> > This struct will be extended in future patches to achieve more PMIC chip
> > compatibility.
>
> On closer inspection, it looks like wrtgr (also not a great name for a
> variable by the way) is a register address. Is that correct?
> Initially I thought it was a model number, which would have been a
> suitable candidate for entry into OF .data.
>
> However, describing register addresses in OF .data does not sound like
> good practice. It is usually used to identify a platform in the cases
> where platforms cannot be otherwise dynamically interrogated for model
> number via a register read.
>
> Describing register maps via 'config' data is a slippery slope.
>
wrtgr is a special register called "write trigger" which could apply RTC
register change after write 1 to this register. I suppose I could rename
it to "trigger".
Most RTC register offset was same between 6397 and 6358 PMIC chip except
this trigger register. So I would like to store this difference into OF
data. Otherwise, I need a long if-else condition based on model number
or register read.
Powered by blists - more mailing lists