Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

power: supply: rt5033_battery: Fix device tree enumeration

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>

authored by

Stephan Gerhold and committed by
Sebastian Reichel
f3076cd8 4a8fd335

+9 -1
+2 -1
drivers/power/supply/Kconfig
··· 712 712 713 713 config BATTERY_RT5033 714 714 tristate "RT5033 fuel gauge support" 715 - depends on MFD_RT5033 715 + depends on I2C 716 + select REGMAP_I2C 716 717 help 717 718 This adds support for battery fuel gauge in Richtek RT5033 PMIC. 718 719 The fuelgauge calculates and determines the battery state of charge
+7
drivers/power/supply/rt5033_battery.c
··· 164 164 }; 165 165 MODULE_DEVICE_TABLE(i2c, rt5033_battery_id); 166 166 167 + static const struct of_device_id rt5033_battery_of_match[] = { 168 + { .compatible = "richtek,rt5033-battery", }, 169 + { } 170 + }; 171 + MODULE_DEVICE_TABLE(of, rt5033_battery_of_match); 172 + 167 173 static struct i2c_driver rt5033_battery_driver = { 168 174 .driver = { 169 175 .name = "rt5033-battery", 176 + .of_match_table = rt5033_battery_of_match, 170 177 }, 171 178 .probe = rt5033_battery_probe, 172 179 .remove = rt5033_battery_remove,