From: Wolfram Sang <w.sang@pengutronix.de> To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>, Shawn Guo <shawn.guo@linaro.org>, Huang Shijie <b32955@freescale.com>, Wolfram Sang <w.sang@pengutronix.de> Subject: [PATCH 3/3] rtc: stmp3xxx: use global stmp_device functionality Date: Wed, 21 Mar 2012 23:21:59 +0100 [thread overview] Message-ID: <1332368519-22660-4-git-send-email-w.sang@pengutronix.de> (raw) In-Reply-To: <1332368519-22660-1-git-send-email-w.sang@pengutronix.de> The former mach specific reset_block function has been converted to a global one. Use the new one to remove mach dependency from the driver. Also simplify code using the new STMP_REG_* macros. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> --- drivers/rtc/Kconfig | 1 + drivers/rtc/rtc-stmp3xxx.c | 29 ++++++++++------------------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 3a125b8..e124f93 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -983,6 +983,7 @@ config RTC_DRV_COH901331 config RTC_DRV_STMP tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC" depends on ARCH_MXS + select STMP_DEVICE help If you say yes here you will get support for the onboard STMP3xxx/i.MX23/i.MX28 RTC. diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c index 1028786..e755d3e 100644 --- a/drivers/rtc/rtc-stmp3xxx.c +++ b/drivers/rtc/rtc-stmp3xxx.c @@ -25,11 +25,9 @@ #include <linux/interrupt.h> #include <linux/rtc.h> #include <linux/slab.h> - -#include <mach/common.h> +#include <linux/stmp_device.h> #define STMP3XXX_RTC_CTRL 0x0 -#define STMP3XXX_RTC_CTRL_SET 0x4 #define STMP3XXX_RTC_CTRL_CLR 0x8 #define STMP3XXX_RTC_CTRL_ALARM_IRQ_EN 0x00000001 #define STMP3XXX_RTC_CTRL_ONEMSEC_IRQ_EN 0x00000002 @@ -44,7 +42,6 @@ #define STMP3XXX_RTC_ALARM 0x40 #define STMP3XXX_RTC_PERSISTENT0 0x60 -#define STMP3XXX_RTC_PERSISTENT0_SET 0x64 #define STMP3XXX_RTC_PERSISTENT0_CLR 0x68 #define STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN 0x00000002 #define STMP3XXX_RTC_PERSISTENT0_ALARM_EN 0x00000004 @@ -106,20 +103,14 @@ static irqreturn_t stmp3xxx_rtc_interrupt(int irq, void *dev_id) static int stmp3xxx_alarm_irq_enable(struct device *dev, unsigned int enabled) { struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev); + u32 set_clr_offset = enabled ? STMP_OFFSET_REG_SET : STMP_OFFSET_REG_CLR; + + writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | + STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN, + rtc_data->io + STMP3XXX_RTC_PERSISTENT0 + set_clr_offset); + writel(STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, + rtc_data->io + STMP3XXX_RTC_CTRL + set_clr_offset); - if (enabled) { - writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | - STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN, - rtc_data->io + STMP3XXX_RTC_PERSISTENT0_SET); - writel(STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, - rtc_data->io + STMP3XXX_RTC_CTRL_SET); - } else { - writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | - STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN, - rtc_data->io + STMP3XXX_RTC_PERSISTENT0_CLR); - writel(STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, - rtc_data->io + STMP3XXX_RTC_CTRL_CLR); - } return 0; } @@ -206,7 +197,7 @@ static int stmp3xxx_rtc_probe(struct platform_device *pdev) platform_set_drvdata(pdev, rtc_data); - mxs_reset_block(rtc_data->io); + stmp_reset_block(rtc_data->io); writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE, @@ -253,7 +244,7 @@ static int stmp3xxx_rtc_resume(struct platform_device *dev) { struct stmp3xxx_rtc_data *rtc_data = platform_get_drvdata(dev); - mxs_reset_block(rtc_data->io); + stmp_reset_block(rtc_data->io); writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE, -- 1.7.2.5
WARNING: multiple messages have this Message-ID (diff)
From: w.sang@pengutronix.de (Wolfram Sang) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/3] rtc: stmp3xxx: use global stmp_device functionality Date: Wed, 21 Mar 2012 23:21:59 +0100 [thread overview] Message-ID: <1332368519-22660-4-git-send-email-w.sang@pengutronix.de> (raw) In-Reply-To: <1332368519-22660-1-git-send-email-w.sang@pengutronix.de> The former mach specific reset_block function has been converted to a global one. Use the new one to remove mach dependency from the driver. Also simplify code using the new STMP_REG_* macros. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> --- drivers/rtc/Kconfig | 1 + drivers/rtc/rtc-stmp3xxx.c | 29 ++++++++++------------------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 3a125b8..e124f93 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -983,6 +983,7 @@ config RTC_DRV_COH901331 config RTC_DRV_STMP tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC" depends on ARCH_MXS + select STMP_DEVICE help If you say yes here you will get support for the onboard STMP3xxx/i.MX23/i.MX28 RTC. diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c index 1028786..e755d3e 100644 --- a/drivers/rtc/rtc-stmp3xxx.c +++ b/drivers/rtc/rtc-stmp3xxx.c @@ -25,11 +25,9 @@ #include <linux/interrupt.h> #include <linux/rtc.h> #include <linux/slab.h> - -#include <mach/common.h> +#include <linux/stmp_device.h> #define STMP3XXX_RTC_CTRL 0x0 -#define STMP3XXX_RTC_CTRL_SET 0x4 #define STMP3XXX_RTC_CTRL_CLR 0x8 #define STMP3XXX_RTC_CTRL_ALARM_IRQ_EN 0x00000001 #define STMP3XXX_RTC_CTRL_ONEMSEC_IRQ_EN 0x00000002 @@ -44,7 +42,6 @@ #define STMP3XXX_RTC_ALARM 0x40 #define STMP3XXX_RTC_PERSISTENT0 0x60 -#define STMP3XXX_RTC_PERSISTENT0_SET 0x64 #define STMP3XXX_RTC_PERSISTENT0_CLR 0x68 #define STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN 0x00000002 #define STMP3XXX_RTC_PERSISTENT0_ALARM_EN 0x00000004 @@ -106,20 +103,14 @@ static irqreturn_t stmp3xxx_rtc_interrupt(int irq, void *dev_id) static int stmp3xxx_alarm_irq_enable(struct device *dev, unsigned int enabled) { struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev); + u32 set_clr_offset = enabled ? STMP_OFFSET_REG_SET : STMP_OFFSET_REG_CLR; + + writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | + STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN, + rtc_data->io + STMP3XXX_RTC_PERSISTENT0 + set_clr_offset); + writel(STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, + rtc_data->io + STMP3XXX_RTC_CTRL + set_clr_offset); - if (enabled) { - writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | - STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN, - rtc_data->io + STMP3XXX_RTC_PERSISTENT0_SET); - writel(STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, - rtc_data->io + STMP3XXX_RTC_CTRL_SET); - } else { - writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | - STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN, - rtc_data->io + STMP3XXX_RTC_PERSISTENT0_CLR); - writel(STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, - rtc_data->io + STMP3XXX_RTC_CTRL_CLR); - } return 0; } @@ -206,7 +197,7 @@ static int stmp3xxx_rtc_probe(struct platform_device *pdev) platform_set_drvdata(pdev, rtc_data); - mxs_reset_block(rtc_data->io); + stmp_reset_block(rtc_data->io); writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE, @@ -253,7 +244,7 @@ static int stmp3xxx_rtc_resume(struct platform_device *dev) { struct stmp3xxx_rtc_data *rtc_data = platform_get_drvdata(dev); - mxs_reset_block(rtc_data->io); + stmp_reset_block(rtc_data->io); writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE, -- 1.7.2.5
next prev parent reply other threads:[~2012-03-21 22:23 UTC|newest] Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-03-21 22:21 [PATCH V2 0/3] introduce stmp-style devices Wolfram Sang 2012-03-21 22:21 ` Wolfram Sang 2012-03-21 22:21 ` [PATCH V2 1/3] lib: add support for " Wolfram Sang 2012-03-21 22:21 ` Wolfram Sang 2012-03-29 2:45 ` Huang Shijie 2012-03-29 2:45 ` Huang Shijie 2012-03-29 6:43 ` Wolfram Sang 2012-03-29 6:43 ` Wolfram Sang 2012-04-18 9:05 ` Dong Aisheng 2012-04-18 9:05 ` Dong Aisheng 2012-04-18 9:20 ` Wolfram Sang 2012-04-18 9:20 ` Wolfram Sang 2012-04-19 16:24 ` Arnd Bergmann 2012-04-19 16:24 ` Arnd Bergmann 2012-04-20 5:30 ` Shawn Guo 2012-04-20 5:30 ` Shawn Guo 2012-04-20 21:11 ` Wolfram Sang 2012-04-20 21:11 ` Wolfram Sang 2012-04-21 11:09 ` Arnd Bergmann 2012-04-21 11:09 ` Arnd Bergmann 2012-04-04 11:21 ` Huang Shijie 2012-04-04 11:21 ` Huang Shijie 2012-04-04 12:23 ` Wolfram Sang 2012-04-04 12:23 ` Wolfram Sang 2012-04-06 7:40 ` Huang Shijie 2012-04-06 7:40 ` Huang Shijie 2012-04-06 18:21 ` Wolfram Sang 2012-04-06 18:21 ` Wolfram Sang 2012-04-07 2:30 ` Huang Shijie 2012-04-07 2:30 ` Huang Shijie 2012-04-07 8:00 ` Wolfram Sang 2012-04-07 8:00 ` Wolfram Sang 2012-04-07 13:45 ` Huang Shijie 2012-04-07 13:45 ` Huang Shijie 2012-04-23 6:55 ` Andrew Morton 2012-04-23 6:55 ` Andrew Morton 2012-04-23 7:28 ` Wolfram Sang 2012-04-23 7:28 ` Wolfram Sang 2012-04-23 11:06 ` Arnd Bergmann 2012-04-23 11:06 ` Arnd Bergmann 2012-03-21 22:21 ` [PATCH 2/3] i2c: mxs: use global reset function Wolfram Sang 2012-03-21 22:21 ` Wolfram Sang 2012-03-21 22:21 ` Wolfram Sang [this message] 2012-03-21 22:21 ` [PATCH 3/3] rtc: stmp3xxx: use global stmp_device functionality Wolfram Sang -- strict thread matches above, loose matches on Subject: below -- 2012-03-07 22:28 [PATCH 0/3] introduce stmp-style devices Wolfram Sang 2012-03-07 22:28 ` [PATCH 3/3] rtc: stmp3xxx: use global stmp_device functionality Wolfram Sang 2012-03-07 22:28 ` Wolfram Sang 2011-11-16 10:47 [PATCH 0/3] make stmp-style devices mach-independent Wolfram Sang 2011-11-16 10:47 ` [PATCH 3/3] rtc: stmp3xxx: use global stmp_device functionality Wolfram Sang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1332368519-22660-4-git-send-email-w.sang@pengutronix.de \ --to=w.sang@pengutronix.de \ --cc=arnd@arndb.de \ --cc=b32955@freescale.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=shawn.guo@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.