From: Daniel Scally <dan.scally@ideasonboard.com>
To: linux-leds@vger.kernel.org, platform-driver-x86@vger.kernel.org
Cc: pavel@ucw.cz, lee@kernel.org, hdegoede@redhat.com,
markgross@kernel.org, sboyd@kernel.org, hpa@redhat.com,
Daniel Scally <dan.scally@ideasonboard.com>
Subject: [PATCH 7/8] platform/x86: int3472: Support LED lookups in board data
Date: Wed, 22 Mar 2023 16:09:25 +0000 [thread overview]
Message-ID: <20230322160926.948687-8-dan.scally@ideasonboard.com> (raw)
In-Reply-To: <20230322160926.948687-1-dan.scally@ideasonboard.com>
On platforms with the TPS68470 PMIC, we need to be able to define
which of the LEDs powered by the PMIC should be used by each of
the sensors that consume its resources. Add the ability to define
tables of LED lookup data to the board data file.
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
---
drivers/platform/x86/intel/int3472/tps68470.c | 8 ++++++++
drivers/platform/x86/intel/int3472/tps68470.h | 8 ++++++++
2 files changed, 16 insertions(+)
diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platform/x86/intel/int3472/tps68470.c
index 818f2fc5bf2a..07ac7b5b9082 100644
--- a/drivers/platform/x86/intel/int3472/tps68470.c
+++ b/drivers/platform/x86/intel/int3472/tps68470.c
@@ -206,6 +206,10 @@ static int skl_int3472_tps68470_probe(struct i2c_client *client)
for (i = 0; i < board_data->n_gpiod_lookups; i++)
gpiod_add_lookup_table(board_data->tps68470_gpio_lookup_tables[i]);
+ if (board_data->led_lookups)
+ for (i = 0; i < board_data->led_lookups->n_lookups; i++)
+ led_add_lookup(&board_data->led_lookups->lookup_table[i]);
+
ret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE,
cells, TPS68470_WIN_MFD_CELL_COUNT,
NULL, 0, NULL);
@@ -214,6 +218,10 @@ static int skl_int3472_tps68470_probe(struct i2c_client *client)
if (ret) {
for (i = 0; i < board_data->n_gpiod_lookups; i++)
gpiod_remove_lookup_table(board_data->tps68470_gpio_lookup_tables[i]);
+
+ if (board_data->led_lookups)
+ for (i = 0; i < board_data->led_lookups->n_lookups; i++)
+ led_remove_lookup(&board_data->led_lookups->lookup_table[i]);
}
break;
diff --git a/drivers/platform/x86/intel/int3472/tps68470.h b/drivers/platform/x86/intel/int3472/tps68470.h
index ce50687db6fb..c03884654898 100644
--- a/drivers/platform/x86/intel/int3472/tps68470.h
+++ b/drivers/platform/x86/intel/int3472/tps68470.h
@@ -11,14 +11,22 @@
#ifndef _INTEL_SKL_INT3472_TPS68470_H
#define _INTEL_SKL_INT3472_TPS68470_H
+#include <linux/leds.h>
+
struct gpiod_lookup_table;
struct tps68470_regulator_platform_data;
struct tps68470_led_platform_data;
+struct tps68470_led_lookups {
+ unsigned int n_lookups;
+ struct led_lookup_data lookup_table[];
+};
+
struct int3472_tps68470_board_data {
const char *dev_name;
const struct tps68470_regulator_platform_data *tps68470_regulator_pdata;
const struct tps68470_led_platform_data *tps68470_led_pdata;
+ struct tps68470_led_lookups *led_lookups;
unsigned int n_gpiod_lookups;
struct gpiod_lookup_table *tps68470_gpio_lookup_tables[];
};
--
2.34.1
next prev parent reply other threads:[~2023-03-22 16:10 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-22 16:09 [PATCH 0/8] Add WLED support to TPS68470 LED driver Daniel Scally
2023-03-22 16:09 ` [PATCH 1/8] platform/x86: int3472: Add platform data for LEDs Daniel Scally
2023-03-22 17:14 ` Hans de Goede
2023-03-22 16:09 ` [PATCH 2/8] platform/x86: int3472: Init LED registers using platform data Daniel Scally
2023-03-22 17:16 ` Hans de Goede
2023-03-22 16:09 ` [PATCH 3/8] platform/x86: int3472: Add TPS68470 LED Board Data Daniel Scally
2023-03-22 17:17 ` Hans de Goede
2023-03-22 16:09 ` [PATCH 4/8] platform/x86: int3472: Add tps68470-led as clock consumer Daniel Scally
2023-03-22 17:19 ` Hans de Goede
2023-03-22 16:09 ` [PATCH 5/8] leds: tps68470: Refactor tps68470_brightness_get() Daniel Scally
2023-03-22 17:22 ` Hans de Goede
2023-03-23 7:43 ` Dan Scally
2023-03-23 9:52 ` Hans de Goede
2023-03-23 9:53 ` Dan Scally
2023-03-22 16:09 ` [PATCH 6/8] leds: tps68470: Support the WLED driver Daniel Scally
2023-03-22 17:24 ` Hans de Goede
2023-03-23 11:22 ` Pavel Machek
2023-03-23 16:25 ` Dan Scally
2023-03-27 13:23 ` Hans de Goede
2023-03-22 16:09 ` Daniel Scally [this message]
2023-03-22 17:25 ` [PATCH 7/8] platform/x86: int3472: Support LED lookups in board data Hans de Goede
2023-03-22 16:09 ` [PATCH 8/8] platform/x86: int3472: Define LED lookup data for MS Surface Go Daniel Scally
2023-03-22 17:34 ` Hans de Goede
2023-03-23 10:31 ` Dan Scally
2023-03-23 11:15 ` Hans de Goede
2023-03-22 17:40 ` [PATCH 0/8] Add WLED support to TPS68470 LED driver Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230322160926.948687-8-dan.scally@ideasonboard.com \
--to=dan.scally@ideasonboard.com \
--cc=hdegoede@redhat.com \
--cc=hpa@redhat.com \
--cc=lee@kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=markgross@kernel.org \
--cc=pavel@ucw.cz \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox