Re: [PATCH v1 01/10] of: Rename "poweroff-source" property to "system-power-controller"
From: Felipe Balbi
Date: Mon Oct 27 2014 - 12:40:07 EST
On Mon, Oct 27, 2014 at 04:26:46PM +0000, Romain Perier wrote:
> As discussed on the mailing list, it makes more sense to rename this property
> to "system-power-controller". Problem being that the word "source" usually tends
> to be used for inputs and that is out of control of the OS. The poweroff
> capability is an output which simply turns the system-power off. Also, this
> property might be used by drivers which power-off the system and power back on
> subsequent RTC alarms. This seems to suggest to remove "poweroff" from the
> property name and to choose "system-power-controller" as the more generic name.
> This patchs adds the required renaming changes and defines an helper function
> which is compatible with both properties, the old one prefixed by a vendor name
> and the new one without any prefix.
>
> Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx>
> ---
> include/linux/of.h | 27 +++++++++++++++++++++++----
> 1 file changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/of.h b/include/linux/of.h
> index 27b3ba1..c1ed2a5 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -867,14 +867,33 @@ static inline int of_changeset_update_property(struct of_changeset *ocs,
> extern int of_resolve_phandles(struct device_node *tree);
>
> /**
> - * of_system_has_poweroff_source - Tells if poweroff-source is found for device_node
> + * of_is_system_power_controller - Tells if the property for controlling system
> + * power is found in device_node.
> * @np: Pointer to the given device_node
> *
> * return true if present false otherwise
> */
> -static inline bool of_system_has_poweroff_source(const struct device_node *np)
> -{
> - return of_property_read_bool(np, "poweroff-source");
> +static inline bool of_is_system_power_controller(const struct device_node *np)
> +{
> + struct property *pp;
> + unsigned long flags;
> + char *sep;
> + bool found = false;
> +
> + raw_spin_lock_irqsave(&devtree_lock, flags);
> + for_each_property_of_node(np, pp) {
> + if (of_prop_cmp(pp->name, "system-power-controller") == 0) {
> + found = true;
> + break;
> + }
> + sep = strchr(pp->name, ',');
> + if (sep && sep - pp->name && of_prop_cmp(sep + 1, "system-power-controller") == 0) {
> + found = true;
> + break;
> + }
> + }
> + raw_spin_unlock_irqrestore(&devtree_lock, flags);
> + return found;
> }
>
> #endif /* _LINUX_OF_H */
I think you still need to support poweroff-source since it has been
released on a stable kernel. Perhaps add a warning message telling users
it's deprecated and asking them to switch over to
system-power-controller ? Still, simply removing it isn't very nice.
--
balbi
Attachment:
signature.asc
Description: Digital signature