Contributors: 8
Author |
Tokens |
Token Proportion |
Commits |
Commit Proportion |
Santosh Shilimkar |
59 |
45.04% |
1 |
12.50% |
Kevin Hilman |
43 |
32.82% |
1 |
12.50% |
Dave Gerlach |
15 |
11.45% |
1 |
12.50% |
Russell King |
7 |
5.34% |
1 |
12.50% |
Ben Dooks |
3 |
2.29% |
1 |
12.50% |
Thomas Gleixner |
2 |
1.53% |
1 |
12.50% |
Uwe Kleine-König |
1 |
0.76% |
1 |
12.50% |
Rajendra Nayak |
1 |
0.76% |
1 |
12.50% |
Total |
131 |
|
8 |
|
// SPDX-License-Identifier: GPL-2.0-only
/*
* PM domain driver for Keystone2 devices
*
* Copyright 2013 Texas Instruments, Inc.
* Santosh Shilimkar <santosh.shillimkar@ti.com>
*
* Based on Kevins work on DAVINCI SOCs
* Kevin Hilman <khilman@linaro.org>
*/
#include <linux/init.h>
#include <linux/pm_runtime.h>
#include <linux/pm_clock.h>
#include <linux/platform_device.h>
#include <linux/of.h>
#include "keystone.h"
static struct dev_pm_domain keystone_pm_domain = {
.ops = {
USE_PM_CLK_RUNTIME_OPS
USE_PLATFORM_PM_SLEEP_OPS
},
};
static struct pm_clk_notifier_block platform_domain_notifier = {
.pm_domain = &keystone_pm_domain,
.con_ids = { NULL },
};
static const struct of_device_id of_keystone_table[] = {
{.compatible = "ti,k2hk"},
{.compatible = "ti,k2e"},
{.compatible = "ti,k2l"},
{ /* end of list */ },
};
int __init keystone_pm_runtime_init(void)
{
struct device_node *np;
np = of_find_matching_node(NULL, of_keystone_table);
if (!np)
return 0;
pm_clk_add_notifier(&platform_bus_type, &platform_domain_notifier);
return 0;
}