All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Rajendra Nayak <rnayak@ti.com>
Cc: grant.likely@secretlab.ca, devicetree-discuss@lists.ozlabs.org,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	tony@atomide.com, lrg@ti.com, b-cousson@ti.com
Subject: Re: [RFC PATCH 11/11] DT: regulator: register regulators as platform devices
Date: Thu, 15 Sep 2011 15:21:54 +0100	[thread overview]
Message-ID: <20110915142153.GP7988@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1316085727-15023-12-git-send-email-rnayak@ti.com>

On Thu, Sep 15, 2011 at 04:52:07PM +0530, Rajendra Nayak wrote:
> of_regulator_register_devices() registers all regulators
> as platform devices. Use this to register all twl regulators
> from the twl driver probe.

Regulators can be devices of any type, not just platform devices.

>  drivers/mfd/twl-core.c       |    3 +++
>  drivers/of/of_regulator.c    |   30 ++++++++++++++++++++++++++++++
>  include/linux/of_regulator.h |    5 +++++

Again, in the regulator code not hidden away please.

> +/**
> + * of_regulator_register_devices - Register regulator devices to platform bus
> + * @np:	Parent device node with regulator child nodes
> + *
> + * Registers all the regulator and regulator-fixed nodes as platform devices
> + *
> + */
> +void of_regulator_register_devices(struct device_node *np)
> +{
> +	struct device_node *child;
> +	struct platform_device *dev;
> +
> +	for_each_child_of_node(np, child) {
> +		if (of_device_is_compatible(child, "regulator")
> +			|| of_device_is_compatible(child, "regulator-fixed")) {
> +			dev = of_device_alloc(child, NULL, NULL);
> +			if (!dev)
> +				return;
> +			dev->dev.bus = &platform_bus_type;
> +			if (of_device_add(dev) != 0) {
> +				platform_device_put(dev);
> +				return;
> +			}

I'm not entirely sure what this is for?  Surely we should be
instantiating the subdevices of the MFD in the same way we always have
done?

> +		}
> +	}
> +	return;
> +}
> +
> diff --git a/include/linux/of_regulator.h b/include/linux/of_regulator.h
> index 5fc7329..38cf7e3 100644
> --- a/include/linux/of_regulator.h
> +++ b/include/linux/of_regulator.h
> @@ -15,6 +15,7 @@ extern struct fixed_voltage_config
>  	*of_get_fixed_voltage_config(struct device_node *np);
>  extern struct device_node *of_get_regulator(struct device *dev,
>  	const char *id);
> +extern void of_regulator_register_devices(struct device_node *np);
>  #else
>  static inline struct regulator_init_data
>  	*of_get_regulator_init_data(struct device_node *np)
> @@ -31,6 +32,10 @@ static inline struct device_node *of_get_regulator(struct device *dev,
>  {
>  	return NULL;
>  }
> +static inline void of_regulator_register_devices(struct device_node *np)
> +{
> +	return NULL;
> +}
>  #endif /* CONFIG_OF_REGULATOR */
>  
>  #endif /* __LINUX_OF_REG_H */
> -- 
> 1.7.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 11/11] DT: regulator: register regulators as platform devices
Date: Thu, 15 Sep 2011 15:21:54 +0100	[thread overview]
Message-ID: <20110915142153.GP7988@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1316085727-15023-12-git-send-email-rnayak@ti.com>

On Thu, Sep 15, 2011 at 04:52:07PM +0530, Rajendra Nayak wrote:
> of_regulator_register_devices() registers all regulators
> as platform devices. Use this to register all twl regulators
> from the twl driver probe.

Regulators can be devices of any type, not just platform devices.

>  drivers/mfd/twl-core.c       |    3 +++
>  drivers/of/of_regulator.c    |   30 ++++++++++++++++++++++++++++++
>  include/linux/of_regulator.h |    5 +++++

Again, in the regulator code not hidden away please.

