poweroff-source DT property renaming
Subsystems (5)
v3 cover poweroff-source DT property renaming
The goal of this serie is to rename the property "poweroff-source" to "system-power-controller". After discussions, it makes more sense to rename back to the old established property name. This patches serie reverts commit a4b4e0461ec5 ("of: Add standard property for poweroff capability").
Changes since v2:
- of_is_system_power_controller is inline in of.h and only supports backward compatibility with device drivers which used this helper (which is tps65910)
- Quashed all changes into a single patch (except documentation)
- Add a separated commit to fix typos and mispellings in documentation
Changes since v1:
- The first patch defines "of_is_system_power_controller" which is compatible with both "vendor,system-power-controller" and "system-power-controller" properties. Also, It keeps the old helper function of_system_has_poweroff_source for source compatibility until everything is renamed (in this way, bisections are not broken and change is made "atomically" between each commit)
Note: the property "poweroff-source" itself is not used in dts files yet. Before this patch tps65910 was broken due to missing backward compatibility with "vendor,system-power-controller". As the old helper uses the new one, it works again.
- act8865 and tps65910 are ported to the new helper function
- The last commit removes the olf helper which was only used for source compatibility
Romain Perier (2):
of: Rename "poweroff-source" property to "system-power-controller"
dt-bindings: Update documentation for "system-power-controller" and
fix misspellings
.../devicetree/bindings/power/power-controller.txt | 18 ++++++++++++++++++ Documentation/devicetree/bindings/power/poweroff.txt | 18 ------------------ .../bindings/regulator/act8865-regulator.txt | 4 ++-- drivers/mfd/tps65910.c | 2 +- drivers/regulator/act8865-regulator.c | 2 +- include/linux/of.h | 8 +++++--- 6 files changed, 27 insertions(+), 25 deletions(-) create mode 100644 Documentation/devicetree/bindings/power/power-controller.txt delete mode 100644 Documentation/devicetree/bindings/power/poweroff.txt
Signature · 1 line
1.9.1
PATCH v3 1/2 of: Rename "poweroff-source" property to "system-power-controller"
It reverts commit a4b4e0461ec5 ("of: Add standard property for poweroff capability"). As discussed on the mailing list, it makes more sense to rename back to the old established property name, without the vendor prefix. 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 which was only used by tps65910 and the new one without vendor-prefix.
---
.../bindings/power/{poweroff.txt => power-controller.txt} | 0
Documentation/devicetree/bindings/regulator/act8865-regulator.txt | 4 ++--
drivers/mfd/tps65910.c | 2 +-
drivers/regulator/act8865-regulator.c | 2 +-
include/linux/of.h | 8 +++++---
5 files changed, 9 insertions(+), 7 deletions(-)
rename Documentation/devicetree/bindings/power/{poweroff.txt => power-controller.txt} (100%)Documentation/devicetree/bindings/power/power-controller.txt renamed from Documentation/devicetree/bindings/power/poweroff.txt +0 -0
Documentation/devicetree/bindings/regulator/act8865-regulator.txt +2 -2
@@ -6,8 +6,8 @@ Required properties: - reg: I2C slave address Optional properties: -- poweroff-source: Telling whether or not this pmic is controlling - the system power. See Documentation/devicetree/bindings/power/poweroff.txt . +- system-power-controller: Telling whether or not this pmic is controlling + the system power. See Documentation/devicetree/bindings/power/power-controller.txt . Any standard regulator properties can be used to configure the single regulator.
drivers/mfd/tps65910.c +1 -1
@@ -423,7 +423,7 @@ static struct tps65910_board *tps65910_parse_dt(struct i2c_client *client, board_info->irq = client->irq; board_info->irq_base =-1 ; - board_info->pm_off =of_system_has_poweroff_source (np); + board_info->pm_off =of_is_system_power_controller (np);return board_info; }
drivers/regulator/act8865-regulator.c +1 -1
@@ -365,7 +365,7 @@ static int act8865_pmic_probe(struct i2c_client *client,return ret; } -if (of_system_has_poweroff_source (dev->of_node)) { +if (of_is_system_power_controller (dev->of_node)) {if (!pm_power_off) { act8865_i2c_client = client; act8865->off_reg = off_reg;
include/linux/of.h +5 -3
@@ -911,14 +911,16 @@ 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 system-power-controller is found for 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) +static inline bool of_is_system_power_controller (const struct device_node *np) { -return of_property_read_bool (np,"poweroff-source" ); +if (of_property_read_bool (np,"system-power-controller" )) +return true; +return of_property_read_bool (np,"ti,system-power-controller" ); }#endif /* _LINUX_OF_H */
Signature · 1 line
1.9.1
Re: [PATCH v3 1/2] of: Rename "poweroff-source" property to "system-power-controller"
Quoted 78 lines · Romain Perier
It reverts commit
a4b4e0461ec5("of: Add standard property for poweroff capability"). As discussed on the mailing list, it makes more sense to rename back to the old established property name, without the vendor prefix. 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 which was only used by tps65910 and the new one without vendor-prefix.Signed-off-by Romain Perier <[email protected]>--- .../bindings/power/{poweroff.txt => power-controller.txt} | 0 Documentation/devicetree/bindings/regulator/act8865-regulator.txt | 4 ++-- drivers/mfd/tps65910.c | 2 +- drivers/regulator/act8865-regulator.c | 2 +- include/linux/of.h | 8 +++++--- 5 files changed, 9 insertions(+), 7 deletions(-) rename Documentation/devicetree/bindings/power/{poweroff.txt => power-controller.txt} (100%)Documentation/devicetree/bindings/power/power-controller.txt renamed from Documentation/devicetree/bindings/power/poweroff.txt +0
-0Documentation/devicetree/bindings/regulator/act8865-regulator.txt +2
-2@@ -6,8 +6,8 @@ Required properties: - reg: I2C slave address Optional properties: -- poweroff-source: Telling whether or not this pmic is controlling - the system power. See Documentation/devicetree/bindings/power/poweroff.txt . +- system-power-controller: Telling whether or not this pmic is controlling + the system power. See Documentation/devicetree/bindings/power/power-controller.txt . Any standard regulator properties can be used to configure the single regulator.drivers/mfd/tps65910.c +1
-1@@ -423,7 +423,7 @@ static struct tps65910_board *tps65910_parse_dt(struct i2c_client *client, board_info->irq = client->irq; board_info->irq_base =-1 ; - board_info->pm_off =of_system_has_poweroff_source (np); + board_info->pm_off =of_is_system_power_controller (np);return board_info; }drivers/regulator/act8865-regulator.c +1
-1@@ -365,7 +365,7 @@ static int act8865_pmic_probe(struct i2c_client *client,return ret; } -if (of_system_has_poweroff_source (dev->of_node)) { +if (of_is_system_power_controller (dev->of_node)) {if (!pm_power_off) { act8865_i2c_client = client; act8865->off_reg = off_reg;include/linux/of.h +1
-1@@ -911,14 +911,16 @@ 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 system-power-controller is found for device_node * @np: Pointer to the given device_node
include/linux/of.h static inline int of_changeset_update_property(struct of_changeset *ocs, · line 923
Quoted 10 lines
include/linux/of.h +4
-2* * return true if present false otherwise */ -static inline bool of_system_has_poweroff_source (const struct device_node *np) +static inline bool of_is_system_power_controller (const struct device_node *np) { -return of_property_read_bool (np,"poweroff-source" ); +if (of_property_read_bool (np,"system-power-controller" )) +return true; +return of_property_read_bool (np,"ti,system-power-controller" );
So, to be a little pendantic, the 'ti,' prefix is basically just for backwards compatibility with the old binding, and that old binding is only used on palmas.c, tps65*.c and twl4030-power.c, correct?
We don't actually want a ti comparison in the generic code. Normally what you'd do here is have the fixup in the ti driver code, possibly with a ti specific helper for those 4 files.
I'm not going to nak this patch and I know you need to get things cleaned up, but the static inline really should be reduced back to just checking only for "system-power-controller". The current mainline code does the right thing anyway, and it is a *tiny* amount of extra code in 4 drivers file.
g.
Quoted 6 lines
include/linux/of.h +0
-0}#endif /* _LINUX_OF_H */ Signature · 1 line
1.9.1
Re: [PATCH v3 1/2] of: Rename "poweroff-source" property to "system-power-controller"
2014-11-11 16:01 GMT+01:00 Grant Likely <[email protected]>:
Quoted 3 lines
So, to be a little pendantic, the 'ti,' prefix is basically just for backwards compatibility with the old binding, and that old binding is only used on
palmas.c, tps65*.c andtwl4030-power.c, correct?
No, the backward compatibility here is only useful for drivers which used "ti,system-power-controller" in the past and recently switched to the new property through the standard helper function. As most of the dts were not updated to use the new property, previous patches broke compatibility with "ti,system-power-controller" (this compat would be reverted with this serie). Only one driver has this problem, it is tps65910.
So, What you propose is that I should handle the old property directly from tps65910, and keep the standard helper generic right ?
Romain
Quoted 21 lines
We don't actually want a ti comparison in the generic code. Normally what you'd do here is have the fixup in the ti driver code, possibly with a ti specific helper for those 4 files.
I'm not going to nak this patch and I know you need to get things cleaned up, but the static inline really should be reduced back to just checking only for "system-power-controller". The current mainline code does the right thing anyway, and it is a *tiny* amount of extra code in 4 drivers file.
g.
Quoted 6 lines
}
#endif /*
_LINUX_OF_H*/
--
1.9.1
Re: [PATCH v3 1/2] of: Rename "poweroff-source" property to "system-power-controller"
Quoted 13 lines · Romain Perier
2014-11-11 16:01 GMT+01:00 Grant Likely <[email protected]>:
Quoted 3 lines
So, to be a little pendantic, the 'ti,' prefix is basically just for backwards compatibility with the old binding, and that old binding is only used on
palmas.c, tps65*.c andtwl4030-power.c, correct?No, the backward compatibility here is only useful for drivers which used "ti,system-power-controller" in the past and recently switched to the new property through the standard helper function. As most of the dts were not updated to use the new property, previous patches broke compatibility with "ti,system-power-controller" (this compat would be reverted with this serie). Only one driver has this problem, it is tps65910.
Quoted 2 lines
So, What you propose is that I should handle the old property directly from tps65910, and keep the standard helper generic right ?
yes as it is a quirk for only that driver.
g.
PATCH v3 2/2 dt-bindings: Update documentation for "system-power-controller" and fix misspellings
In reply to Romain Perier--- .../devicetree/bindings/power/power-controller.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
Documentation/devicetree/bindings/power/power-controller.txt +10 -10
@@ -1,18 +1,18 @@ -* Generic Poweroff capability +* Generic system power control capability -Power-management integrated circuits or miscellaneous harware components are -sometimes able to control the system power. The device driver associated to these -components might needs to define poweroff capability, which tells to the kernel -how to switch off the system. The corresponding driver must have the standard -property "poweroff-source" in its device node. This property marks the device as -able to shutdown the system. In order to test if this property is found -programmatically, use the helper function "of_system_has_poweroff_source" from -of.h . +Power-management integrated circuits or miscellaneous hardware components are +sometimes able to control the system power. The device driver associated with these +components might need to define this capability, which tells the kernel that +it can be used to switch off the system. The corresponding device must have the +standard property "system-power-controller" in its device node. This property +marks the device as able to control the system power. In order to test if this +property is found programmatically, use the helper function +"of_is_system_power_controller" from of.h . Example: act8846: act8846@5 { compatible = "active-semi,act8846"; status = "okay"; - poweroff-source; + system-power-controller; }
Signature · 1 line
1.9.1