Re: [PATCH v4 3/3] acpi/pmic: Add support for PMIC regs operation region

From: Heikki Krogerus
Date: Mon Jun 27 2016 - 05:27:09 EST


Whoa! Hold on!

On Thu, Jun 23, 2016 at 05:52:53PM -0700, Bin Gao wrote:
> Broxton platform firmware has defined new customized operation regions
> called regs for PMIC chip - regs op region is used to handle the
> PMIC gpio mainly intended for the TYPE-C VBUS and Orientation.
>
> The intel_gpio_ctx structure is created for the purpose of handling
> the PMIC gpio register read and write.
>
> Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>
> Signed-off-by: Chandra Sekhar Anagani <chandra.sekhar.anagani@xxxxxxxxx>
> Signed-off-by: Bin Gao <bin.gao@xxxxxxxxx>
> ---
> Changes in v4:
> - various fixes to address Aaron's comments.
> Changes in v3: none
> Changes in v2: none
> drivers/acpi/pmic/intel_pmic.c | 74 ++++++++++++++++++++++++++++++++++++++++--
> drivers/acpi/pmic/intel_pmic.h | 5 +++
> 2 files changed, 76 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/pmic/intel_pmic.c b/drivers/acpi/pmic/intel_pmic.c
> index 410e96f..e11d1e0 100644
> --- a/drivers/acpi/pmic/intel_pmic.c
> +++ b/drivers/acpi/pmic/intel_pmic.c
> @@ -21,12 +21,14 @@
>
> #define PMIC_POWER_OPREGION_ID 0x8d
> #define PMIC_THERMAL_OPREGION_ID 0x8c
> +#define PMIC_REGS_OPREGION_ID 0x8f
>
> struct intel_pmic_opregion {
> struct mutex lock;
> struct acpi_lpat_conversion_table *lpat_table;
> struct regmap *regmap;
> struct intel_pmic_opregion_data *data;
> + struct pmic_gpio_ctx ctx;

What gpio?

> };
>
> static int pmic_get_reg_bit(int address, struct pmic_table *table,
> @@ -204,6 +206,56 @@ static acpi_status intel_pmic_thermal_handler(u32 function,
> return AE_OK;
> }
>
> +static acpi_status intel_pmic_gpio_handler(u32 function,
> + acpi_physical_address address, u32 bits, u64 *value64,
> + void *handler_context, void *region_context)

What the heck is this? Why is this suddenly a gpio handler?

This is handler for an operation region, not some gpio!



--
heikki