linux/drivers/cpufreq/mediatek-cpufreq-hw.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2020 MediaTek Inc.
 */

#include <linux/bitfield.h>
#include <linux/cpufreq.h>
#include <linux/energy_model.h>
#include <linux/init.h>
#include <linux/iopoll.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>
#include <linux/slab.h>

#define LUT_MAX_ENTRIES
#define LUT_FREQ
#define LUT_ROW_SIZE
#define CPUFREQ_HW_STATUS
#define SVS_HW_STATUS
#define POLL_USEC
#define TIMEOUT_USEC

enum {};

struct mtk_cpufreq_data {};

static const u16 cpufreq_mtk_offsets[REG_ARRAY_SIZE] =;

static int __maybe_unused
mtk_cpufreq_get_cpu_power(struct device *cpu_dev, unsigned long *uW,
			  unsigned long *KHz)
{}

static int mtk_cpufreq_hw_target_index(struct cpufreq_policy *policy,
				       unsigned int index)
{}

static unsigned int mtk_cpufreq_hw_get(unsigned int cpu)
{}

static unsigned int mtk_cpufreq_hw_fast_switch(struct cpufreq_policy *policy,
					       unsigned int target_freq)
{}

static int mtk_cpu_create_freq_table(struct platform_device *pdev,
				     struct mtk_cpufreq_data *data)
{}

static int mtk_cpu_resources_init(struct platform_device *pdev,
				  struct cpufreq_policy *policy,
				  const u16 *offsets)
{}

static int mtk_cpufreq_hw_cpu_init(struct cpufreq_policy *policy)
{}

static void mtk_cpufreq_hw_cpu_exit(struct cpufreq_policy *policy)
{}

static void mtk_cpufreq_register_em(struct cpufreq_policy *policy)
{}

static struct cpufreq_driver cpufreq_mtk_hw_driver =;

static int mtk_cpufreq_hw_driver_probe(struct platform_device *pdev)
{}

static void mtk_cpufreq_hw_driver_remove(struct platform_device *pdev)
{}

static const struct of_device_id mtk_cpufreq_hw_match[] =;
MODULE_DEVICE_TABLE(of, mtk_cpufreq_hw_match);

static struct platform_driver mtk_cpufreq_hw_driver =;
module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();