/* 
 | 
 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd 
 | 
 * 
 | 
 * SPDX-License-Identifier: GPL-2.0+ 
 | 
 */ 
 | 
#ifndef __SOC_ROCKCHIP_OPP_SELECT_H 
 | 
#define __SOC_ROCKCHIP_OPP_SELECT_H 
 | 
  
 | 
#if IS_ENABLED(CONFIG_ROCKCHIP_OPP) 
 | 
int rockchip_of_get_leakage(struct device *dev, char *lkg_name, int *leakage); 
 | 
void rockchip_of_get_lkg_sel(struct device *dev, struct device_node *np, 
 | 
                 char *lkg_name, int process, 
 | 
                 int *volt_sel, int *scale_sel); 
 | 
void rockchip_of_get_pvtm_sel(struct device *dev, struct device_node *np, 
 | 
                  char *reg_name, int process, 
 | 
                  int *volt_sel, int *scale_sel); 
 | 
void rockchip_of_get_bin_sel(struct device *dev, struct device_node *np, 
 | 
                 int bin, int *scale_sel); 
 | 
void rockchip_of_get_bin_volt_sel(struct device *dev, struct device_node *np, 
 | 
                  int bin, int *bin_volt_sel); 
 | 
int rockchip_nvmem_cell_read_u8(struct device_node *np, const char *cell_id, 
 | 
                u8 *val); 
 | 
int rockchip_nvmem_cell_read_u16(struct device_node *np, const char *cell_id, 
 | 
                 u16 *val); 
 | 
void rockchip_get_soc_info(struct device *dev, 
 | 
               const struct of_device_id *matches, 
 | 
               int *bin, int *process); 
 | 
void rockchip_get_scale_volt_sel(struct device *dev, char *lkg_name, 
 | 
                 char *reg_name, int bin, int process, 
 | 
                 int *scale, int *volt_sel); 
 | 
struct opp_table *rockchip_set_opp_prop_name(struct device *dev, int process, 
 | 
                         int volt_sel); 
 | 
int rockchip_adjust_power_scale(struct device *dev, int scale); 
 | 
int rockchip_init_opp_table(struct device *dev, 
 | 
                const struct of_device_id *matches, 
 | 
                char *lkg_name, char *reg_name); 
 | 
#else 
 | 
static inline int rockchip_of_get_leakage(struct device *dev, char *lkg_name, 
 | 
                      int *leakage) 
 | 
{ 
 | 
    return -ENOTSUPP; 
 | 
} 
 | 
  
 | 
static inline void rockchip_of_get_lkg_sel(struct device *dev, 
 | 
                       struct device_node *np, 
 | 
                       char *lkg_name, int process, 
 | 
                       int *volt_sel, int *scale_sel) 
 | 
{ 
 | 
} 
 | 
  
 | 
static inline void rockchip_of_get_pvtm_sel(struct device *dev, 
 | 
                        struct device_node *np, 
 | 
                        char *reg_name, int process, 
 | 
                        int *volt_sel, int *scale_sel) 
 | 
{ 
 | 
} 
 | 
  
 | 
static inline void rockchip_of_get_bin_sel(struct device *dev, 
 | 
                       struct device_node *np, int bin, 
 | 
                       int *scale_sel) 
 | 
{ 
 | 
} 
 | 
  
 | 
static inline void rockchip_of_get_bin_volt_sel(struct device *dev, 
 | 
                        struct device_node *np, 
 | 
                        int bin, int *bin_volt_sel) 
 | 
{ 
 | 
} 
 | 
  
 | 
static inline int rockchip_nvmem_cell_read_u8(struct device_node *np, 
 | 
                          const char *cell_id, u8 *val) 
 | 
{ 
 | 
    return -EOPNOTSUPP; 
 | 
} 
 | 
  
 | 
static inline int rockchip_nvmem_cell_read_u16(struct device_node *np, 
 | 
                           const char *cell_id, u16 *val) 
 | 
{ 
 | 
    return -EOPNOTSUPP; 
 | 
} 
 | 
  
 | 
static inline void rockchip_get_soc_info(struct device *dev, 
 | 
                     const struct of_device_id *matches, 
 | 
                     int *bin, int *process) 
 | 
{ 
 | 
} 
 | 
  
 | 
static inline void rockchip_get_scale_volt_sel(struct device *dev, 
 | 
                           char *lkg_name, char *reg_name, 
 | 
                           int bin, int process, int *scale, 
 | 
                           int *volt_sel) 
 | 
{ 
 | 
} 
 | 
  
 | 
static inline struct opp_table *rockchip_set_opp_prop_name(struct device *dev, 
 | 
                               int process, 
 | 
                               int volt_sel) 
 | 
{ 
 | 
    return ERR_PTR(-ENOTSUPP); 
 | 
} 
 | 
  
 | 
static inline int rockchip_adjust_power_scale(struct device *dev, int scale) 
 | 
{ 
 | 
    return -ENOTSUPP; 
 | 
} 
 | 
  
 | 
static inline int rockchip_init_opp_table(struct device *dev, 
 | 
                      const struct of_device_id *matches, 
 | 
                      char *lkg_name, char *reg_name) 
 | 
{ 
 | 
    return -ENOTSUPP; 
 | 
} 
 | 
  
 | 
#endif /* CONFIG_ROCKCHIP_OPP */ 
 | 
  
 | 
#endif 
 |