Blame view
arch/arm/mach-keystone/pm_domain.c
1.12 KB
fc20ffe12
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/* * 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> * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. */ #include <linux/init.h> #include <linux/pm_runtime.h> #include <linux/pm_clock.h> #include <linux/platform_device.h> |
8620d2c53
|
19 |
#include <linux/of.h> |
fc20ffe12
|
20 |
|
fc20ffe12
|
21 22 |
static struct dev_pm_domain keystone_pm_domain = { .ops = { |
1f51b0c64
|
23 |
USE_PM_CLK_RUNTIME_OPS |
fc20ffe12
|
24 25 26 27 28 29 30 |
USE_PLATFORM_PM_SLEEP_OPS }, }; static struct pm_clk_notifier_block platform_domain_notifier = { .pm_domain = &keystone_pm_domain, }; |
444d2d33d
|
31 |
static const struct of_device_id of_keystone_table[] = { |
8620d2c53
|
32 33 34 |
{.compatible = "ti,keystone"}, { /* end of list */ }, }; |
fc20ffe12
|
35 36 |
int __init keystone_pm_runtime_init(void) { |
8620d2c53
|
37 38 39 40 41 |
struct device_node *np; np = of_find_matching_node(NULL, of_keystone_table); if (!np) return 0; |
fc20ffe12
|
42 43 44 45 |
pm_clk_add_notifier(&platform_bus_type, &platform_domain_notifier); return 0; } |