~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise-security

« back to all changes in this revision

Viewing changes to arch/arm/mach-shmobile/pm_runtime.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati
  • Date: 2011-12-06 15:56:07 UTC
  • Revision ID: package-import@ubuntu.com-20111206155607-pcf44kv5fmhk564f
Tags: 3.2.0-1401.1
[ Paolo Pisati ]

* Rebased on top of Ubuntu-3.2.0-3.8
* Tilt-tracking @ ef2487af4bb15bdd0689631774b5a5e3a59f74e2
* Delete debian.ti-omap4/control, it shoudln't be tracked
* Fix architecture spelling (s/armel/armhf/)
* [Config] Update configs following 3.2 import
* [Config] Fix compilation: disable CODA and ARCH_OMAP3
* [Config] Fix compilation: disable Ethernet Faraday
* Update series to precise

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * arch/arm/mach-shmobile/pm_runtime.c
3
 
 *
4
 
 * Runtime PM support code for SuperH Mobile ARM
5
 
 *
6
 
 *  Copyright (C) 2009-2010 Magnus Damm
7
 
 *
8
 
 * This file is subject to the terms and conditions of the GNU General Public
9
 
 * License.  See the file "COPYING" in the main directory of this archive
10
 
 * for more details.
11
 
 */
12
 
 
13
 
#include <linux/init.h>
14
 
#include <linux/kernel.h>
15
 
#include <linux/io.h>
16
 
#include <linux/pm_runtime.h>
17
 
#include <linux/platform_device.h>
18
 
#include <linux/clk.h>
19
 
#include <linux/sh_clk.h>
20
 
#include <linux/bitmap.h>
21
 
#include <linux/slab.h>
22
 
 
23
 
#ifdef CONFIG_PM_RUNTIME
24
 
 
25
 
static int default_platform_runtime_idle(struct device *dev)
26
 
{
27
 
        /* suspend synchronously to disable clocks immediately */
28
 
        return pm_runtime_suspend(dev);
29
 
}
30
 
 
31
 
static struct dev_power_domain default_power_domain = {
32
 
        .ops = {
33
 
                .runtime_suspend = pm_runtime_clk_suspend,
34
 
                .runtime_resume = pm_runtime_clk_resume,
35
 
                .runtime_idle = default_platform_runtime_idle,
36
 
                USE_PLATFORM_PM_SLEEP_OPS
37
 
        },
38
 
};
39
 
 
40
 
#define DEFAULT_PWR_DOMAIN_PTR  (&default_power_domain)
41
 
 
42
 
#else
43
 
 
44
 
#define DEFAULT_PWR_DOMAIN_PTR  NULL
45
 
 
46
 
#endif /* CONFIG_PM_RUNTIME */
47
 
 
48
 
static struct pm_clk_notifier_block platform_bus_notifier = {
49
 
        .pwr_domain = DEFAULT_PWR_DOMAIN_PTR,
50
 
        .con_ids = { NULL, },
51
 
};
52
 
 
53
 
static int __init sh_pm_runtime_init(void)
54
 
{
55
 
        pm_runtime_clk_add_notifier(&platform_bus_type, &platform_bus_notifier);
56
 
        return 0;
57
 
}
58
 
core_initcall(sh_pm_runtime_init);