0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <linux/init.h>
0010 #include <linux/kernel.h>
0011 #include <linux/io.h>
0012 #include <linux/pm_runtime.h>
0013 #include <linux/pm_clock.h>
0014 #include <linux/platform_device.h>
0015 #include <linux/mutex.h>
0016 #include <linux/clk.h>
0017 #include <linux/err.h>
0018
0019 #include "soc.h"
0020
0021 static struct dev_pm_domain default_pm_domain = {
0022 .ops = {
0023 USE_PM_CLK_RUNTIME_OPS
0024 USE_PLATFORM_PM_SLEEP_OPS
0025 },
0026 };
0027
0028 static struct pm_clk_notifier_block platform_bus_notifier = {
0029 .pm_domain = &default_pm_domain,
0030 .con_ids = { "ick", "fck", NULL, },
0031 };
0032
0033 static int __init omap1_pm_runtime_init(void)
0034 {
0035 if (!cpu_class_is_omap1())
0036 return -ENODEV;
0037
0038 pm_clk_add_notifier(&platform_bus_type, &platform_bus_notifier);
0039
0040 return 0;
0041 }
0042 core_initcall(omap1_pm_runtime_init);