pm-rmobile.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. #include <linux/pm_domain.h>
  13. #define DEFAULT_DEV_LATENCY_NS 250000
  14. struct platform_device;
  15. struct rmobile_pm_domain {
  16. struct generic_pm_domain genpd;
  17. struct dev_power_governor *gov;
  18. int (*suspend)(void);
  19. void (*resume)(void);
  20. unsigned int bit_shift;
  21. bool no_debug;
  22. };
  23. static inline
  24. struct rmobile_pm_domain *to_rmobile_pd(struct generic_pm_domain *d)
  25. {
  26. return container_of(d, struct rmobile_pm_domain, genpd);
  27. }
  28. struct pm_domain_device {
  29. const char *domain_name;
  30. struct platform_device *pdev;
  31. };
  32. #ifdef CONFIG_PM
  33. extern void rmobile_init_domains(struct rmobile_pm_domain domains[], int num);
  34. extern void rmobile_add_device_to_domain_td(const char *domain_name,
  35. struct platform_device *pdev,
  36. struct gpd_timing_data *td);
  37. static inline void rmobile_add_device_to_domain(const char *domain_name,
  38. struct platform_device *pdev)
  39. {
  40. rmobile_add_device_to_domain_td(domain_name, pdev, NULL);
  41. }
  42. extern void rmobile_add_devices_to_domains(struct pm_domain_device data[],
  43. int size);
  44. #else
  45. #define rmobile_init_domains(domains, num) do { } while (0)
  46. #define rmobile_add_device_to_domain_td(name, pdev, td) do { } while (0)
  47. #define rmobile_add_device_to_domain(name, pdev) do { } while (0)
  48. static inline void rmobile_add_devices_to_domains(struct pm_domain_device d[],
  49. int size) {}
  50. #endif /* CONFIG_PM */
  51. #endif /* PM_RMOBILE_H */