[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180324185430.GP3417@piout.net>
Date: Sat, 24 Mar 2018 19:54:30 +0100
From: Alexandre Belloni <alexandre.belloni@...e-electrons.com>
To: Sean Wang <sean.wang@...iatek.com>
Cc: robh+dt@...nel.org, mark.rutland@....com, sre@...nel.org,
lee.jones@...aro.org, a.zummo@...ertech.it,
eddie.huang@...iatek.com, devicetree@...r.kernel.org,
linux-rtc@...r.kernel.org, linux-pm@...r.kernel.org,
linux-mediatek@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 11/16] rtc: mediatek: move the declaration into a
globally visible header file
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@...iatek.com wrote:
> > > From: Sean Wang <sean.wang@...iatek.com>
> > >
> > > 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@...iatek.com>
> > > ---
> > > 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@...iatek.com>
> > > + * Sean Wang <sean.wang@...iatek.com>
> > > + */
> > > +
> > > +#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
Powered by blists - more mailing lists