#include <dt-bindings/firmware/imx/rsrc.h>
#include <linux/err.h>
#include <linux/firmware/imx/sci.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/thermal.h>
#include "thermal_hwmon.h"
#define IMX_SC_MISC_FUNC_GET_TEMP …
static struct imx_sc_ipc *thermal_ipc_handle;
struct imx_sc_sensor { … };
struct req_get_temp { … } __packed __aligned(…);
struct resp_get_temp { … } __packed __aligned(…);
struct imx_sc_msg_misc_get_temp { … } __packed __aligned(…);
static int imx_sc_thermal_get_temp(struct thermal_zone_device *tz, int *temp)
{ … }
static const struct thermal_zone_device_ops imx_sc_thermal_ops = …;
static int imx_sc_thermal_probe(struct platform_device *pdev)
{ … }
static const int imx_sc_sensors[] = …;
static const struct of_device_id imx_sc_thermal_table[] = …;
MODULE_DEVICE_TABLE(of, imx_sc_thermal_table);
static struct platform_driver imx_sc_thermal_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;