Subject: Re: [PATCH v10 4/5] rtc: mt6397: Add support for the MediaTek MT6358 RTC

From: Lee Jones <[email-masked]>
Date: Fri, 13 Mar 2020 07:22:30 +0000

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 <[email-masked]>
> > > 
> > > 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 <[email-masked]>
> > > Signed-off-by: Hsin-Hsiung Wang <[email-masked]>
> > > ---
> > >  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.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel