power: supply: rt5033_battery: Fix device tree enumeration
authorStephan Gerhold <stephan@gerhold.net>
Mon, 17 May 2021 10:51:12 +0000 (12:51 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Fri, 4 Jun 2021 10:30:50 +0000 (12:30 +0200)
The fuel gauge in the RT5033 PMIC has its own I2C bus and interrupt
line. Therefore, it is not actually part of the RT5033 MFD and needs
its own of_match_table to probe properly.

Also, given that it's independent of the MFD, there is actually
no need to make the Kconfig depend on MFD_RT5033. Although the driver
uses the shared <linux/mfd/rt5033.h> header, there is no compile
or runtime dependency on the RT5033 MFD driver.

Cc: Beomho Seo <beomho.seo@samsung.com>
Cc: Chanwoo Choi <cw00.choi@samsung.com>
Fixes: b847dd96e659 ("power: rt5033_battery: Add RT5033 Fuel gauge device driver")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/Kconfig
drivers/power/supply/rt5033_battery.c

index b99d19f48769fa356b6940c0dbe1000095cb01ed..11f5368e810e0d350bf4508a6b545519806492a1 100644 (file)
@@ -712,7 +712,8 @@ config BATTERY_GOLDFISH
 
 config BATTERY_RT5033
        tristate "RT5033 fuel gauge support"
-       depends on MFD_RT5033
+       depends on I2C
+       select REGMAP_I2C
        help
          This adds support for battery fuel gauge in Richtek RT5033 PMIC.
          The fuelgauge calculates and determines the battery state of charge
index f330452341f02953189d3328c830c21160d68e95..9ad0afe83d1b785838b79a3eed293ecb613cb2be 100644 (file)
@@ -164,9 +164,16 @@ static const struct i2c_device_id rt5033_battery_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, rt5033_battery_id);
 
+static const struct of_device_id rt5033_battery_of_match[] = {
+       { .compatible = "richtek,rt5033-battery", },
+       { }
+};
+MODULE_DEVICE_TABLE(of, rt5033_battery_of_match);
+
 static struct i2c_driver rt5033_battery_driver = {
        .driver = {
                .name = "rt5033-battery",
+               .of_match_table = rt5033_battery_of_match,
        },
        .probe = rt5033_battery_probe,
        .remove = rt5033_battery_remove,