#
257062d2 |
| 04-Mar-2023 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
rtc: xgene: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error ha
rtc: xgene: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (mostly) ignored and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void.
Trivially convert this driver from always returning zero in the remove callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20230304133028.2135435-41-u.kleine-koenig@pengutronix.de Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
show more ...
|
#
ed90e3e2 |
| 09-Mar-2022 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: stop using uie_unsupported
Remove bogus use of uie_unsupported.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20220309162301.61679-28-
rtc: xgene: stop using uie_unsupported
Remove bogus use of uie_unsupported.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20220309162301.61679-28-alexandre.belloni@bootlin.com
show more ...
|
#
fdcfd854 |
| 09-Nov-2020 |
Bartosz Golaszewski <bgolaszewski@baylibre.com> |
rtc: rework rtc_register_device() resource management
rtc_register_device() is a managed interface but it doesn't use devres by itself - instead it marks an rtc_device as "registered" and the devres
rtc: rework rtc_register_device() resource management
rtc_register_device() is a managed interface but it doesn't use devres by itself - instead it marks an rtc_device as "registered" and the devres callback for devm_rtc_allocate_device() takes care of resource release.
This doesn't correspond with the design behind devres where managed structures should not be aware of being managed. The correct solution here is to register a separate devres callback for unregistering the device.
While at it: rename rtc_register_device() to devm_rtc_register_device() and add it to the list of managed interfaces in devres.rst. This way we can avoid any potential confusion of driver developers who may expect there to exist a corresponding unregister function.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20201109163409.24301-8-brgl@bgdev.pl
show more ...
|
#
fa60b7e8 |
| 23-Nov-2019 |
Nobuhiro Iwamatsu <iwamatsu@nigauri.org> |
rtc: xgene: Remove unused struct device in struct xgene_rtc_dev
struct device in struct xgene_rtc_dev is not used, remove it.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Link: https://l
rtc: xgene: Remove unused struct device in struct xgene_rtc_dev
struct device in struct xgene_rtc_dev is not used, remove it.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Link: https://lore.kernel.org/r/20191123090234.32180-1-nobuhiro1.iwamatsu@toshiba.co.jp Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
show more ...
|
#
09ef18bc |
| 06-Oct-2019 |
YueHaibing <yuehaibing@huawei.com> |
rtc: use devm_platform_ioremap_resource() to simplify code
Use devm_platform_ioremap_resource() to simplify the code a bit. This is detected by coccinelle.
Signed-off-by: YueHaibing <yuehaibing@hua
rtc: use devm_platform_ioremap_resource() to simplify code
Use devm_platform_ioremap_resource() to simplify the code a bit. This is detected by coccinelle.
Signed-off-by: YueHaibing <yuehaibing@huawei.com> Link: https://lore.kernel.org/r/20191006102953.57536-2-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-3-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-4-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-5-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-6-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-7-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-8-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-9-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-10-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-11-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-12-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-13-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-14-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-15-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-16-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-17-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-18-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-19-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-20-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-21-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-22-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-23-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-24-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-25-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-26-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-27-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-28-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-29-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-30-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-31-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-32-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-33-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-34-yuehaibing@huawei.com Link: https://lore.kernel.org/r/20191006102953.57536-35-yuehaibing@huawei.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
show more ...
|
#
faac9102 |
| 30-Jul-2019 |
Stephen Boyd <swboyd@chromium.org> |
rtc: Remove dev_err() usage after platform_get_irq()
We don't need dev_err() messages when platform_get_irq() fails now that platform_get_irq() prints an error message itself when something goes wro
rtc: Remove dev_err() usage after platform_get_irq()
We don't need dev_err() messages when platform_get_irq() fails now that platform_get_irq() prints an error message itself when something goes wrong. Let's remove these prints with a simple semantic patch.
// <smpl> @@ expression ret; struct platform_device *E; @@
ret = ( platform_get_irq(E, ...) | platform_get_irq_byname(E, ...) );
if ( \( ret < 0 \| ret <= 0 \) ) { ( -if (ret != -EPROBE_DEFER) -{ ... -dev_err(...); -... } | ... -dev_err(...); ) ... } // </smpl>
While we're here, remove braces on if statements that only have one statement (manually).
Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> Cc: linux-rtc@vger.kernel.org Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Stephen Boyd <swboyd@chromium.org> Link: https://lore.kernel.org/r/20190730181557.90391-40-swboyd@chromium.org Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
show more ...
|
#
58f88915 |
| 20-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: use .set_time
Use .set_time instead of the deprecated .set_mmss.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
43f327fa |
| 20-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: switch to rtc_time64_to_tm/rtc_tm_to_time64
Call the 64bit versions of rtc_tm time conversion as the range is enforced by the core.
Signed-off-by: Alexandre Belloni <alexandre.belloni@b
rtc: xgene: switch to rtc_time64_to_tm/rtc_tm_to_time64
Call the 64bit versions of rtc_tm time conversion as the range is enforced by the core.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
show more ...
|
#
9a842a7e |
| 20-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: stop caching alarm_time
There is no point in caching alarm_time for .read_alarm because .read_alarm is only called at boo time and thus alarm_time is always 0.
Signed-off-by: Alexandre
rtc: xgene: stop caching alarm_time
There is no point in caching alarm_time for .read_alarm because .read_alarm is only called at boo time and thus alarm_time is always 0.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
show more ...
|
#
db785341 |
| 20-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: correct checkpatch issues
Correct trivial whitespace issues. Also sort the headers.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
3a205b9d |
| 20-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: convert to SPDX identifier
Use SPDX-License-Identifier instead of a verbose license text.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
490595ab |
| 20-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: set range
CCVR is a 32bit second counter.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
a652e00e |
| 20-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: xgene: fix possible race condition
The IRQ is requested before the struct rtc is allocated and registered, but this struct is used in the IRQ handler. This may lead to a NULL pointer dereferenc
rtc: xgene: fix possible race condition
The IRQ is requested before the struct rtc is allocated and registered, but this struct is used in the IRQ handler. This may lead to a NULL pointer dereference.
Switch to devm_rtc_allocate_device/rtc_register_device to allocate the rtc struct before requesting the IRQ.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
show more ...
|
#
ab62670e |
| 19-Feb-2018 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: stop validating rtc_time after rtc_time_to_tm
rtc_time_to_tm never generates an invalid tm. It is not necessary to validate it.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
573e2bf0 |
| 08-Nov-2017 |
Arnd Bergmann <arnd@arndb.de> |
rtc: xgene: mark PM functions as __maybe_unused
The new xgene_rtc_alarm_irq_enabled() function is only accessed from PM code, which is inside of an #ifdef; this causes a harmless build warning when
rtc: xgene: mark PM functions as __maybe_unused
The new xgene_rtc_alarm_irq_enabled() function is only accessed from PM code, which is inside of an #ifdef; this causes a harmless build warning when CONFIG_PM is disabled:
drivers/rtc/rtc-xgene.c:108:12: error: 'xgene_rtc_alarm_irq_enabled' defined but not used [-Werror=unused-function]
Just remove the #ifdef and use __maybe_unused annotations instead, to make the code more robust here.
Fixes: d0bcd82b1379 ("rtc: xgene: Fix suspend/resume") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Loc Ho <lho@apm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
show more ...
|
#
d0bcd82b |
| 14-Apr-2014 |
Loc Ho <lho@apm.com> |
rtc: xgene: Fix suspend/resume
This patch fixes suspend/resume functions properly for the APM X-Gene SoC RTC driver.
Signed-off-by: Loc Ho <lho@apm.com> Reviewed-by: Mark Brown <broonie@linaro.org>
rtc: xgene: Fix suspend/resume
This patch fixes suspend/resume functions properly for the APM X-Gene SoC RTC driver.
Signed-off-by: Loc Ho <lho@apm.com> Reviewed-by: Mark Brown <broonie@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
show more ...
|
#
0929ae37 |
| 20-Oct-2014 |
Wolfram Sang <wsa@the-dreams.de> |
rtc: drop owner assignment from platform_drivers
A platform_driver does not need to set an owner, it will be populated by the driver core.
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
|
#
f12d8695 |
| 06-Jun-2014 |
Loc Ho <lho@apm.com> |
drivers/rtc: add APM X-Gene SoC RTC driver
Add support for the APM X-Gene SoC RTC driver.
Signed-off-by: Rameshwar Prasad Sahu <rsahu@apm.com> Signed-off-by: Loc Ho <lho@apm.com> Cc: Jon Masters <j
drivers/rtc: add APM X-Gene SoC RTC driver
Add support for the APM X-Gene SoC RTC driver.
Signed-off-by: Rameshwar Prasad Sahu <rsahu@apm.com> Signed-off-by: Loc Ho <lho@apm.com> Cc: Jon Masters <jcm@redhat.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
show more ...
|