lkml.org 
[lkml]   [2018]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 08/12] of/platform: provide a separate routine for device initialization
Date
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

The early platform device framework will need to initialize the
platform device objects without them being allocated in
of_device_alloc(). Provide a routine that allows it.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
drivers/of/platform.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 24791e558ec5..0e554fe1f325 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -132,6 +132,19 @@ int of_device_init_resources(struct platform_device *pdev,
return 0;
}

+static void of_device_init(struct platform_device *pdev, struct device_node *np,
+ const char *bus_id, struct device *parent)
+{
+ pdev->dev.of_node = of_node_get(np);
+ pdev->dev.fwnode = &np->fwnode;
+ pdev->dev.parent = parent ? : &platform_bus;
+
+ if (bus_id)
+ dev_set_name(&pdev->dev, "%s", bus_id);
+ else
+ of_device_make_bus_id(&pdev->dev);
+}
+
/**
* of_device_alloc - Allocate and initialize an of_device
* @np: device node to assign to device
@@ -155,14 +168,7 @@ struct platform_device *of_device_alloc(struct device_node *np,
return NULL;
}

- dev->dev.of_node = of_node_get(np);
- dev->dev.fwnode = &np->fwnode;
- dev->dev.parent = parent ? : &platform_bus;
-
- if (bus_id)
- dev_set_name(&dev->dev, "%s", bus_id);
- else
- of_device_make_bus_id(&dev->dev);
+ of_device_init(dev, np, bus_id, parent);

return dev;
}
--
2.17.0
\
 
 \ /
  Last update: 2018-05-11 18:22    [W:0.165 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site