aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-30 16:18:12 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-30 16:18:12 -0500
commit751321b3dd5040dc5be19bd23f985e80c914621a (patch)
tree967928e24b38dc7fed918f932bb1b243af42bf7f
parent566cf877a1fcb6d6dc0126b076aad062054c2637 (diff)
parent586655d278ba08af7b198b93217746f9a506ee8a (diff)
Merge tag 'rtc-4.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
Pull RTC fix from Alexandre Belloni: "A single fix for this cycle. It is worth taking it for 4.10 so that distributions will not have CONFIG_RTC_DRV_JZ4740 switching from m to y in their config. Summary: - Allow jz4740 to build as a module again by using kernel_halt()" * tag 'rtc-4.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: rtc: jz4740: make the driver buildable as a module again
-rw-r--r--drivers/rtc/Kconfig5
-rw-r--r--drivers/rtc/rtc-jz4740.c12
2 files changed, 14 insertions, 3 deletions
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index c93c5a8fba32..5dc673dc9487 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1551,12 +1551,15 @@ config RTC_DRV_MPC5121
1551 will be called rtc-mpc5121. 1551 will be called rtc-mpc5121.
1552 1552
1553config RTC_DRV_JZ4740 1553config RTC_DRV_JZ4740
1554 bool "Ingenic JZ4740 SoC" 1554 tristate "Ingenic JZ4740 SoC"
1555 depends on MACH_INGENIC || COMPILE_TEST 1555 depends on MACH_INGENIC || COMPILE_TEST
1556 help 1556 help
1557 If you say yes here you get support for the Ingenic JZ47xx SoCs RTC 1557 If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
1558 controllers. 1558 controllers.
1559 1559
1560 This driver can also be buillt as a module. If so, the module
1561 will be called rtc-jz4740.
1562
1560config RTC_DRV_LPC24XX 1563config RTC_DRV_LPC24XX
1561 tristate "NXP RTC for LPC178x/18xx/408x/43xx" 1564 tristate "NXP RTC for LPC178x/18xx/408x/43xx"
1562 depends on ARCH_LPC18XX || COMPILE_TEST 1565 depends on ARCH_LPC18XX || COMPILE_TEST
diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
index 72918c1ba092..64989afffa3d 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -17,6 +17,7 @@
17#include <linux/clk.h> 17#include <linux/clk.h>
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/kernel.h> 19#include <linux/kernel.h>
20#include <linux/module.h>
20#include <linux/of_device.h> 21#include <linux/of_device.h>
21#include <linux/platform_device.h> 22#include <linux/platform_device.h>
22#include <linux/reboot.h> 23#include <linux/reboot.h>
@@ -294,7 +295,7 @@ static void jz4740_rtc_power_off(void)
294 JZ_REG_RTC_RESET_COUNTER, reset_counter_ticks); 295 JZ_REG_RTC_RESET_COUNTER, reset_counter_ticks);
295 296
296 jz4740_rtc_poweroff(dev_for_power_off); 297 jz4740_rtc_poweroff(dev_for_power_off);
297 machine_halt(); 298 kernel_halt();
298} 299}
299 300
300static const struct of_device_id jz4740_rtc_of_match[] = { 301static const struct of_device_id jz4740_rtc_of_match[] = {
@@ -302,6 +303,7 @@ static const struct of_device_id jz4740_rtc_of_match[] = {
302 { .compatible = "ingenic,jz4780-rtc", .data = (void *)ID_JZ4780 }, 303 { .compatible = "ingenic,jz4780-rtc", .data = (void *)ID_JZ4780 },
303 {}, 304 {},
304}; 305};
306MODULE_DEVICE_TABLE(of, jz4740_rtc_of_match);
305 307
306static int jz4740_rtc_probe(struct platform_device *pdev) 308static int jz4740_rtc_probe(struct platform_device *pdev)
307{ 309{
@@ -429,6 +431,7 @@ static const struct platform_device_id jz4740_rtc_ids[] = {
429 { "jz4780-rtc", ID_JZ4780 }, 431 { "jz4780-rtc", ID_JZ4780 },
430 {} 432 {}
431}; 433};
434MODULE_DEVICE_TABLE(platform, jz4740_rtc_ids);
432 435
433static struct platform_driver jz4740_rtc_driver = { 436static struct platform_driver jz4740_rtc_driver = {
434 .probe = jz4740_rtc_probe, 437 .probe = jz4740_rtc_probe,
@@ -440,4 +443,9 @@ static struct platform_driver jz4740_rtc_driver = {
440 .id_table = jz4740_rtc_ids, 443 .id_table = jz4740_rtc_ids,
441}; 444};
442 445
443builtin_platform_driver(jz4740_rtc_driver); 446module_platform_driver(jz4740_rtc_driver);
447
448MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
449MODULE_LICENSE("GPL");
450MODULE_DESCRIPTION("RTC driver for the JZ4740 SoC\n");
451MODULE_ALIAS("platform:jz4740-rtc");