Re: [PATCH 3/3] regulator: lp873x: Add support for lp873x PMIC regulators

From: Keerthy
Date: Fri May 06 2016 - 00:43:44 EST


Hi Mark,


On Thursday 05 May 2016 09:08 PM, Mark Brown wrote:
On Thu, May 05, 2016 at 10:40:40AM +0530, Keerthy wrote:

+static const struct of_device_id of_lp873x_match_tbl[] = {
+ { .compatible = "ti,lp8733-regulators",},
+ { .compatible = "ti,lp8732-regulators",},
+ { .compatible = "ti,lp873x-regulators",},
+ {},
+};

There should be no need for compatible strings here, we already know
what device this is from the parent. The way we split drivers up for
Linux is something that's internal to Linux and shouldn't be in the
device tree. If we do have explicit compatible strings then they should
(as always) be specific to a device, no wildcards.

Thanks for the review.

I am using of_platform_populate function in the mfd driver to create platform devices for the child nodes, in my case regulators.

of_platform_populate in turn calls on to of_platform_bus_create which mandates compatible properties. It quietly skips device creation if there are no compatible properties.

When i enabled a debug print, i see this:
skipping /ocp/i2c@48070000/lp8732@61/regulators, no compatible prop
Hence i kept the compatible properties.

The driver supports two variants of LP873x family:

1) LP8732
2) LP8733

I will knock off the ti,lp873x-regulators compatible which is more generic/wildcard entry.

Let me know if this approach is fine.


Otherwise this looks sensible.