Message ID | 20241231165103.800752-1-andre.przywara@arm.com |
---|---|
State | New |
Headers | show |
Series | Revert "mfd: axp20x: Allow multiple regulators" | expand |
On Tue, Dec 31, 2024 at 8:51 AM Andre Przywara <andre.przywara@arm.com> wrote: > > As Chris and Vasily reported, the attempt to support multiple AXP PMICs > in one system [1] breaks some of the battery and charging functionality > on devices with AXP PMICs. The reason is that the drivers now fail to get > the correct IIO channel for the ADC component, as the current code seems > to rely on the zero-based enumeration of the regulator devices. > A fix is possible, but not trivial, as it requires some rework in the AXP > MFD driver, which cannot be fully reviewed or tested in time for the > 6.13 release. > > So revert this patch for now, to avoid regressions on battery powered > devices. This patch was really only necessary for devices with two > PMICs, support for which is not mainline yet anyway, so we don't lose > any functionality. > > This reverts commit e37ec32188701efa01455b9be42a392adab06ce4. > > [1] https://lore.kernel.org/linux-sunxi/20241007001408.27249-4-andre.przywara@arm.com/ Doesn't it need a Fixes tag? Tested-by: Vasily Khoruzhick <anarsoul@gmail.com> > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > drivers/mfd/axp20x.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c > index 251465a656d09..5b8e88341a305 100644 > --- a/drivers/mfd/axp20x.c > +++ b/drivers/mfd/axp20x.c > @@ -1445,7 +1445,7 @@ int axp20x_device_probe(struct axp20x_dev *axp20x) > } > } > > - ret = mfd_add_devices(axp20x->dev, PLATFORM_DEVID_AUTO, axp20x->cells, > + ret = mfd_add_devices(axp20x->dev, -1, axp20x->cells, > axp20x->nr_cells, NULL, 0, NULL); > > if (ret) { > -- > 2.25.1 >
diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c index 251465a656d09..5b8e88341a305 100644 --- a/drivers/mfd/axp20x.c +++ b/drivers/mfd/axp20x.c @@ -1445,7 +1445,7 @@ int axp20x_device_probe(struct axp20x_dev *axp20x) } } - ret = mfd_add_devices(axp20x->dev, PLATFORM_DEVID_AUTO, axp20x->cells, + ret = mfd_add_devices(axp20x->dev, -1, axp20x->cells, axp20x->nr_cells, NULL, 0, NULL); if (ret) {
As Chris and Vasily reported, the attempt to support multiple AXP PMICs in one system [1] breaks some of the battery and charging functionality on devices with AXP PMICs. The reason is that the drivers now fail to get the correct IIO channel for the ADC component, as the current code seems to rely on the zero-based enumeration of the regulator devices. A fix is possible, but not trivial, as it requires some rework in the AXP MFD driver, which cannot be fully reviewed or tested in time for the 6.13 release. So revert this patch for now, to avoid regressions on battery powered devices. This patch was really only necessary for devices with two PMICs, support for which is not mainline yet anyway, so we don't lose any functionality. This reverts commit e37ec32188701efa01455b9be42a392adab06ce4. [1] https://lore.kernel.org/linux-sunxi/20241007001408.27249-4-andre.przywara@arm.com/ Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- drivers/mfd/axp20x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)