diff options
Diffstat (limited to 'drivers/of/device.c')
-rw-r--r-- | drivers/of/device.c | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/drivers/of/device.c b/drivers/of/device.c index 92de0eb74aea..45d86530799f 100644 --- a/drivers/of/device.c +++ b/drivers/of/device.c | |||
@@ -81,29 +81,10 @@ struct device_attribute of_platform_device_attrs[] = { | |||
81 | __ATTR_NULL | 81 | __ATTR_NULL |
82 | }; | 82 | }; |
83 | 83 | ||
84 | /** | 84 | int of_device_add(struct platform_device *ofdev) |
85 | * of_release_dev - free an of device structure when all users of it are finished. | ||
86 | * @dev: device that's been disconnected | ||
87 | * | ||
88 | * Will be called only by the device core when all users of this of device are | ||
89 | * done. | ||
90 | */ | ||
91 | void of_release_dev(struct device *dev) | ||
92 | { | ||
93 | struct platform_device *ofdev; | ||
94 | |||
95 | ofdev = to_platform_device(dev); | ||
96 | of_node_put(ofdev->dev.of_node); | ||
97 | kfree(ofdev); | ||
98 | } | ||
99 | EXPORT_SYMBOL(of_release_dev); | ||
100 | |||
101 | int of_device_register(struct platform_device *ofdev) | ||
102 | { | 85 | { |
103 | BUG_ON(ofdev->dev.of_node == NULL); | 86 | BUG_ON(ofdev->dev.of_node == NULL); |
104 | 87 | ||
105 | device_initialize(&ofdev->dev); | ||
106 | |||
107 | /* name and id have to be set so that the platform bus doesn't get | 88 | /* name and id have to be set so that the platform bus doesn't get |
108 | * confused on matching */ | 89 | * confused on matching */ |
109 | ofdev->name = dev_name(&ofdev->dev); | 90 | ofdev->name = dev_name(&ofdev->dev); |
@@ -117,6 +98,12 @@ int of_device_register(struct platform_device *ofdev) | |||
117 | 98 | ||
118 | return device_add(&ofdev->dev); | 99 | return device_add(&ofdev->dev); |
119 | } | 100 | } |
101 | |||
102 | int of_device_register(struct platform_device *pdev) | ||
103 | { | ||
104 | device_initialize(&pdev->dev); | ||
105 | return of_device_add(pdev); | ||
106 | } | ||
120 | EXPORT_SYMBOL(of_device_register); | 107 | EXPORT_SYMBOL(of_device_register); |
121 | 108 | ||
122 | void of_device_unregister(struct platform_device *ofdev) | 109 | void of_device_unregister(struct platform_device *ofdev) |