linux/drivers/cpufreq/arm_big_little.h
<<
>>
Prefs
   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
  26struct cpufreq_arm_bL_ops {
  27        char name[CPUFREQ_NAME_LEN];
  28        int (*get_transition_latency)(struct device *cpu_dev);
  29
  30        /*
  31         * This must set opp table for cpu_dev in a similar way as done by
  32         * of_init_opp_table().
  33         */
  34        int (*init_opp_table)(struct device *cpu_dev);
  35};
  36
  37static inline int cpu_to_cluster(int cpu)
  38{
  39        return topology_physical_package_id(cpu);
  40}
  41
  42int bL_cpufreq_register(struct cpufreq_arm_bL_ops *ops);
  43void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops);
  44
  45#endif /* CPUFREQ_ARM_BIG_LITTLE_H */
  46
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.