mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 13:34:30 +00:00
platform/x86: int3472: Add new skl_int3472_gpiod_get_from_temp_lookup() helper
Add a new skl_int3472_gpiod_get_from_temp_lookup() helper. This is a preparation patch for removing usage of the deprecated gpiod_toggle_active_low() and acpi_get_and_request_gpiod() functions. [hdegoede@redhat.com] use the new skl_int3472_fill_gpiod_lookup() helper Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Co-developed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20231004162317.163488-3-hdegoede@redhat.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
parent
23516fba86
commit
5cad12851b
@ -99,6 +99,32 @@ static int skl_int3472_map_gpio_to_sensor(struct int3472_discrete_device *int347
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This should *really* only be used when there's no other way... */
|
||||
static struct gpio_desc *
|
||||
skl_int3472_gpiod_get_from_temp_lookup(struct int3472_discrete_device *int3472,
|
||||
struct acpi_resource_gpio *agpio,
|
||||
const char *func, u32 polarity)
|
||||
{
|
||||
struct gpio_desc *desc;
|
||||
int ret;
|
||||
|
||||
struct gpiod_lookup_table *lookup __free(kfree) =
|
||||
kzalloc(struct_size(lookup, table, 2), GFP_KERNEL);
|
||||
if (!lookup)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
lookup->dev_id = dev_name(int3472->dev);
|
||||
ret = skl_int3472_fill_gpiod_lookup(&lookup->table[0], agpio, func, polarity);
|
||||
if (ret)
|
||||
return ERR_PTR(ret);
|
||||
|
||||
gpiod_add_lookup_table(lookup);
|
||||
desc = gpiod_get(int3472->dev, func, GPIOD_OUT_LOW);
|
||||
gpiod_remove_lookup_table(lookup);
|
||||
|
||||
return desc;
|
||||
}
|
||||
|
||||
static void int3472_get_func_and_polarity(u8 type, const char **func, u32 *polarity)
|
||||
{
|
||||
switch (type) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user