1ce9dcb87SKevin Hilman /* 2ce9dcb87SKevin Hilman * Runtime PM support code for DaVinci 3ce9dcb87SKevin Hilman * 4ce9dcb87SKevin Hilman * Author: Kevin Hilman 5ce9dcb87SKevin Hilman * 6ce9dcb87SKevin Hilman * Copyright (C) 2012 Texas Instruments, Inc. 7ce9dcb87SKevin Hilman * 8ce9dcb87SKevin Hilman * This file is licensed under the terms of the GNU General Public 9ce9dcb87SKevin Hilman * License version 2. This program is licensed "as is" without any 10ce9dcb87SKevin Hilman * warranty of any kind, whether express or implied. 11ce9dcb87SKevin Hilman */ 12ce9dcb87SKevin Hilman #include <linux/init.h> 13ce9dcb87SKevin Hilman #include <linux/pm_runtime.h> 14ce9dcb87SKevin Hilman #include <linux/pm_clock.h> 15ce9dcb87SKevin Hilman #include <linux/platform_device.h> 16ce9dcb87SKevin Hilman 17ce9dcb87SKevin Hilman static struct dev_pm_domain davinci_pm_domain = { 18ce9dcb87SKevin Hilman .ops = { 19ea6f8334SRajendra Nayak USE_PM_CLK_RUNTIME_OPS 20ce9dcb87SKevin Hilman USE_PLATFORM_PM_SLEEP_OPS 21ce9dcb87SKevin Hilman }, 22ce9dcb87SKevin Hilman }; 23ce9dcb87SKevin Hilman 24ce9dcb87SKevin Hilman static struct pm_clk_notifier_block platform_bus_notifier = { 25ce9dcb87SKevin Hilman .pm_domain = &davinci_pm_domain, 269a3e89b1SLad, Prabhakar .con_ids = { "fck", "master", "slave", NULL }, 27ce9dcb87SKevin Hilman }; 28ce9dcb87SKevin Hilman 29ce9dcb87SKevin Hilman static int __init davinci_pm_runtime_init(void) 30ce9dcb87SKevin Hilman { 31ce9dcb87SKevin Hilman pm_clk_add_notifier(&platform_bus_type, &platform_bus_notifier); 32ce9dcb87SKevin Hilman 33ce9dcb87SKevin Hilman return 0; 34ce9dcb87SKevin Hilman } 35ce9dcb87SKevin Hilman core_initcall(davinci_pm_runtime_init); 36