From: "Kim, Milo" <milo.kim-l0cyMroinI0@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH RESEND 16/16] regulator: add LM363X driver
Date: Tue, 10 Nov 2015 16:54:27 +0900 [thread overview]
Message-ID: <5641A2B3.20808@ti.com> (raw)
In-Reply-To: <20151104135911.GC1717-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
On 11/4/2015 10:59 PM, Mark Brown wrote:
> On Mon, Nov 02, 2015 at 02:24:35PM +0900, Milo Kim wrote:
>
> This looks mostly good, just a few fairly small things:
>
>> +lm363x_regulator_of_get_init_data(struct device *dev,
>> + struct lm363x_regulator *lm363x_regulator, int id)
>> +{
>> + struct device_node *np = dev->of_node;
>> + int count;
>> +
>> + count = of_regulator_match(dev, np, &lm363x_regulator_matches[id], 1);
>> + if (count <= 0)
>> + return ERR_PTR(-ENODEV);
>> +
>> + return lm363x_regulator_matches[id].init_data;
>> +}
>
> Don't open code DT matching, use of_match in the regulator_desc and let
> the core do it for you.
OK, good.
I've also found wrong pointer reference of regulator_cfg.dev. It should
be pdev->dev instead of pdev->dev->parent.
- cfg.dev = dev->parent;
+ cfg.dev = dev;
Old code affects wrong parsing from the DT. So, registered regulator has
different operation mask. In the end, regulators which has zero use
count never gonna be disabled in regulator_init_compelete().
>
>> + /*
>> + * Check LCM_EN1/2_GPIO is configured.
>> + * Those pins are used for enabling VPOS/VNEG LDOs.
>> + */
>> + if (id == LM3632_LDO_POS)
>> + gpio = of_get_named_gpio(np, "ti,lcm-en1-gpio", 0);
>> + else if (id == LM3632_LDO_NEG)
>> + gpio = of_get_named_gpio(np, "ti,lcm-en2-gpio", 0);
>
> This looks like it should be a switch statement.
Yep!
>
>> + rdev = regulator_register(&lm363x_regulator_desc[id], &cfg);
>> + if (IS_ERR(rdev)) {
>
> Use devm_regulator_register().
OK.
>
>> +static const struct of_device_id lm363x_regulator_of_match[] = {
>> + { .compatible = "ti,lm363x-regulator" },
>> + { }
>> +};
>> +MODULE_DEVICE_TABLE(of, lm363x_regulator_of_match);
>
> You shouldn't need a compatible string for a device like this, the MFD
> should just register a platform device based on the compatible string
> for the MFD.
>
Thanks for catching this.
Let me apply all your comments in the next patch.
Best regards,
Milo
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: "Kim, Milo" <milo.kim@ti.com>
To: Mark Brown <broonie@kernel.org>
Cc: <devicetree@vger.kernel.org>, <lee.jones@linaro.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RESEND 16/16] regulator: add LM363X driver
Date: Tue, 10 Nov 2015 16:54:27 +0900 [thread overview]
Message-ID: <5641A2B3.20808@ti.com> (raw)
In-Reply-To: <20151104135911.GC1717@sirena.org.uk>
On 11/4/2015 10:59 PM, Mark Brown wrote:
> On Mon, Nov 02, 2015 at 02:24:35PM +0900, Milo Kim wrote:
>
> This looks mostly good, just a few fairly small things:
>
>> +lm363x_regulator_of_get_init_data(struct device *dev,
>> + struct lm363x_regulator *lm363x_regulator, int id)
>> +{
>> + struct device_node *np = dev->of_node;
>> + int count;
>> +
>> + count = of_regulator_match(dev, np, &lm363x_regulator_matches[id], 1);
>> + if (count <= 0)
>> + return ERR_PTR(-ENODEV);
>> +
>> + return lm363x_regulator_matches[id].init_data;
>> +}
>
> Don't open code DT matching, use of_match in the regulator_desc and let
> the core do it for you.
OK, good.
I've also found wrong pointer reference of regulator_cfg.dev. It should
be pdev->dev instead of pdev->dev->parent.
- cfg.dev = dev->parent;
+ cfg.dev = dev;
Old code affects wrong parsing from the DT. So, registered regulator has
different operation mask. In the end, regulators which has zero use
count never gonna be disabled in regulator_init_compelete().
>
>> + /*
>> + * Check LCM_EN1/2_GPIO is configured.
>> + * Those pins are used for enabling VPOS/VNEG LDOs.
>> + */
>> + if (id == LM3632_LDO_POS)
>> + gpio = of_get_named_gpio(np, "ti,lcm-en1-gpio", 0);
>> + else if (id == LM3632_LDO_NEG)
>> + gpio = of_get_named_gpio(np, "ti,lcm-en2-gpio", 0);
>
> This looks like it should be a switch statement.
Yep!
>
>> + rdev = regulator_register(&lm363x_regulator_desc[id], &cfg);
>> + if (IS_ERR(rdev)) {
>
> Use devm_regulator_register().
OK.
>
>> +static const struct of_device_id lm363x_regulator_of_match[] = {
>> + { .compatible = "ti,lm363x-regulator" },
>> + { }
>> +};
>> +MODULE_DEVICE_TABLE(of, lm363x_regulator_of_match);
>
> You shouldn't need a compatible string for a device like this, the MFD
> should just register a platform device based on the compatible string
> for the MFD.
>
Thanks for catching this.
Let me apply all your comments in the next patch.
Best regards,
Milo
next prev parent reply other threads:[~2015-11-10 7:54 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-02 5:24 [PATCH RESEND 00/16] Support TI LMU devices Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 5:24 ` [PATCH RESEND 03/16] Documentation: dt-bindings: hwmon: add TI LMU HWMON binding information Milo Kim
2015-11-02 5:24 ` Milo Kim
[not found] ` <1446441875-1256-4-git-send-email-milo.kim-l0cyMroinI0@public.gmane.org>
2015-11-06 1:57 ` Rob Herring
2015-11-06 1:57 ` Rob Herring
2015-11-06 3:48 ` Kim, Milo
2015-11-06 3:48 ` Kim, Milo
[not found] ` <1446441875-1256-1-git-send-email-milo.kim-l0cyMroinI0@public.gmane.org>
2015-11-02 5:24 ` [PATCH RESEND 01/16] Documentation: dt-bindings: mfd: add TI LMU device " Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-06 2:00 ` Rob Herring
2015-11-11 9:49 ` Lee Jones
2015-11-12 0:05 ` Kim, Milo
2015-11-12 0:05 ` Kim, Milo
2015-11-02 5:24 ` [PATCH RESEND 02/16] Documentation: dt-bindings: backlight: add TI LMU backlight " Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 15:02 ` Rob Herring
2015-11-03 7:13 ` Kim, Milo
2015-11-03 15:32 ` Rob Herring
2015-11-02 5:24 ` [PATCH RESEND 04/16] Documentation: dt-bindings: leds: add LM3633 LED " Milo Kim
2015-11-02 5:24 ` Milo Kim
[not found] ` <1446441875-1256-5-git-send-email-milo.kim-l0cyMroinI0@public.gmane.org>
2015-11-03 16:15 ` Jacek Anaszewski
2015-11-03 16:15 ` Jacek Anaszewski
2015-11-10 7:01 ` Kim, Milo
2015-11-10 7:01 ` Kim, Milo
2015-11-02 5:24 ` [PATCH RESEND 05/16] Documentation: dt-bindings: regulator: add LM363x regulator " Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 5:24 ` [PATCH RESEND 08/16] backlight: ti-lmu-backlight: add LM3532 driver Milo Kim
2015-11-02 5:24 ` Milo Kim
[not found] ` <1446441875-1256-9-git-send-email-milo.kim-l0cyMroinI0@public.gmane.org>
2015-11-02 5:37 ` kbuild test robot
2015-11-02 5:37 ` kbuild test robot
[not found] ` <201511021324.3ZsaAzBu%fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-11-02 7:33 ` Kim, Milo
2015-11-02 7:33 ` Kim, Milo
2015-11-02 5:24 ` [PATCH RESEND 11/16] backlight: ti-lmu-backlight: add LM3633 driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 5:24 ` [PATCH RESEND 12/16] backlight: ti-lmu-backlight: add LM3695 driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 5:24 ` [PATCH RESEND 13/16] backlight: ti-lmu-backlight: add LM3697 driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 8:59 ` [PATCH RESEND 00/16] Support TI LMU devices Lee Jones
2015-11-02 8:59 ` Lee Jones
2015-11-03 6:52 ` Kim, Milo
2015-11-03 6:52 ` Kim, Milo
2015-11-03 8:33 ` Lee Jones
2015-11-03 9:08 ` Kim, Milo
2015-11-03 9:08 ` Kim, Milo
2015-11-25 8:51 ` Kim, Milo
2015-11-25 8:51 ` Kim, Milo
2015-11-25 9:05 ` Lee Jones
2015-11-02 5:24 ` [PATCH RESEND 06/16] mfd: add TI LMU driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-23 10:30 ` Lee Jones
2015-11-24 2:35 ` Kim, Milo
2015-11-24 2:35 ` Kim, Milo
2015-11-24 6:39 ` Kim, Milo
2015-11-24 6:39 ` Kim, Milo
2015-11-24 8:18 ` Lee Jones
2015-11-25 8:10 ` Kim, Milo
2015-11-25 8:10 ` Kim, Milo
[not found] ` <56556D01.9070804-l0cyMroinI0@public.gmane.org>
2015-11-25 8:15 ` Lee Jones
2015-11-25 8:15 ` Lee Jones
2015-11-02 5:24 ` [PATCH RESEND 07/16] backlight: add TI LMU backlight common driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 5:24 ` [PATCH RESEND 09/16] backlight: ti-lmu-backlight: add LM3631 driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 5:24 ` [PATCH RESEND 10/16] backlight: ti-lmu-backlight: add LM3632 driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 5:24 ` [PATCH RESEND 14/16] hwmon: add TI LMU hardware fault monitoring driver Milo Kim
2015-11-02 5:24 ` Milo Kim
[not found] ` <1446441875-1256-15-git-send-email-milo.kim-l0cyMroinI0@public.gmane.org>
2015-11-02 14:27 ` Guenter Roeck
2015-11-02 14:27 ` Guenter Roeck
2015-11-03 7:01 ` Kim, Milo
2015-11-03 7:01 ` Kim, Milo
2015-11-02 5:24 ` [PATCH RESEND 15/16] leds: add LM3633 driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-03 16:15 ` Jacek Anaszewski
[not found] ` <5638DD99.9070502-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-11-10 7:38 ` Kim, Milo
2015-11-10 7:38 ` Kim, Milo
2015-11-10 13:44 ` Jacek Anaszewski
[not found] ` <5641F4D3.7000800-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-11-11 2:16 ` Kim, Milo
2015-11-11 2:16 ` Kim, Milo
2015-11-12 9:04 ` Jacek Anaszewski
2015-11-20 9:22 ` Jacek Anaszewski
2015-11-22 23:40 ` Kim, Milo
2015-11-22 23:40 ` Kim, Milo
[not found] ` <56525262.60308-l0cyMroinI0@public.gmane.org>
2015-11-23 11:17 ` Jacek Anaszewski
2015-11-23 11:17 ` Jacek Anaszewski
2015-11-02 5:24 ` [PATCH RESEND 16/16] regulator: add LM363X driver Milo Kim
2015-11-02 5:24 ` Milo Kim
2015-11-02 12:26 ` Mark Brown
2015-11-03 6:59 ` Kim, Milo
2015-11-03 6:59 ` Kim, Milo
2015-11-04 13:59 ` Mark Brown
[not found] ` <20151104135911.GC1717-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-10 7:54 ` Kim, Milo [this message]
2015-11-10 7:54 ` Kim, Milo
2015-11-02 9:00 ` [PATCH RESEND 00/16] Support TI LMU devices Lee Jones
2015-11-03 6:56 ` Kim, Milo
2015-11-03 6:56 ` Kim, Milo
2015-11-03 8:35 ` Lee Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5641A2B3.20808@ti.com \
--to=milo.kim-l0cymroini0@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.