From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Frank Wunderlich <frank-w@public-files.de> Cc: linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, "linux-arm-kernel @ lists . infradead . org Alessandro Zummo" <a.zummo@towertech.it>, Eddie Huang <eddie.huang@mediatek.com>, Josef Friedl <josef.friedl@speed.at>, Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org, Mark Rutland <mark.rutland@arm.com>, Matthias Brugger <matthias.bgg@gmail.com>, Rob Herring <robh+dt@kernel.org>, Sean Wang <sean.wang@mediatek.com>, Sebastian Reichel <sre@kernel.org>, Tianping Fang <tianping.fang@mediatek.com> Subject: Re: [PATCH v6 07/13] rtc: mt6397: improvements of rtc driver Date: Tue, 20 Aug 2019 21:49:59 +0200 [thread overview] Message-ID: <20190820194959.GY3545@piout.net> (raw) In-Reply-To: <20190818135611.7776-8-frank-w@public-files.de> On 18/08/2019 15:56:05+0200, Frank Wunderlich wrote: > From: Josef Friedl <josef.friedl@speed.at> > > - use regmap_read_poll_timeout to drop while-loop > - use devm-api to drop remove-callback > > Suggested-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > Signed-off-by: Josef Friedl <josef.friedl@speed.at> > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > --- > changes since v5: none > changes since v4: none > changes since v3: none > changes since v2: > - fix allocation after irq-request > - compatible for mt6323 in separate commit => part 5 > --- > drivers/rtc/rtc-mt6397.c | 51 +++++++++++++++------------------------- > 1 file changed, 19 insertions(+), 32 deletions(-) > > diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c > index c08ee5edf865..9370b7fc9f81 100644 > --- a/drivers/rtc/rtc-mt6397.c > +++ b/drivers/rtc/rtc-mt6397.c > @@ -4,16 +4,19 @@ > * Author: Tianping.Fang <tianping.fang@mediatek.com> > */ > > -#include <linux/delay.h> > -#include <linux/init.h> > +#include <linux/err.h> > +#include <linux/interrupt.h> > +#include <linux/mfd/mt6397/core.h> > #include <linux/module.h> > +#include <linux/mutex.h> > +#include <linux/platform_device.h> > #include <linux/regmap.h> > #include <linux/rtc.h> > #include <linux/mfd/mt6397/rtc.h> > +#include <linux/mod_devicetable.h> > > static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) > { > - unsigned long timeout = jiffies + HZ; > int ret; > u32 data; > > @@ -21,19 +24,13 @@ static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) > if (ret < 0) > return ret; > > - while (1) { > - ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_BBPU, > - &data); > - if (ret < 0) > - break; > - if (!(data & RTC_BBPU_CBUSY)) > - break; > - if (time_after(jiffies, timeout)) { > - ret = -ETIMEDOUT; > - break; > - } > - cpu_relax(); > - } > + ret = regmap_read_poll_timeout(rtc->regmap, > + rtc->addr_base + RTC_BBPU, data, > + !(data & RTC_BBPU_CBUSY), > + MTK_RTC_POLL_DELAY_US, > + MTK_RTC_POLL_TIMEOUT); > + if (ret < 0) > + dev_err(rtc->dev, "failed to write WRTGE: %d\n", ret); > > return ret; > } > @@ -266,19 +263,19 @@ static int mtk_rtc_probe(struct platform_device *pdev) > return rtc->irq; > > rtc->regmap = mt6397_chip->regmap; > - rtc->dev = &pdev->dev; > mutex_init(&rtc->lock); > > platform_set_drvdata(pdev, rtc); > > - rtc->rtc_dev = devm_rtc_allocate_device(rtc->dev); > + rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev); > if (IS_ERR(rtc->rtc_dev)) > return PTR_ERR(rtc->rtc_dev); > > - ret = request_threaded_irq(rtc->irq, NULL, > - mtk_rtc_irq_handler_thread, > - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, > - "mt6397-rtc", rtc); > + ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL, > + mtk_rtc_irq_handler_thread, > + IRQF_ONESHOT | IRQF_TRIGGER_HIGH, > + "mt6397-rtc", rtc); > + > if (ret) { > dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n", > rtc->irq, ret); > @@ -302,15 +299,6 @@ static int mtk_rtc_probe(struct platform_device *pdev) > return ret; > } > > -static int mtk_rtc_remove(struct platform_device *pdev) > -{ > - struct mt6397_rtc *rtc = platform_get_drvdata(pdev); > - > - free_irq(rtc->irq, rtc); > - > - return 0; > -} > - > #ifdef CONFIG_PM_SLEEP > static int mt6397_rtc_suspend(struct device *dev) > { > @@ -349,7 +337,6 @@ static struct platform_driver mtk_rtc_driver = { > .pm = &mt6397_pm_ops, > }, > .probe = mtk_rtc_probe, > - .remove = mtk_rtc_remove, > }; > > module_platform_driver(mtk_rtc_driver); > -- > 2.17.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Frank Wunderlich <frank-w@public-files.de> Cc: linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, Josef Friedl <josef.friedl@speed.at>, Sean Wang <sean.wang@mediatek.com>, "linux-arm-kernel @ lists . infradead . org Alessandro Zummo" <a.zummo@towertech.it>, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel <sre@kernel.org>, Tianping Fang <tianping.fang@mediatek.com>, Rob Herring <robh+dt@kernel.org>, linux-mediatek@lists.infradead.org, Matthias Brugger <matthias.bgg@gmail.com>, Mark Rutland <mark.rutland@arm.com>, Eddie Huang <eddie.huang@mediatek.com>, Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v6 07/13] rtc: mt6397: improvements of rtc driver Date: Tue, 20 Aug 2019 21:49:59 +0200 [thread overview] Message-ID: <20190820194959.GY3545@piout.net> (raw) In-Reply-To: <20190818135611.7776-8-frank-w@public-files.de> On 18/08/2019 15:56:05+0200, Frank Wunderlich wrote: > From: Josef Friedl <josef.friedl@speed.at> > > - use regmap_read_poll_timeout to drop while-loop > - use devm-api to drop remove-callback > > Suggested-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > Signed-off-by: Josef Friedl <josef.friedl@speed.at> > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > --- > changes since v5: none > changes since v4: none > changes since v3: none > changes since v2: > - fix allocation after irq-request > - compatible for mt6323 in separate commit => part 5 > --- > drivers/rtc/rtc-mt6397.c | 51 +++++++++++++++------------------------- > 1 file changed, 19 insertions(+), 32 deletions(-) > > diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c > index c08ee5edf865..9370b7fc9f81 100644 > --- a/drivers/rtc/rtc-mt6397.c > +++ b/drivers/rtc/rtc-mt6397.c > @@ -4,16 +4,19 @@ > * Author: Tianping.Fang <tianping.fang@mediatek.com> > */ > > -#include <linux/delay.h> > -#include <linux/init.h> > +#include <linux/err.h> > +#include <linux/interrupt.h> > +#include <linux/mfd/mt6397/core.h> > #include <linux/module.h> > +#include <linux/mutex.h> > +#include <linux/platform_device.h> > #include <linux/regmap.h> > #include <linux/rtc.h> > #include <linux/mfd/mt6397/rtc.h> > +#include <linux/mod_devicetable.h> > > static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) > { > - unsigned long timeout = jiffies + HZ; > int ret; > u32 data; > > @@ -21,19 +24,13 @@ static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) > if (ret < 0) > return ret; > > - while (1) { > - ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_BBPU, > - &data); > - if (ret < 0) > - break; > - if (!(data & RTC_BBPU_CBUSY)) > - break; > - if (time_after(jiffies, timeout)) { > - ret = -ETIMEDOUT; > - break; > - } > - cpu_relax(); > - } > + ret = regmap_read_poll_timeout(rtc->regmap, > + rtc->addr_base + RTC_BBPU, data, > + !(data & RTC_BBPU_CBUSY), > + MTK_RTC_POLL_DELAY_US, > + MTK_RTC_POLL_TIMEOUT); > + if (ret < 0) > + dev_err(rtc->dev, "failed to write WRTGE: %d\n", ret); > > return ret; > } > @@ -266,19 +263,19 @@ static int mtk_rtc_probe(struct platform_device *pdev) > return rtc->irq; > > rtc->regmap = mt6397_chip->regmap; > - rtc->dev = &pdev->dev; > mutex_init(&rtc->lock); > > platform_set_drvdata(pdev, rtc); > > - rtc->rtc_dev = devm_rtc_allocate_device(rtc->dev); > + rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev); > if (IS_ERR(rtc->rtc_dev)) > return PTR_ERR(rtc->rtc_dev); > > - ret = request_threaded_irq(rtc->irq, NULL, > - mtk_rtc_irq_handler_thread, > - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, > - "mt6397-rtc", rtc); > + ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL, > + mtk_rtc_irq_handler_thread, > + IRQF_ONESHOT | IRQF_TRIGGER_HIGH, > + "mt6397-rtc", rtc); > + > if (ret) { > dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n", > rtc->irq, ret); > @@ -302,15 +299,6 @@ static int mtk_rtc_probe(struct platform_device *pdev) > return ret; > } > > -static int mtk_rtc_remove(struct platform_device *pdev) > -{ > - struct mt6397_rtc *rtc = platform_get_drvdata(pdev); > - > - free_irq(rtc->irq, rtc); > - > - return 0; > -} > - > #ifdef CONFIG_PM_SLEEP > static int mt6397_rtc_suspend(struct device *dev) > { > @@ -349,7 +337,6 @@ static struct platform_driver mtk_rtc_driver = { > .pm = &mt6397_pm_ops, > }, > .probe = mtk_rtc_probe, > - .remove = mtk_rtc_remove, > }; > > module_platform_driver(mtk_rtc_driver); > -- > 2.17.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-08-20 19:50 UTC|newest] Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-18 13:55 [PATCH v6 00/13] implement poweroff for mt6323 / bpi-r2 Frank Wunderlich 2019-08-18 13:55 ` Frank Wunderlich 2019-08-18 13:55 ` [PATCH v6 01/13] dt-bindings: mfd: mediatek: mt6397: change to relative paths Frank Wunderlich 2019-08-18 13:55 ` Frank Wunderlich 2019-08-18 13:55 ` Frank Wunderlich 2019-08-27 16:33 ` Rob Herring 2019-08-27 16:33 ` Rob Herring 2019-08-27 16:33 ` Rob Herring 2019-09-02 9:43 ` Lee Jones 2019-09-02 9:43 ` Lee Jones 2019-09-02 9:43 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 02/13] dt-bindings: mfd: mediatek: update rtc to include mt6323 Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 03/13] dt-bindings: mfd: mediatek: add mt6323 power-controller Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 04/13] dt-bindings: rtc: mediatek: add missing mt6397 rtc Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-27 16:47 ` Rob Herring 2019-08-27 16:47 ` Rob Herring 2019-08-27 16:47 ` Rob Herring 2019-08-18 13:56 ` [PATCH v6 05/13] rtc: mt6397: move some common definitions into rtc.h Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-20 19:48 ` Alexandre Belloni 2019-08-20 19:48 ` Alexandre Belloni 2019-08-20 19:48 ` Alexandre Belloni 2019-09-02 9:47 ` Lee Jones 2019-09-02 9:47 ` Lee Jones 2019-09-02 9:47 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 06/13] mfd: mt6397: add mutex include Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 07/13] rtc: mt6397: improvements of rtc driver Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-20 19:49 ` Alexandre Belloni [this message] 2019-08-20 19:49 ` Alexandre Belloni 2019-08-20 19:49 ` Alexandre Belloni 2019-08-18 13:56 ` [PATCH v6 08/13] mfd: mt6323: some improvements of mt6397-core Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 09/13] rtc: mt6397: add compatible for mt6323 Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-20 19:49 ` Alexandre Belloni 2019-08-20 19:49 ` Alexandre Belloni 2019-08-20 19:49 ` Alexandre Belloni 2019-08-18 13:56 ` [PATCH v6 10/13] mfd: mt6323: add mt6323 rtc+pwrc Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-02 9:50 ` Lee Jones 2019-09-02 9:50 ` Lee Jones 2019-09-02 9:50 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 11/13] power: reset: add driver for mt6323 poweroff Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-01 20:11 ` Sebastian Reichel 2019-09-01 20:11 ` Sebastian Reichel 2019-09-01 20:11 ` Sebastian Reichel 2019-08-18 13:56 ` [PATCH v6 12/13] MAINTAINERS: add Mediatek shutdown drivers Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-01 20:12 ` Sebastian Reichel 2019-09-01 20:12 ` Sebastian Reichel 2019-09-01 20:12 ` Sebastian Reichel 2019-08-18 13:56 ` [PATCH v6 13/13] arm: dts: mt6323: add keys, power-controller, rtc and codec Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 14:30 ` [PATCH v6 00/13] implement poweroff for mt6323 / bpi-r2 Frank Wunderlich 2019-08-18 14:30 ` Frank Wunderlich 2019-08-18 14:30 ` Frank Wunderlich 2019-09-06 13:06 ` Frank Wunderlich 2019-09-06 13:06 ` Frank Wunderlich 2019-09-06 13:06 ` Frank Wunderlich 2019-08-18 16:07 Frank Wunderlich 2019-08-18 16:07 ` [PATCH v6 07/13] rtc: mt6397: improvements of rtc driver Frank Wunderlich
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=20190820194959.GY3545@piout.net \ --to=alexandre.belloni@bootlin.com \ --cc=a.zummo@towertech.it \ --cc=devicetree@vger.kernel.org \ --cc=eddie.huang@mediatek.com \ --cc=frank-w@public-files.de \ --cc=josef.friedl@speed.at \ --cc=lee.jones@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux-rtc@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=matthias.bgg@gmail.com \ --cc=robh+dt@kernel.org \ --cc=sean.wang@mediatek.com \ --cc=sre@kernel.org \ --cc=tianping.fang@mediatek.com \ /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.