cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pm_domain.c (989B)


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