[PATCH v6 3/5] leds: rgb: leds-ktd202x: I2C ID tables for KTD2026 and 2027

From: Kate Hsuan
Date: Tue Apr 16 2024 - 01:40:33 EST


This table shows the maximum support LED channel for KTD2026 and KTD-2027.
The 3-channel LED controller KTD2026 controls R/G/B three LEDs. The
4-channel LED controller KTD2027 controls R/G/B and a flashing LEDs.

Link: https://www.kinet-ic.com/uploads/KTD2026-7-04h.pdf

Signed-off-by: Kate Hsuan <hpa@xxxxxxxxxx>
---
drivers/leds/rgb/leds-ktd202x.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/rgb/leds-ktd202x.c b/drivers/leds/rgb/leds-ktd202x.c
index 8d0ed1a95a9f..2c47b0405961 100644
--- a/drivers/leds/rgb/leds-ktd202x.c
+++ b/drivers/leds/rgb/leds-ktd202x.c
@@ -609,6 +609,13 @@ static void ktd202x_shutdown(struct i2c_client *client)
regmap_write(chip->regmap, KTD202X_REG_RESET_CONTROL, KTD202X_RSTR_RESET);
}

+static const struct i2c_device_id ktd202x_id[] = {
+ {"ktd2026", KTD2026_NUM_LEDS},
+ {"ktd2027", KTD2027_NUM_LEDS},
+ {}
+};
+MODULE_DEVICE_TABLE(i2c, ktd202x_id);
+
static const struct of_device_id ktd202x_match_table[] = {
{ .compatible = "kinetic,ktd2026", .data = (void *)KTD2026_NUM_LEDS },
{ .compatible = "kinetic,ktd2027", .data = (void *)KTD2027_NUM_LEDS },
@@ -623,7 +630,8 @@ static struct i2c_driver ktd202x_driver = {
},
.probe = ktd202x_probe,
.remove = ktd202x_remove,
- .shutdown = ktd202x_shutdown
+ .shutdown = ktd202x_shutdown,
+ .id_table = ktd202x_id
};
module_i2c_driver(ktd202x_driver);

--
2.44.0