Bladeren bron

rtc: twl: make driver DT only

Since there are no platform based users and all users
of this code are TI OMAP-based which is DT only, it makes
sense to remove unused code.

Signed-off-by: Nicolae Rosia <Nicolae_Rosia@mentor.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Nicolae Rosia 8 jaren geleden
bovenliggende
commit
1c02cbfec5
2 gewijzigde bestanden met toevoegingen van 8 en 5 verwijderingen
  1. 1 0
      drivers/rtc/Kconfig
  2. 7 5
      drivers/rtc/rtc-twl.c

+ 1 - 0
drivers/rtc/Kconfig

@@ -481,6 +481,7 @@ config RTC_DRV_TWL92330
 config RTC_DRV_TWL4030
 config RTC_DRV_TWL4030
 	tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0"
 	tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0"
 	depends on TWL4030_CORE
 	depends on TWL4030_CORE
+	depends on OF
 	help
 	help
 	  If you say yes here you get support for the RTC on the
 	  If you say yes here you get support for the RTC on the
 	  TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms.
 	  TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms.

+ 7 - 5
drivers/rtc/rtc-twl.c

@@ -496,10 +496,16 @@ static const struct rtc_class_ops twl_rtc_ops = {
 static int twl_rtc_probe(struct platform_device *pdev)
 static int twl_rtc_probe(struct platform_device *pdev)
 {
 {
 	struct twl_rtc *twl_rtc;
 	struct twl_rtc *twl_rtc;
+	struct device_node *np = pdev->dev.of_node;
 	int ret = -EINVAL;
 	int ret = -EINVAL;
 	int irq = platform_get_irq(pdev, 0);
 	int irq = platform_get_irq(pdev, 0);
 	u8 rd_reg;
 	u8 rd_reg;
 
 
+	if (!np) {
+		dev_err(&pdev->dev, "no DT info\n");
+		return -EINVAL;
+	}
+
 	if (irq <= 0)
 	if (irq <= 0)
 		return ret;
 		return ret;
 
 
@@ -632,15 +638,11 @@ static int twl_rtc_resume(struct device *dev)
 
 
 static SIMPLE_DEV_PM_OPS(twl_rtc_pm_ops, twl_rtc_suspend, twl_rtc_resume);
 static SIMPLE_DEV_PM_OPS(twl_rtc_pm_ops, twl_rtc_suspend, twl_rtc_resume);
 
 
-#ifdef CONFIG_OF
 static const struct of_device_id twl_rtc_of_match[] = {
 static const struct of_device_id twl_rtc_of_match[] = {
 	{.compatible = "ti,twl4030-rtc", },
 	{.compatible = "ti,twl4030-rtc", },
 	{ },
 	{ },
 };
 };
 MODULE_DEVICE_TABLE(of, twl_rtc_of_match);
 MODULE_DEVICE_TABLE(of, twl_rtc_of_match);
-#endif
-
-MODULE_ALIAS("platform:twl_rtc");
 
 
 static struct platform_driver twl4030rtc_driver = {
 static struct platform_driver twl4030rtc_driver = {
 	.probe		= twl_rtc_probe,
 	.probe		= twl_rtc_probe,
@@ -649,7 +651,7 @@ static struct platform_driver twl4030rtc_driver = {
 	.driver		= {
 	.driver		= {
 		.name		= "twl_rtc",
 		.name		= "twl_rtc",
 		.pm		= &twl_rtc_pm_ops,
 		.pm		= &twl_rtc_pm_ops,
-		.of_match_table = of_match_ptr(twl_rtc_of_match),
+		.of_match_table = twl_rtc_of_match,
 	},
 	},
 };
 };