Re: [PATCH v9 2/6] mfd: mp2629: Add support for mps battery charger

From: saravanan sekar
Date: Mon Apr 27 2020 - 05:30:52 EST


Hi Lee,

On 27/04/20 10:51 am, Lee Jones wrote:
On Fri, 24 Apr 2020, saravanan sekar wrote:

On 24/04/20 12:53 pm, Lee Jones wrote:
On Fri, 24 Apr 2020, saravanan sekar wrote:

Hi Lee,

On 24/04/20 11:37 am, Lee Jones wrote:
On Fri, 24 Apr 2020, saravanan sekar wrote:

Hi Lee,

On 24/04/20 9:18 am, Lee Jones wrote:
On Wed, 15 Apr 2020, Saravanan Sekar wrote:

mp2629 is a highly-integrated switching-mode battery charge management
device for single-cell Li-ion or Li-polymer battery.

Add MFD core enables chip access for ADC driver for battery readings,
and a power supply battery-charger driver

Signed-off-by: Saravanan Sekar <sravanhome@xxxxxxxxx>
---
drivers/mfd/Kconfig | 9 ++++
drivers/mfd/Makefile | 2 +
drivers/mfd/mp2629.c | 86 ++++++++++++++++++++++++++++++++++++++
include/linux/mfd/mp2629.h | 19 +++++++++
4 files changed, 116 insertions(+)
create mode 100644 drivers/mfd/mp2629.c
create mode 100644 include/linux/mfd/mp2629.h
How is this driver registered?

Looks like it has device tree support. Is there another way?
Yes, only using device tree
Then how about using 'simple-mfd' and 'syscon'?

Then you can omit this driver completely.
The exception is to support for non device tree platform as well, but I have
tested only for ARM device tree platform.
Is that a reality though?

How else do you see this realistically being registered?

I understand that acpi related device table are not covered here, well I
don't have to platform to test so.
If you ask me to cover acpi related table, I can do but hard to test.
I don't know of any reasons why syscon can't be used by ACPI.

Please try to solve this issue using 'simple-mfd' and 'syscon'.
Well the simple-mfd and syscon topic recommended by you when Device tree alone is used.
I wounder still I receive review/improvements comments for this mfd patch and also another
to omit this driver using simple-mfd (rework the series).
Confused, not sure which is valid and will be accepted at the end.

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 3c547ed575e6..85be799795aa 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -434,6 +434,15 @@ config MFD_MC13XXX_I2C
help
Select this if your MC13xxx is connected via an I2C bus.
+config MFD_MP2629
+ tristate "Monolithic power system MP2629 ADC and Battery charger"
+ depends on I2C
+ select REGMAP_I2C
+ help
+ Select this option to enable support for monolithic power system
+ battery charger. This provides ADC, thermal, battery charger power
+ management functions on the systems.