#include <linux/export.h>
#include <linux/acpi.h>
#include <linux/mfd/intel_soc_pmic.h>
#include <linux/regmap.h>
#include <acpi/acpi_lpat.h>
#include "intel_pmic.h"
#define PMIC_POWER_OPREGION_ID …
#define PMIC_THERMAL_OPREGION_ID …
#define PMIC_REGS_OPREGION_ID …
struct intel_pmic_regs_handler_ctx { … };
struct intel_pmic_opregion { … };
static struct intel_pmic_opregion *intel_pmic_opregion;
static int pmic_get_reg_bit(int address, const struct pmic_table *table,
int count, int *reg, int *bit)
{ … }
static acpi_status intel_pmic_power_handler(u32 function,
acpi_physical_address address, u32 bits, u64 *value64,
void *handler_context, void *region_context)
{ … }
static int pmic_read_temp(struct intel_pmic_opregion *opregion,
int reg, u64 *value)
{ … }
static int pmic_thermal_temp(struct intel_pmic_opregion *opregion, int reg,
u32 function, u64 *value)
{ … }
static int pmic_thermal_aux(struct intel_pmic_opregion *opregion, int reg,
u32 function, u64 *value)
{ … }
static int pmic_thermal_pen(struct intel_pmic_opregion *opregion, int reg,
int bit, u32 function, u64 *value)
{ … }
static bool pmic_thermal_is_temp(int address)
{ … }
static bool pmic_thermal_is_aux(int address)
{ … }
static bool pmic_thermal_is_pen(int address)
{ … }
static acpi_status intel_pmic_thermal_handler(u32 function,
acpi_physical_address address, u32 bits, u64 *value64,
void *handler_context, void *region_context)
{ … }
static acpi_status intel_pmic_regs_handler(u32 function,
acpi_physical_address address, u32 bits, u64 *value64,
void *handler_context, void *region_context)
{ … }
int intel_pmic_install_opregion_handler(struct device *dev, acpi_handle handle,
struct regmap *regmap,
const struct intel_pmic_opregion_data *d)
{ … }
EXPORT_SYMBOL_GPL(…);
int intel_soc_pmic_exec_mipi_pmic_seq_element(u16 i2c_address, u32 reg_address,
u32 value, u32 mask)
{ … }
EXPORT_SYMBOL_GPL(…);