mbox series

[v5,0/4] drivers: clk: renesas: ignore all clocks which are assigned to non-Linux system

Message ID 87o7eom2jn.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
Headers show
Series drivers: clk: renesas: ignore all clocks which are assigned to non-Linux system | expand

Message

Kuninori Morimoto Dec. 18, 2023, 6:45 a.m. UTC
Hi Rob, Geert
Cc Aymeric, Goda-san

This is v5 of ignoring non Linux system assinged device.

Some board might use Linux and another OS in the same time. In such
case, current Linux will stop necessary module clock when booting
which is not used on Linux side, but is used on another OS side.

To avoid such situation, this patch-set try to find status = "reserved"
devices, and add CLK_IGNORE_UNUSED flag to its clock.

Table 2.4: Values for status property
https://github.com/devicetree-org/devicetree-specification/releases/download/v0.4/devicetree-specification-v0.4.pdf

"reserved"
	Indicates that the device is operational, but should not be
	used. Typically this is used for devices that are controlled
	by another software component, such as platform firmware.

[1/4] - [3/4] : expand existing function for "reserved"
[4/4]         : adjust to "reserved" device on Renesas CPG

v4 -> v5
	- typo fix s/assinged/assigned/
	- separate error check on cpg_mssr_reserved_init()
	- care it.node on cpg_mssr_reserved_init() error
	- care of_clk_del_provider()
	- rename label "reserve_err" -> "reserve_exit"

v3 -> v4
	- add Reviewed-by from Geert
	- Tidyup many English
	- use of_for_each_phandle() instead of while(!of_parse_phandle_with_args())
	- move cpg_mssr_reserved_init() into cpg_mssr_common_init()

v2 -> v3
	- "__of_get_next_status_child()" -> "of_get_next_status_child()"
	- add Reviewed-by from Rob

v1 -> v2
	- remove "default_ret" from __of_device_is_status()
	- add new parameter explanation on cpg_mssr_priv


Kuninori Morimoto (4):
  of: add __of_device_is_status() and makes more generic status check
  of: add of_get_next_status_child() and makes more generic of_get_next
  of: add for_each_reserved_child_of_node()
  drivers: clk: renesas: ignore all clocks which are assigned to non-Linux system

 drivers/clk/renesas/renesas-cpg-mssr.c | 111 +++++++++++++++++++++++--
 drivers/of/base.c                      | 111 ++++++++++++++++++-------
 include/linux/of.h                     |  11 +++
 3 files changed, 196 insertions(+), 37 deletions(-)