> +/**
> + * of_regulator_register_devices - Register regulator devices to platform bus
> + * @np:	Parent device node with regulator child nodes
> + *
> + * Registers all the regulator and regulator-fixed nodes as platform devices
> + *
> + */
> +void of_regulator_register_devices(struct device_node *np)
> +{
> +	struct device_node *child;
> +	struct platform_device *dev;
> +
> +	for_each_child_of_node(np, child) {
> +		if (of_device_is_compatible(child, "regulator")
> +			|| of_device_is_compatible(child, "regulator-fixed")) {
> +			dev = of_device_alloc(child, NULL, NULL);
> +			if (!dev)
> +				return;
> +			dev->dev.bus = &platform_bus_type;
> +			if (of_device_add(dev) != 0) {
> +				platform_device_put(dev);
> +				return;
> +			}

I'm not entirely sure what this is for?  Surely we should be
instantiating the subdevices of the MFD in the same way we always have
done?

> +		}
> +	}
> +	return;
> +}
> +
> diff --git a/include/linux/of_regulator.h b/include/linux/of_regulator.h
> index 5fc7329..38cf7e3 100644
> --- a/include/linux/of_regulator.h
> +++ b/include/linux/of_regulator.h
> @@ -15,6 +15,7 @@ extern struct fixed_voltage_config
>  	*of_get_fixed_voltage_config(struct device_node *np);
>  extern struct device_node *of_get_regulator(struct device *dev,
>  	const char *id);
> +extern void of_regulator_register_devices(struct device_node *np);
>  #else
>  static inline struct regulator_init_data
>  	*of_get_regulator_init_data(struct device_node *np)
> @@ -31,6 +32,10 @@ static inline struct device_node *of_get_regulator(struct device *dev,
>  {
>  	return NULL;
>  }
> +static inline void of_regulator_register_devices(struct device_node *np)
> +{
> +	return NULL;
> +}
>  #endif /* CONFIG_OF_REGULATOR */
>  
>  #endif /* __LINUX_OF_REG_H */
> -- 
> 1.7.1
> 

  reply	other threads:[~2011-09-15 14:21 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-15 11:21 [RFC PATCH 00/11] Device tree support for regulators Rajendra Nayak
2011-09-15 11:21 ` Rajendra Nayak
2011-09-15 11:21 ` [RFC PATCH 01/11] OMAP: TWL: Clean up mode and ops mask passed from board files Rajendra Nayak
2011-09-15 11:21   ` Rajendra Nayak
2011-09-15 11:21   ` [RFC PATCH 02/11] regulator: Fix error check in set_consumer_device_supply Rajendra Nayak
2011-09-15 11:21     ` Rajendra Nayak
2011-09-15 11:21     ` [RFC PATCH 03/11] DT: regulator: Helper routine to extract regulator_init_data Rajendra Nayak
2011-09-15 11:21       ` Rajendra Nayak
2011-09-15 11:22       ` [RFC PATCH 04/11] omap4: SDP: Pass regulator_init_data from DT Rajendra Nayak
2011-09-15 11:22         ` Rajendra Nayak
2011-09-15 11:22         ` [RFC PATCH 05/11] TWL: regulator: Make twl-regulator driver extract data " Rajendra Nayak
2011-09-15 11:22           ` Rajendra Nayak
2011-09-15 11:22           ` [RFC PATCH 06/11] DT: regulator: Helper routine to extract fixed_voltage_config Rajendra Nayak
2011-09-15 11:22             ` Rajendra Nayak
2011-09-15 11:22             ` [RFC PATCH 07/11] regulator: Make fixed regulator driver extract data from DT Rajendra Nayak
2011-09-15 11:22               ` Rajendra Nayak
2011-09-15 11:22               ` [RFC PATCH 08/11] omap4: panda: Pass fixed regulator " Rajendra Nayak
2011-09-15 11:22                 ` Rajendra Nayak
2011-09-15 11:22                 ` [RFC PATCH 09/11] DT: regulator: Helper to extract regulator node based on supply name Rajendra Nayak
2011-09-15 11:22                   ` Rajendra Nayak
2011-09-15 11:22                   ` [RFC PATCH 10/11] regulator: Implement consumer regulator mapping from device tree Rajendra Nayak
2011-09-15 11:22                     ` Rajendra Nayak
2011-09-15 11:22                     ` [RFC PATCH 11/11] DT: regulator: register regulators as platform devices Rajendra Nayak
2011-09-15 11:22                       ` Rajendra Nayak
2011-09-15 14:21                       ` Mark Brown [this message]
2011-09-15 14:21                         ` Mark Brown
2011-09-16  7:22                         ` Rajendra Nayak
2011-09-16  7:22                           ` Rajendra Nayak
2011-09-15 13:59                     ` [RFC PATCH 10/11] regulator: Implement consumer regulator mapping from device tree Mark Brown
2011-09-15 13:59                       ` Mark Brown
2011-09-16  7:21                       ` Rajendra Nayak
2011-09-16  7:21                         ` Rajendra Nayak
     [not found]                         ` <4E72F8E2.3020200-l0cyMroinI0@public.gmane.org>
2011-09-16  9:02                           ` Mark Brown
2011-09-16  9:02                             ` Mark Brown
2011-09-15 13:54                   ` [RFC PATCH 09/11] DT: regulator: Helper to extract regulator node based on supply name Mark Brown
2011-09-15 13:54                     ` Mark Brown
2011-09-15 22:50                     ` Grant Likely
2011-09-15 22:50                       ` Grant Likely
2011-09-15 23:03                       ` Mark Brown
2011-09-15 23:03                         ` Mark Brown
2011-09-16  7:19                         ` Rajendra Nayak
2011-09-16  7:19                           ` Rajendra Nayak
2011-09-15 13:51               ` [RFC PATCH 07/11] regulator: Make fixed regulator driver extract data from DT Mark Brown
2011-09-15 13:51                 ` Mark Brown
2011-09-15 13:50             ` [RFC PATCH 06/11] DT: regulator: Helper routine to extract fixed_voltage_config Mark Brown
2011-09-15 13:50               ` Mark Brown
2011-09-16  7:19               ` Rajendra Nayak
2011-09-16  7:19                 ` Rajendra Nayak
2011-09-16  9:01                 ` Mark Brown
2011-09-16  9:01                   ` Mark Brown
     [not found]                   ` <20110916090123.GE22062-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-09-16  9:26                     ` Rajendra Nayak
2011-09-16  9:26                       ` Rajendra Nayak
2011-09-15 22:19             ` Grant Likely
2011-09-15 22:19               ` Grant Likely
2011-09-15 22:18           ` [RFC PATCH 05/11] TWL: regulator: Make twl-regulator driver extract data from DT Grant Likely
2011-09-15 22:18             ` Grant Likely
2011-09-16  7:25             ` Rajendra Nayak
2011-09-16  7:25               ` Rajendra Nayak
2011-09-15 13:46         ` [RFC PATCH 04/11] omap4: SDP: Pass regulator_init_data " Mark Brown
2011-09-15 13:46           ` Mark Brown
2011-09-15 22:16           ` Grant Likely
2011-09-15 22:16             ` Grant Likely
2011-09-16  7:17           ` Rajendra Nayak
2011-09-16  7:17             ` Rajendra Nayak
2011-09-16  9:00             ` Mark Brown
2011-09-16  9:00               ` Mark Brown
2011-09-16  9:26               ` Rajendra Nayak
2011-09-16  9:26                 ` Rajendra Nayak
2011-09-15 22:15         ` Grant Likely
2011-09-15 22:15           ` Grant Likely
2011-09-15 13:44       ` [RFC PATCH 03/11] DT: regulator: Helper routine to extract regulator_init_data Mark Brown
2011-09-15 13:44         ` Mark Brown
2011-09-15 18:17         ` Rob Herring
2011-09-15 18:17           ` Rob Herring
2011-09-16  7:15         ` Rajendra Nayak
2011-09-16  7:15           ` Rajendra Nayak
2011-09-16  8:58           ` Mark Brown
2011-09-16  8:58             ` Mark Brown
2011-09-15 18:30       ` Rob Herring
2011-09-15 18:30         ` Rob Herring
2011-09-15 22:12       ` Grant Likely
2011-09-15 22:12         ` Grant Likely
2011-09-16  7:24         ` Rajendra Nayak
2011-09-16  7:24           ` Rajendra Nayak
2011-09-16  9:52           ` Mark Brown
2011-09-16  9:52             ` Mark Brown
2011-09-15 13:33     ` [RFC PATCH 02/11] regulator: Fix error check in set_consumer_device_supply Mark Brown
2011-09-15 13:33       ` Mark Brown
2011-09-16  7:12       ` Rajendra Nayak
2011-09-16  7:12         ` Rajendra Nayak
2011-09-15 13:32   ` [RFC PATCH 01/11] OMAP: TWL: Clean up mode and ops mask passed from board files Mark Brown
2011-09-15 13:32     ` Mark Brown
2011-09-16  7:11     ` Rajendra Nayak
2011-09-16  7:11       ` Rajendra Nayak
2011-09-16  8:57       ` Mark Brown
2011-09-16  8:57         ` Mark Brown
2011-09-16  9:25         ` Rajendra Nayak
2011-09-16  9:25           ` Rajendra Nayak

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=20110915142153.GP7988@opensource.wolfsonmicro.com \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=b-cousson@ti.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=rnayak@ti.com \
    --cc=tony@atomide.com \
    /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.