text: /*
   * Runtime PM support code for OMAP1
   *
   * Author: Kevin Hilman, Deep Root Systems, LLC
   *
   * Copyright (C) 2010 Texas Instruments, Inc.
   *
   * This file is licensed under the terms of the GNU General Public
   * License version 2. This program is licensed "as is" without any
   * warranty of any kind, whether express or implied.
   */
  #include <linux/init.h>
  #include <linux/kernel.h>
  #include <linux/io.h>
  #include <linux/pm_runtime.h>
  #include <linux/pm_clock.h>
  #include <linux/platform_device.h>
  #include <linux/mutex.h>
  #include <linux/clk.h>
  #include <linux/err.h>
  
  #include "soc.h"
  
  static struct dev_pm_domain default_pm_domain = {
  	.ops = {
  		USE_PM_CLK_RUNTIME_OPS
  		USE_PLATFORM_PM_SLEEP_OPS
  	},
  };
  
  static struct pm_clk_notifier_block platform_bus_notifier = {
  	.pm_domain = &default_pm_domain,
  	.con_ids = { "ick", "fck", NULL, },
  };
  
  static int __init omap1_pm_runtime_init(void)
  {
  	if (!cpu_class_is_omap1())
  		return -ENODEV;
  
  	pm_clk_add_notifier(&platform_bus_type, &platform_bus_notifier);
  
  	return 0;
  }
  core_initcall(omap1_pm_runtime_init);
  
  