#include <linux/err.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/thermal.h>
#include <linux/types.h>
#include "thermal_hwmon.h"
#define K3_VTM_DEVINFO_PWR0_OFFSET …
#define K3_VTM_DEVINFO_PWR0_TEMPSENS_CT_MASK …
#define K3_VTM_TMPSENS0_CTRL_OFFSET …
#define K3_VTM_REGS_PER_TS …
#define K3_VTM_TS_STAT_DTEMP_MASK …
#define K3_VTM_TMPSENS_CTRL_CBIASSEL …
#define K3_VTM_TMPSENS_CTRL_SOC …
#define K3_VTM_TMPSENS_CTRL_CLRZ …
#define K3_VTM_TMPSENS_CTRL_CLKON_REQ …
#define K3_VTM_ADC_BEGIN_VAL …
#define K3_VTM_ADC_END_VAL …
static const int k3_adc_to_temp[] = …;
struct k3_bandgap { … };
struct k3_thermal_data { … };
static unsigned int vtm_get_best_value(unsigned int s0, unsigned int s1,
unsigned int s2)
{ … }
static int k3_bgp_read_temp(struct k3_thermal_data *devdata,
int *temp)
{ … }
static int k3_thermal_get_temp(struct thermal_zone_device *tz, int *temp)
{ … }
static const struct thermal_zone_device_ops k3_of_thermal_ops = …;
static const struct of_device_id of_k3_bandgap_match[];
static int k3_bandgap_probe(struct platform_device *pdev)
{ … }
static void k3_bandgap_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id of_k3_bandgap_match[] = …;
MODULE_DEVICE_TABLE(of, of_k3_bandgap_match);
static struct platform_driver k3_bandgap_sensor_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;