2012-07-05 01:24:46 -07:00
/*
* Copyright ( C ) 2012 Renesas Solutions Corp .
*
* Kuninori Morimoto < morimoto . kuninori @ renesas . com >
*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*/
# ifndef PM_RMOBILE_H
# define PM_RMOBILE_H
# include <linux/pm_domain.h>
2012-08-15 20:56:26 +02:00
# define DEFAULT_DEV_LATENCY_NS 250000
2012-07-05 01:24:46 -07:00
struct platform_device ;
struct rmobile_pm_domain {
struct generic_pm_domain genpd ;
struct dev_power_governor * gov ;
int ( * suspend ) ( void ) ;
void ( * resume ) ( void ) ;
unsigned int bit_shift ;
bool no_debug ;
} ;
static inline
struct rmobile_pm_domain * to_rmobile_pd ( struct generic_pm_domain * d )
{
return container_of ( d , struct rmobile_pm_domain , genpd ) ;
}
2012-08-15 20:56:26 +02:00
struct pm_domain_device {
const char * domain_name ;
struct platform_device * pdev ;
} ;
2012-07-05 01:24:46 -07:00
# ifdef CONFIG_PM
2012-08-07 01:10:22 +02:00
extern void rmobile_init_domains ( struct rmobile_pm_domain domains [ ] , int num ) ;
2012-08-08 00:27:52 +02:00
extern void rmobile_add_device_to_domain_td ( const char * domain_name ,
struct platform_device * pdev ,
struct gpd_timing_data * td ) ;
static inline void rmobile_add_device_to_domain ( const char * domain_name ,
struct platform_device * pdev )
{
rmobile_add_device_to_domain_td ( domain_name , pdev , NULL ) ;
}
2012-08-15 20:56:26 +02:00
extern void rmobile_add_devices_to_domains ( struct pm_domain_device data [ ] ,
int size ) ;
2012-07-05 01:24:46 -07:00
# else
2012-08-08 00:27:52 +02:00
2012-08-07 01:10:22 +02:00
# define rmobile_init_domains(domains, num) do { } while (0)
2012-08-08 00:27:52 +02:00
# define rmobile_add_device_to_domain_td(name, pdev, td) do { } while (0)
2012-08-07 01:07:01 +02:00
# define rmobile_add_device_to_domain(name, pdev) do { } while (0)
2012-08-15 20:56:26 +02:00
static inline void rmobile_add_devices_to_domains ( struct pm_domain_device d [ ] ,
int size ) { }
2012-07-05 01:24:46 -07:00
# endif /* CONFIG_PM */
# endif /* PM_RMOBILE_H */