#include "fingerprint_common.h" #include #if defined(CONFIG_CPU_FREQ_LIMIT) || defined(CONFIG_CPU_FREQ_LIMIT_USERSPACE) #if (KERNEL_VERSION(5, 4, 0) > LINUX_VERSION_CODE) #include #else #include extern int set_freq_limit(unsigned int id, unsigned int freq); #endif #endif #define FINGER_ID 2 #define LIMIT_RELEASE -1 void spi_get_ctrldata(struct spi_device *spi) { } int spi_clk_register(struct spi_clk_setting *clk_setting, struct device *dev) { return 0; } int spi_clk_unregister(struct spi_clk_setting *clk_setting) { return 0; } int spi_clk_enable(struct spi_clk_setting *clk_setting) { #ifdef ENABLE_SENSORS_FPRINT_SECURE if (!clk_setting->enabled_clk) { __pm_stay_awake(clk_setting->spi_wake_lock); clk_setting->enabled_clk = true; } #endif return 0; } int spi_clk_disable(struct spi_clk_setting *clk_setting) { #ifdef ENABLE_SENSORS_FPRINT_SECURE if (clk_setting->enabled_clk) { __pm_relax(clk_setting->spi_wake_lock); clk_setting->enabled_clk = false; } #endif return 0; } int cpu_speedup_enable(struct boosting_config *boosting) { int retval = 0; #if defined(CONFIG_CPU_FREQ_LIMIT) || defined(CONFIG_CPU_FREQ_LIMIT_USERSPACE) if (boosting->min_cpufreq_limit) { pr_debug("%s\n", __func__); pm_qos_add_request(&boosting->pm_qos, PM_QOS_CPU_DMA_LATENCY, 0); retval = set_freq_limit(FINGER_ID, boosting->min_cpufreq_limit); if (retval) pr_err("booster start failed. (%d)\n", retval); } #else pr_debug("FP_CPU_SPEEDUP does not supported\n"); #endif return retval; } int cpu_speedup_disable(struct boosting_config *boosting) { int retval = 0; #if defined(CONFIG_CPU_FREQ_LIMIT) || defined(CONFIG_CPU_FREQ_LIMIT_USERSPACE) if (boosting->min_cpufreq_limit) { pr_debug("%s\n", __func__); retval = set_freq_limit(FINGER_ID, LIMIT_RELEASE); if (retval) pr_err("booster stop failed. (%d)\n", retval); pm_qos_remove_request(&boosting->pm_qos); } #else pr_debug("FP_CPU_SPEEDUP does not supported\n"); #endif return retval; }