Re: [PATCH v1 11/16] rtc: mediatek: move the declaration into a globally visible header file

From: Alexandre Belloni
Date: Sat Mar 24 2018 - 14:54:54 EST


On 24/03/2018 at 15:31:49 +0800, Sean Wang wrote:
> On Fri, 2018-03-23 at 10:57 +0100, Alexandre Belloni wrote:
> > On 23/03/2018 at 17:15:08 +0800, sean.wang@xxxxxxxxxxxx wrote:
> > > From: Sean Wang <sean.wang@xxxxxxxxxxxx>
> > >
> > > This is in preparation for allowing other drivers can share the
> > > declaration, so move the declaration into a globally visible header file.
> > >
> > > Signed-off-by: Sean Wang <sean.wang@xxxxxxxxxxxx>
> > > ---
> > > drivers/rtc/rtc-mt6397.c | 53 +---------------------------------
> > > include/linux/rtc/mt6397.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++
> >
> > This should go in include/linux/mfd/
>
> include/linux/mfd/mt6397 is present, so include/linux/mfd/mt6397/rtc.h
> seems a nice place to keep these declarations for the pmic rtc.
>

Yes, this seems good to me.

> > > 2 files changed, 73 insertions(+), 52 deletions(-)
> > > create mode 100644 include/linux/rtc/mt6397.h
> > >
> > > diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c
> > > index d133d1f..015609d 100644
> > > --- a/drivers/rtc/rtc-mt6397.c
> > > +++ b/drivers/rtc/rtc-mt6397.c
> > > @@ -19,63 +19,12 @@
> > > #include <linux/of_platform.h>
> > > #include <linux/regmap.h>
> > > #include <linux/rtc.h>
> > > -#include <linux/jiffies.h>
> > > #include <linux/platform_device.h>
> > > #include <linux/of_address.h>
> > > #include <linux/of_irq.h>
> > > #include <linux/io.h>
> > > #include <linux/mfd/mt6397/core.h>
> > > -
> > > -#define RTC_BBPU 0x0000
> > > -#define RTC_BBPU_CBUSY BIT(6)
> > > -
> > > -#define RTC_WRTGR 0x003c
> > > -
> > > -#define RTC_IRQ_STA 0x0002
> > > -#define RTC_IRQ_STA_AL BIT(0)
> > > -#define RTC_IRQ_STA_LP BIT(3)
> > > -
> > > -#define RTC_IRQ_EN 0x0004
> > > -#define RTC_IRQ_EN_AL BIT(0)
> > > -#define RTC_IRQ_EN_ONESHOT BIT(2)
> > > -#define RTC_IRQ_EN_LP BIT(3)
> > > -#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL)
> > > -
> > > -#define RTC_AL_MASK 0x0008
> > > -#define RTC_AL_MASK_DOW BIT(4)
> > > -
> > > -#define RTC_TC_SEC 0x000a
> > > -/* Min, Hour, Dom... register offset to RTC_TC_SEC */
> > > -#define RTC_OFFSET_SEC 0
> > > -#define RTC_OFFSET_MIN 1
> > > -#define RTC_OFFSET_HOUR 2
> > > -#define RTC_OFFSET_DOM 3
> > > -#define RTC_OFFSET_DOW 4
> > > -#define RTC_OFFSET_MTH 5
> > > -#define RTC_OFFSET_YEAR 6
> > > -#define RTC_OFFSET_COUNT 7
> > > -
> > > -#define RTC_AL_SEC 0x0018
> > > -
> > > -#define RTC_PDN2 0x002e
> > > -#define RTC_PDN2_PWRON_ALARM BIT(4)
> > > -
> > > -#define RTC_MIN_YEAR 1968
> > > -#define RTC_BASE_YEAR 1900
> > > -#define RTC_NUM_YEARS 128
> > > -#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR)
> > > -
> > > -#define MTK_RTC_POLL_DELAY_US 10
> > > -#define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ))
> > > -
> > > -struct mt6397_rtc {
> > > - struct device *dev;
> > > - struct rtc_device *rtc_dev;
> > > - struct mutex lock;
> > > - struct regmap *regmap;
> > > - int irq;
> > > - u32 addr_base;
> > > -};
> > > +#include <linux/rtc/mt6397.h>
> > >
> > > static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc)
> > > {
> > > diff --git a/include/linux/rtc/mt6397.h b/include/linux/rtc/mt6397.h
> > > new file mode 100644
> > > index 0000000..4b19f51
> > > --- /dev/null
> > > +++ b/include/linux/rtc/mt6397.h
> > > @@ -0,0 +1,72 @@
> > > +
> >
> > Unnecessary empty line
> >
>
> will remove the unnecessary empty line
>
> > > +// SPDX-License-Identifier: GPL-2.0
> > > +/*
> > > + * Copyright (C) 2014-2018 MediaTek Inc.
> > > + *
> > > + * Author: Tianping.Fang <tianping.fang@xxxxxxxxxxxx>
> > > + * Sean Wang <sean.wang@xxxxxxxxxxxx>
> > > + */
> > > +
> > > +#ifndef _LINUX_RTC_MT6397_H_
> > > +#define _LINUX_RTC_MT6397_H_
> > > +
> > > +#include <linux/jiffies.h>
> > > +#include <linux/mutex.h>
> > > +#include <linux/regmap.h>
> > > +#include <linux/rtc.h>
> > > +
> > > +#define RTC_BBPU 0x0000
> > > +#define RTC_BBPU_CBUSY BIT(6)
> > > +
> > > +#define RTC_WRTGR 0x003c
> > > +
> > > +#define RTC_IRQ_STA 0x0002
> > > +#define RTC_IRQ_STA_AL BIT(0)
> > > +#define RTC_IRQ_STA_LP BIT(3)
> > > +
> > > +#define RTC_IRQ_EN 0x0004
> > > +#define RTC_IRQ_EN_AL BIT(0)
> > > +#define RTC_IRQ_EN_ONESHOT BIT(2)
> > > +#define RTC_IRQ_EN_LP BIT(3)
> > > +#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL)
> > > +
> > > +#define RTC_AL_MASK 0x0008
> > > +#define RTC_AL_MASK_DOW BIT(4)
> > > +
> > > +#define RTC_TC_SEC 0x000a
> > > +/* Min, Hour, Dom... register offset to RTC_TC_SEC */
> > > +#define RTC_OFFSET_SEC 0
> > > +#define RTC_OFFSET_MIN 1
> > > +#define RTC_OFFSET_HOUR 2
> > > +#define RTC_OFFSET_DOM 3
> > > +#define RTC_OFFSET_DOW 4
> > > +#define RTC_OFFSET_MTH 5
> > > +#define RTC_OFFSET_YEAR 6
> > > +#define RTC_OFFSET_COUNT 7
> > > +
> > > +#define RTC_AL_SEC 0x0018
> > > +
> > > +#define RTC_PDN2 0x002e
> > > +#define RTC_PDN2_PWRON_ALARM BIT(4)
> > > +
> > > +#define RTC_MIN_YEAR 1968
> > > +#define RTC_BASE_YEAR 1900
> > > +#define RTC_NUM_YEARS 128
> > > +#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR)
> > > +
> > > +#define MTK_RTC_POLL_DELAY_US 10
> > > +#define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ))
> > > +
> > > +struct mt6397_rtc {
> > > + struct device *dev;
> > > + struct rtc_device *rtc_dev;
> > > +
> > > + /* protect registers accessing */
> > > + struct mutex lock;
> > > + struct regmap *regmap;
> > > + int irq;
> > > + u32 addr_base;
> > > +};
> > > +
> > > +#endif /* _LINUX_RTC_MT6397_H_ */
> > > +
> > > --
> > > 2.7.4
> > >
> >
>
>

--
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com