Hi Hans
On 24/11/2022 20:00, Hans de Goede wrote:
Make the GPIO to sensor mapping more generic and fold the
INT3472_GPIO_TYPE_RESET and INT3472_GPIO_TYPE_POWERDOWN cases into
a single generic case.
This is a preparation patch for further GPIO mapping changes.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
---
Reviewed-by: Daniel Scally <dan.scally@xxxxxxxxxxxxxxxx>
Tested-by: Daniel Scally <dan.scally@xxxxxxxxxxxxxxxx>
drivers/platform/x86/intel/int3472/discrete.c | 31 ++++++++++++++-----
1 file changed, 23 insertions(+), 8 deletions(-)
diff --git a/drivers/platform/x86/intel/int3472/discrete.c b/drivers/platform/x86/intel/int3472/discrete.c
index 974a132db651..bc6c62f3f3bf 100644
--- a/drivers/platform/x86/intel/int3472/discrete.c
+++ b/drivers/platform/x86/intel/int3472/discrete.c
@@ -184,6 +184,24 @@ static int skl_int3472_map_gpio_to_clk(struct int3472_discrete_device *int3472,
return 0;
}
+static const char *int3472_dsm_type_to_func(u8 type)
+{
+ switch (type) {
+ case INT3472_GPIO_TYPE_RESET:
+ return "reset";
+ case INT3472_GPIO_TYPE_POWERDOWN:
+ return "powerdown";
+ case INT3472_GPIO_TYPE_CLK_ENABLE:
+ return "clken";
+ case INT3472_GPIO_TYPE_PRIVACY_LED:
+ return "pled";
+ case INT3472_GPIO_TYPE_POWER_ENABLE:
+ return "power-enable";
+ }
+
+ return "unknown";
+}
+
/**
* skl_int3472_handle_gpio_resources: Map PMIC resources to consuming sensor
* @ares: A pointer to a &struct acpi_resource
@@ -223,6 +241,7 @@ static int skl_int3472_handle_gpio_resources(struct acpi_resource *ares,
struct acpi_resource_gpio *agpio;
union acpi_object *obj;
const char *err_msg;
+ const char *func;
int ret;
u8 type;
@@ -246,19 +265,15 @@ static int skl_int3472_handle_gpio_resources(struct acpi_resource *ares,
type = obj->integer.value & 0xff;
+ func = int3472_dsm_type_to_func(type);
+
switch (type) {
case INT3472_GPIO_TYPE_RESET:
- ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, "reset",
- GPIO_ACTIVE_LOW);
- if (ret)
- err_msg = "Failed to map reset pin to sensor\n";
-
- break;
case INT3472_GPIO_TYPE_POWERDOWN:
- ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, "powerdown",
+ ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, func,
GPIO_ACTIVE_LOW);
if (ret)
- err_msg = "Failed to map powerdown pin to sensor\n";
+ err_msg = "Failed to map GPIO pin to sensor\n";
break;
case INT3472_GPIO_TYPE_CLK_ENABLE: