Commit 3ec2decb authored by Kevin Hilman's avatar Kevin Hilman

ARM: OMAP: omap_device: remove omap_device_parent

Currently all omap_devices are forced to have the dummy device
'omap_device_parent' as a parent.  This was used to distinguish
omap_devices from "normal" platform_devices in the OMAP PM core code.

Now that we implement the PM core using PM domains, this is no longer
needed, and is removed.

This also frees up omap_devices to have a more complex parent/child
relationships that model actual device relationships.

The only in-tree user of omap_device_parent was the OMAP PM layer to
handle lost-context count for omap_devices.  That is now converted to
use the presence of the omap_device_pm_domain instead.
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent 401606fd
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
#include <plat/omap_hwmod.h> #include <plat/omap_hwmod.h>
extern struct device omap_device_parent; extern struct dev_pm_domain omap_device_pm_domain;
/* omap_device._state values */ /* omap_device._state values */
#define OMAP_DEVICE_STATE_UNKNOWN 0 #define OMAP_DEVICE_STATE_UNKNOWN 0
......
...@@ -319,7 +319,7 @@ int omap_pm_get_dev_context_loss_count(struct device *dev) ...@@ -319,7 +319,7 @@ int omap_pm_get_dev_context_loss_count(struct device *dev)
if (WARN_ON(!dev)) if (WARN_ON(!dev))
return -ENODEV; return -ENODEV;
if (dev->parent == &omap_device_parent) { if (dev->pm_domain == &omap_device_pm_domain) {
count = omap_device_get_context_loss_count(pdev); count = omap_device_get_context_loss_count(pdev);
} else { } else {
WARN_ONCE(off_mode_enabled, "omap_pm: using dummy context loss counter; device %s should be converted to omap_device", WARN_ONCE(off_mode_enabled, "omap_pm: using dummy context loss counter; device %s should be converted to omap_device",
......
...@@ -314,8 +314,6 @@ static void _add_hwmod_clocks_clkdev(struct omap_device *od, ...@@ -314,8 +314,6 @@ static void _add_hwmod_clocks_clkdev(struct omap_device *od,
} }
static struct dev_pm_domain omap_device_pm_domain;
/** /**
* omap_device_build_from_dt - build an omap_device with multiple hwmods * omap_device_build_from_dt - build an omap_device with multiple hwmods
* @pdev_name: name of the platform_device driver to use * @pdev_name: name of the platform_device driver to use
...@@ -793,7 +791,7 @@ static int _od_resume_noirq(struct device *dev) ...@@ -793,7 +791,7 @@ static int _od_resume_noirq(struct device *dev)
#define _od_resume_noirq NULL #define _od_resume_noirq NULL
#endif #endif
static struct dev_pm_domain omap_device_pm_domain = { struct dev_pm_domain omap_device_pm_domain = {
.ops = { .ops = {
SET_RUNTIME_PM_OPS(_od_runtime_suspend, _od_runtime_resume, SET_RUNTIME_PM_OPS(_od_runtime_suspend, _od_runtime_resume,
_od_runtime_idle) _od_runtime_idle)
...@@ -815,7 +813,6 @@ int omap_device_register(struct platform_device *pdev) ...@@ -815,7 +813,6 @@ int omap_device_register(struct platform_device *pdev)
{ {
pr_debug("omap_device: %s: registering\n", pdev->name); pr_debug("omap_device: %s: registering\n", pdev->name);
pdev->dev.parent = &omap_device_parent;
pdev->dev.pm_domain = &omap_device_pm_domain; pdev->dev.pm_domain = &omap_device_pm_domain;
return platform_device_add(pdev); return platform_device_add(pdev);
} }
...@@ -1124,11 +1121,6 @@ int omap_device_enable_clocks(struct omap_device *od) ...@@ -1124,11 +1121,6 @@ int omap_device_enable_clocks(struct omap_device *od)
return 0; return 0;
} }
struct device omap_device_parent = {
.init_name = "omap",
.parent = &platform_bus,
};
static struct notifier_block platform_nb = { static struct notifier_block platform_nb = {
.notifier_call = _omap_device_notifier_call, .notifier_call = _omap_device_notifier_call,
}; };
...@@ -1136,6 +1128,6 @@ static struct notifier_block platform_nb = { ...@@ -1136,6 +1128,6 @@ static struct notifier_block platform_nb = {
static int __init omap_device_init(void) static int __init omap_device_init(void)
{ {
bus_register_notifier(&platform_bus_type, &platform_nb); bus_register_notifier(&platform_bus_type, &platform_nb);
return device_register(&omap_device_parent); return 0;
} }
core_initcall(omap_device_init); core_initcall(omap_device_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment