linux/arch/arm/mach-shmobile/include/mach/pm-rmobile.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2012 Renesas Solutions Corp.
   3 *
   4 * Kuninori Morimoto <morimoto.kuninori@renesas.com>
   5 *
   6 * This file is subject to the terms and conditions of the GNU General Public
   7 * License.  See the file "COPYING" in the main directory of this archive
   8 * for more details.
   9 */
  10#ifndef PM_RMOBILE_H
  11#define PM_RMOBILE_H
  12
  13#include <linux/pm_domain.h>
  14
  15#define DEFAULT_DEV_LATENCY_NS  250000
  16
  17struct platform_device;
  18
  19struct rmobile_pm_domain {
  20        struct generic_pm_domain genpd;
  21        struct dev_power_governor *gov;
  22        int (*suspend)(void);
  23        void (*resume)(void);
  24        unsigned int bit_shift;
  25        bool no_debug;
  26};
  27
  28static inline
  29struct rmobile_pm_domain *to_rmobile_pd(struct generic_pm_domain *d)
  30{
  31        return container_of(d, struct rmobile_pm_domain, genpd);
  32}
  33
  34struct pm_domain_device {
  35        const char *domain_name;
  36        struct platform_device *pdev;
  37};
  38
  39#ifdef CONFIG_PM
  40extern void rmobile_init_domains(struct rmobile_pm_domain domains[], int num);
  41extern void rmobile_add_device_to_domain_td(const char *domain_name,
  42                                            struct platform_device *pdev,
  43                                            struct gpd_timing_data *td);
  44
  45static inline void rmobile_add_device_to_domain(const char *domain_name,
  46                                                struct platform_device *pdev)
  47{
  48        rmobile_add_device_to_domain_td(domain_name, pdev, NULL);
  49}
  50
  51extern void rmobile_add_devices_to_domains(struct pm_domain_device data[],
  52                                           int size);
  53#else
  54
  55#define rmobile_init_domains(domains, num) do { } while (0)
  56#define rmobile_add_device_to_domain_td(name, pdev, td) do { } while (0)
  57#define rmobile_add_device_to_domain(name, pdev) do { } while (0)
  58
  59static inline void rmobile_add_devices_to_domains(struct pm_domain_device d[],
  60                                                  int size) {}
  61#endif /* CONFIG_PM */
  62
  63#endif /* PM_RMOBILE_H */
  64