power: pmic: axp: Provide a variant ID in the driver data
authorSamuel Holland <samuel@sholland.org>
Sat, 21 Jan 2023 23:13:04 +0000 (17:13 -0600)
committerAndre Przywara <andre.przywara@arm.com>
Mon, 23 Jan 2023 01:18:31 +0000 (01:18 +0000)
Subordinate regulator drivers can use this enumerated ID instead of
matching the compatible string again.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
drivers/power/pmic/axp.c
include/axp_pmic.h

index 0f2b24a..e000599 100644 (file)
@@ -64,15 +64,15 @@ static int axp_pmic_bind(struct udevice *dev)
 }
 
 static const struct udevice_id axp_pmic_ids[] = {
-       { .compatible = "x-powers,axp152" },
-       { .compatible = "x-powers,axp202" },
-       { .compatible = "x-powers,axp209" },
-       { .compatible = "x-powers,axp221" },
-       { .compatible = "x-powers,axp223" },
-       { .compatible = "x-powers,axp803" },
-       { .compatible = "x-powers,axp806" },
-       { .compatible = "x-powers,axp809" },
-       { .compatible = "x-powers,axp813" },
+       { .compatible = "x-powers,axp152", .data = AXP152_ID },
+       { .compatible = "x-powers,axp202", .data = AXP202_ID },
+       { .compatible = "x-powers,axp209", .data = AXP209_ID },
+       { .compatible = "x-powers,axp221", .data = AXP221_ID },
+       { .compatible = "x-powers,axp223", .data = AXP223_ID },
+       { .compatible = "x-powers,axp803", .data = AXP803_ID },
+       { .compatible = "x-powers,axp806", .data = AXP806_ID },
+       { .compatible = "x-powers,axp809", .data = AXP809_ID },
+       { .compatible = "x-powers,axp813", .data = AXP813_ID },
        { }
 };
 
index 01ebba6..4ac6486 100644 (file)
 #define AXP_PMIC_SEC_DEVICE_ADDR       0x745
 #define AXP_PMIC_SEC_RUNTIME_ADDR      0x3a
 
+enum {
+       AXP152_ID,
+       AXP202_ID,
+       AXP209_ID,
+       AXP221_ID,
+       AXP223_ID,
+       AXP803_ID,
+       AXP806_ID,
+       AXP809_ID,
+       AXP813_ID,
+};
+
 int axp_set_dcdc1(unsigned int mvolt);
 int axp_set_dcdc2(unsigned int mvolt);
 int axp_set_dcdc3(unsigned int mvolt);