@ -28,7 +28,8 @@ static int power_domain_of_xlate_default(struct power_domain *power_domain,
return 0 ;
return 0 ;
}
}
int power_domain_get ( struct udevice * dev , struct power_domain * power_domain )
int power_domain_get_by_index ( struct udevice * dev ,
struct power_domain * power_domain , int index )
{
{
struct ofnode_phandle_args args ;
struct ofnode_phandle_args args ;
int ret ;
int ret ;
@ -38,7 +39,8 @@ int power_domain_get(struct udevice *dev, struct power_domain *power_domain)
debug ( " %s(dev=%p, power_domain=%p) \n " , __func__ , dev , power_domain ) ;
debug ( " %s(dev=%p, power_domain=%p) \n " , __func__ , dev , power_domain ) ;
ret = dev_read_phandle_with_args ( dev , " power-domains " ,
ret = dev_read_phandle_with_args ( dev , " power-domains " ,
" #power-domain-cells " , 0 , 0 , & args ) ;
" #power-domain-cells " , 0 , index ,
& args ) ;
if ( ret ) {
if ( ret ) {
debug ( " %s: dev_read_phandle_with_args failed: %d \n " ,
debug ( " %s: dev_read_phandle_with_args failed: %d \n " ,
__func__ , ret ) ;
__func__ , ret ) ;
@ -73,6 +75,11 @@ int power_domain_get(struct udevice *dev, struct power_domain *power_domain)
return 0 ;
return 0 ;
}
}
int power_domain_get ( struct udevice * dev , struct power_domain * power_domain )
{
return power_domain_get_by_index ( dev , power_domain , 0 ) ;
}
int power_domain_free ( struct power_domain * power_domain )
int power_domain_free ( struct power_domain * power_domain )
{
{
struct power_domain_ops * ops = power_domain_dev_ops ( power_domain - > dev ) ;
struct power_domain_ops * ops = power_domain_dev_ops ( power_domain - > dev ) ;