Explorar o código

clocksource: timer-ti-dm: Hook device platform data if not already assigned

In the case of device tree boot the device platform data is usually
NULL so hook the platform data obtained from the match.
As part of un-constify the platform_data pointer.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ladislav Michl %!s(int64=7) %!d(string=hai) anos
pai
achega
1a3acad266
Modificáronse 1 ficheiros con 6 adicións e 4 borrados
  1. 6 4
      drivers/clocksource/timer-ti-dm.c

+ 6 - 4
drivers/clocksource/timer-ti-dm.c

@@ -806,14 +806,16 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
 	struct omap_dm_timer *timer;
 	struct omap_dm_timer *timer;
 	struct resource *mem, *irq;
 	struct resource *mem, *irq;
 	struct device *dev = &pdev->dev;
 	struct device *dev = &pdev->dev;
-	const struct of_device_id *match;
 	const struct dmtimer_platform_data *pdata;
 	const struct dmtimer_platform_data *pdata;
 	int ret;
 	int ret;
 
 
-	match = of_match_device(of_match_ptr(omap_timer_match), dev);
-	pdata = match ? match->data : dev->platform_data;
+	pdata = of_device_get_match_data(dev);
+	if (!pdata)
+		pdata = dev_get_platdata(dev);
+	else
+		dev->platform_data = (void *)pdata;
 
 
-	if (!pdata && !dev->of_node) {
+	if (!pdata) {
 		dev_err(dev, "%s: no platform data.\n", __func__);
 		dev_err(dev, "%s: no platform data.\n", __func__);
 		return -ENODEV;
 		return -ENODEV;
 	}
 	}