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: Kevin Hilman <khilman@ti.com>
This commit is contained in:
parent
401606fd70
commit
3ec2decbb6
3 changed files with 4 additions and 12 deletions
|
@ -36,7 +36,7 @@
|
|||
|
||||
#include <plat/omap_hwmod.h>
|
||||
|
||||
extern struct device omap_device_parent;
|
||||
extern struct dev_pm_domain omap_device_pm_domain;
|
||||
|
||||
/* omap_device._state values */
|
||||
#define OMAP_DEVICE_STATE_UNKNOWN 0
|
||||
|
|
|
@ -319,7 +319,7 @@ int omap_pm_get_dev_context_loss_count(struct device *dev)
|
|||
if (WARN_ON(!dev))
|
||||
return -ENODEV;
|
||||
|
||||
if (dev->parent == &omap_device_parent) {
|
||||
if (dev->pm_domain == &omap_device_pm_domain) {
|
||||
count = omap_device_get_context_loss_count(pdev);
|
||||
} else {
|
||||
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,
|
|||
}
|
||||
|
||||
|
||||
static struct dev_pm_domain omap_device_pm_domain;
|
||||
|
||||
/**
|
||||
* omap_device_build_from_dt - build an omap_device with multiple hwmods
|
||||
* @pdev_name: name of the platform_device driver to use
|
||||
|
@ -793,7 +791,7 @@ static int _od_resume_noirq(struct device *dev)
|
|||
#define _od_resume_noirq NULL
|
||||
#endif
|
||||
|
||||
static struct dev_pm_domain omap_device_pm_domain = {
|
||||
struct dev_pm_domain omap_device_pm_domain = {
|
||||
.ops = {
|
||||
SET_RUNTIME_PM_OPS(_od_runtime_suspend, _od_runtime_resume,
|
||||
_od_runtime_idle)
|
||||
|
@ -815,7 +813,6 @@ int omap_device_register(struct platform_device *pdev)
|
|||
{
|
||||
pr_debug("omap_device: %s: registering\n", pdev->name);
|
||||
|
||||
pdev->dev.parent = &omap_device_parent;
|
||||
pdev->dev.pm_domain = &omap_device_pm_domain;
|
||||
return platform_device_add(pdev);
|
||||
}
|
||||
|
@ -1124,11 +1121,6 @@ int omap_device_enable_clocks(struct omap_device *od)
|
|||
return 0;
|
||||
}
|
||||
|
||||
struct device omap_device_parent = {
|
||||
.init_name = "omap",
|
||||
.parent = &platform_bus,
|
||||
};
|
||||
|
||||
static struct notifier_block platform_nb = {
|
||||
.notifier_call = _omap_device_notifier_call,
|
||||
};
|
||||
|
@ -1136,6 +1128,6 @@ static struct notifier_block platform_nb = {
|
|||
static int __init omap_device_init(void)
|
||||
{
|
||||
bus_register_notifier(&platform_bus_type, &platform_nb);
|
||||
return device_register(&omap_device_parent);
|
||||
return 0;
|
||||
}
|
||||
core_initcall(omap_device_init);
|
||||
|
|
Loading…
Reference in a new issue