root/drivers/cpufreq/arm_big_little.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * ARM big.LITTLE platform's CPUFreq header file
   3  *
   4  * Copyright (C) 2013 ARM Ltd.
   5  * Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
   6  *
   7  * Copyright (C) 2013 Linaro.
   8  * Viresh Kumar <viresh.kumar@linaro.org>
   9  *
  10  * This program is free software; you can redistribute it and/or modify
  11  * it under the terms of the GNU General Public License version 2 as
  12  * published by the Free Software Foundation.
  13  *
  14  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
  15  * kind, whether express or implied; without even the implied warranty
  16  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17  * GNU General Public License for more details.
  18  */
  19 #ifndef CPUFREQ_ARM_BIG_LITTLE_H
  20 #define CPUFREQ_ARM_BIG_LITTLE_H
  21 
  22 #include <linux/cpufreq.h>
  23 #include <linux/device.h>
  24 #include <linux/types.h>
  25 
  26 struct cpufreq_arm_bL_ops {
  27         char name[CPUFREQ_NAME_LEN];
  28 
  29         /*
  30          * This must set opp table for cpu_dev in a similar way as done by
  31          * dev_pm_opp_of_add_table().
  32          */
  33         int (*init_opp_table)(const struct cpumask *cpumask);
  34 
  35         /* Optional */
  36         int (*get_transition_latency)(struct device *cpu_dev);
  37         void (*free_opp_table)(const struct cpumask *cpumask);
  38 };
  39 
  40 int bL_cpufreq_register(const struct cpufreq_arm_bL_ops *ops);
  41 void bL_cpufreq_unregister(const struct cpufreq_arm_bL_ops *ops);
  42 
  43 #endif /* CPUFREQ_ARM_BIG_LITTLE_H */

/* [<][>][^][v][top][bottom][index][help] */