]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
rtc: ingenic: Only support probing from devicetree
authorPaul Cercueil <paul@crapouillou.net>
Tue, 5 May 2020 22:13:30 +0000 (00:13 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 11 May 2020 14:34:54 +0000 (16:34 +0200)
With the recent work on supporting Device Tree on Ingenic SoCs, no
driver ever probes from platform code anymore, so we can clean a bit
this driver by removing the non-devicetree paths.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20200505221336.222313-1-paul@crapouillou.net
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/Kconfig
drivers/rtc/rtc-jz4740.c

index ec873f09c76396e877da82bdbaf835dda08cd6a1..82a210920c1ddce6a61f1c5c6711579d6873bb88 100644 (file)
@@ -1680,6 +1680,7 @@ config RTC_DRV_MPC5121
 config RTC_DRV_JZ4740
        tristate "Ingenic JZ4740 SoC"
        depends on MIPS || COMPILE_TEST
+       depends on OF
        help
          If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
          controllers.
index e4c719085c31d332facba571987b17aa76d97fb0..949d395066e2c0965b46f977017dc88a6cf7261d 100644 (file)
@@ -309,19 +309,13 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
 {
        int ret;
        struct jz4740_rtc *rtc;
-       const struct platform_device_id *id = platform_get_device_id(pdev);
-       const struct of_device_id *of_id = of_match_device(
-                       jz4740_rtc_of_match, &pdev->dev);
        struct device_node *np = pdev->dev.of_node;
 
        rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
        if (!rtc)
                return -ENOMEM;
 
-       if (of_id)
-               rtc->type = (enum jz4740_rtc_type)of_id->data;
-       else
-               rtc->type = id->driver_data;
+       rtc->type = (enum jz4740_rtc_type)device_get_match_data(dev);
 
        rtc->irq = platform_get_irq(pdev, 0);
        if (rtc->irq < 0)
@@ -370,7 +364,7 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
                return ret;
        }
 
-       if (np && of_device_is_system_power_controller(np)) {
+       if (of_device_is_system_power_controller(np)) {
                if (!pm_power_off) {
                        /* Default: 60ms */
                        rtc->reset_pin_assert_time = 60;
@@ -395,20 +389,12 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
        return 0;
 }
 
-static const struct platform_device_id jz4740_rtc_ids[] = {
-       { "jz4740-rtc", ID_JZ4740 },
-       { "jz4780-rtc", ID_JZ4780 },
-       {}
-};
-MODULE_DEVICE_TABLE(platform, jz4740_rtc_ids);
-
 static struct platform_driver jz4740_rtc_driver = {
        .probe   = jz4740_rtc_probe,
        .driver  = {
                .name  = "jz4740-rtc",
-               .of_match_table = of_match_ptr(jz4740_rtc_of_match),
+               .of_match_table = jz4740_rtc_of_match,
        },
-       .id_table = jz4740_rtc_ids,
 };
 
 module_platform_driver(jz4740_rtc_driver);