* [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent()
@ 2022-06-28 13:22 Liang He
2022-06-30 8:39 ` Claudiu.Beznea
0 siblings, 1 reply; 7+ messages in thread
From: Liang He @ 2022-06-28 13:22 UTC (permalink / raw)
To: mturquette, sboyd, nicolas.ferre, alexandre.belloni,
claudiu.beznea, linux-clk, windhl
We need to hold the reference returned by of_get_parent() and use
it to call of_node_put() for refcount balance.
Signed-off-by: Liang He <windhl@126.com>
---
changelog:
v2: use 'parent_np' to replace 'tp' and use xx:yy:zz title format
v1: hold references returned by of_get_parent() and put them
drivers/clk/at91/dt-compat.c | 112 +++++++++++++++++++++++++++--------
1 file changed, 86 insertions(+), 26 deletions(-)
diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c
index 8ca8bcacf66d..0d36b4e7fd6e 100644
--- a/drivers/clk/at91/dt-compat.c
+++ b/drivers/clk/at91/dt-compat.c
@@ -33,8 +33,11 @@ static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np)
const char *name = np->name;
const char *parent_name;
struct regmap *regmap;
+ struct device_node *parent_np;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -56,8 +59,11 @@ static void __init of_sama5d2_clk_audio_pll_pad_setup(struct device_node *np)
const char *name = np->name;
const char *parent_name;
struct regmap *regmap;
+ struct device_node *parent_np;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -79,8 +85,11 @@ static void __init of_sama5d2_clk_audio_pll_pmc_setup(struct device_node *np)
const char *name = np->name;
const char *parent_name;
struct regmap *regmap;
+ struct device_node *parent_np;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -120,7 +129,7 @@ static void __init of_sama5d2_clk_generated_setup(struct device_node *np)
struct clk_hw *hw;
unsigned int num_parents;
const char *parent_names[GENERATED_SOURCE_MAX];
- struct device_node *gcknp;
+ struct device_node *gcknp, *parent_np;
struct clk_range range = CLK_RANGE(0, 0);
struct regmap *regmap;
@@ -134,7 +143,9 @@ static void __init of_sama5d2_clk_generated_setup(struct device_node *np)
if (!num || num > PERIPHERAL_MAX)
return;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -180,8 +191,11 @@ static void __init of_sama5d4_clk_h32mx_setup(struct device_node *np)
const char *name = np->name;
const char *parent_name;
struct regmap *regmap;
+ struct device_node *parent_np;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -243,12 +257,15 @@ static void __init of_at91rm9200_clk_main_osc_setup(struct device_node *np)
const char *parent_name;
struct regmap *regmap;
bool bypass;
+ struct device_node *parent_np;
of_property_read_string(np, "clock-output-names", &name);
bypass = of_property_read_bool(np, "atmel,osc-bypass");
parent_name = of_clk_get_parent_name(np, 0);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -268,12 +285,15 @@ static void __init of_at91sam9x5_clk_main_rc_osc_setup(struct device_node *np)
u32 accuracy = 0;
const char *name = np->name;
struct regmap *regmap;
+ struct device_node *parent_np;
of_property_read_string(np, "clock-output-names", &name);
of_property_read_u32(np, "clock-frequency", &frequency);
of_property_read_u32(np, "clock-accuracy", &accuracy);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -292,11 +312,14 @@ static void __init of_at91rm9200_clk_main_setup(struct device_node *np)
const char *parent_name;
const char *name = np->name;
struct regmap *regmap;
+ struct device_node *parent_np;
parent_name = of_clk_get_parent_name(np, 0);
of_property_read_string(np, "clock-output-names", &name);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -316,13 +339,16 @@ static void __init of_at91sam9x5_clk_main_setup(struct device_node *np)
unsigned int num_parents;
const char *name = np->name;
struct regmap *regmap;
+ struct device_node *parent_np;
num_parents = of_clk_get_parent_count(np);
if (num_parents == 0 || num_parents > 2)
return;
of_clk_parent_fill(np, parent_names, num_parents);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -373,6 +399,7 @@ of_at91_clk_master_setup(struct device_node *np,
const char *name = np->name;
struct clk_master_characteristics *characteristics;
struct regmap *regmap;
+ struct device_node *parent_np;
num_parents = of_clk_get_parent_count(np);
if (num_parents == 0 || num_parents > MASTER_SOURCE_MAX)
@@ -386,7 +413,9 @@ of_at91_clk_master_setup(struct device_node *np,
if (!characteristics)
return;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -433,6 +462,7 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type)
const char *name;
struct device_node *periphclknp;
struct regmap *regmap;
+ struct device_node *parent_np;
parent_name = of_clk_get_parent_name(np, 0);
if (!parent_name)
@@ -442,7 +472,9 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type)
if (!num || num > PERIPHERAL_MAX)
return;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -601,6 +633,7 @@ of_at91_clk_pll_setup(struct device_node *np,
struct regmap *regmap;
const char *parent_name;
const char *name = np->name;
+ struct device_node *parent_np;
struct clk_pll_characteristics *characteristics;
if (of_property_read_u32(np, "reg", &id))
@@ -610,7 +643,9 @@ of_at91_clk_pll_setup(struct device_node *np,
of_property_read_string(np, "clock-output-names", &name);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -665,12 +700,15 @@ of_at91sam9x5_clk_plldiv_setup(struct device_node *np)
const char *parent_name;
const char *name = np->name;
struct regmap *regmap;
+ struct device_node *parent_np;
parent_name = of_clk_get_parent_name(np, 0);
of_property_read_string(np, "clock-output-names", &name);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -694,8 +732,8 @@ of_at91_clk_prog_setup(struct device_node *np,
unsigned int num_parents;
const char *parent_names[PROG_SOURCE_MAX];
const char *name;
- struct device_node *progclknp;
struct regmap *regmap;
+ struct device_node *progclknp, *parent_np;
num_parents = of_clk_get_parent_count(np);
if (num_parents == 0 || num_parents > PROG_SOURCE_MAX)
@@ -707,7 +745,9 @@ of_at91_clk_prog_setup(struct device_node *np,
if (!num || num > (PROG_ID_MAX + 1))
return;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -756,13 +796,16 @@ static void __init of_at91sam9260_clk_slow_setup(struct device_node *np)
unsigned int num_parents;
const char *name = np->name;
struct regmap *regmap;
+ struct device_node *parent_np;
num_parents = of_clk_get_parent_count(np);
if (num_parents != 2)
return;
of_clk_parent_fill(np, parent_names, num_parents);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -788,6 +831,7 @@ static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np)
const char *parent_names[SMD_SOURCE_MAX];
const char *name = np->name;
struct regmap *regmap;
+ struct device_node *parent_np;
num_parents = of_clk_get_parent_count(np);
if (num_parents == 0 || num_parents > SMD_SOURCE_MAX)
@@ -797,7 +841,9 @@ static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np)
of_property_read_string(np, "clock-output-names", &name);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -818,15 +864,17 @@ static void __init of_at91rm9200_clk_sys_setup(struct device_node *np)
u32 id;
struct clk_hw *hw;
const char *name;
- struct device_node *sysclknp;
const char *parent_name;
struct regmap *regmap;
+ struct device_node *sysclknp, *parent_np;
num = of_get_child_count(np);
if (num > (SYSTEM_MAX_ID + 1))
return;
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -859,6 +907,7 @@ static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np)
const char *parent_names[USB_SOURCE_MAX];
const char *name = np->name;
struct regmap *regmap;
+ struct device_node *parent_np;
num_parents = of_clk_get_parent_count(np);
if (num_parents == 0 || num_parents > USB_SOURCE_MAX)
@@ -868,7 +917,9 @@ static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np)
of_property_read_string(np, "clock-output-names", &name);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -885,9 +936,10 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb",
static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
{
struct clk_hw *hw;
+ struct regmap *regmap;
const char *parent_name;
const char *name = np->name;
- struct regmap *regmap;
+ struct device_node *parent_np;
parent_name = of_clk_get_parent_name(np, 0);
if (!parent_name)
@@ -895,7 +947,9 @@ static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
of_property_read_string(np, "clock-output-names", &name);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
@@ -911,10 +965,11 @@ CLK_OF_DECLARE(at91sam9n12_clk_usb, "atmel,at91sam9n12-clk-usb",
static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
{
struct clk_hw *hw;
+ struct regmap *regmap;
const char *parent_name;
const char *name = np->name;
+ struct device_node *parent_np;
u32 divisors[4] = {0, 0, 0, 0};
- struct regmap *regmap;
parent_name = of_clk_get_parent_name(np, 0);
if (!parent_name)
@@ -926,7 +981,9 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
of_property_read_string(np, "clock-output-names", &name);
- regmap = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap))
return;
hw = at91rm9200_clk_register_usb(regmap, name, parent_name, divisors);
@@ -945,13 +1002,16 @@ static void __init of_at91sam9x5_clk_utmi_setup(struct device_node *np)
struct clk_hw *hw;
const char *parent_name;
const char *name = np->name;
+ struct device_node *parent_np;
struct regmap *regmap_pmc, *regmap_sfr;
parent_name = of_clk_get_parent_name(np, 0);
of_property_read_string(np, "clock-output-names", &name);
- regmap_pmc = syscon_node_to_regmap(of_get_parent(np));
+ parent_np = of_get_parent(np);
+ regmap_pmc = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(regmap_pmc))
return;
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent()
2022-06-28 13:22 [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent() Liang He
@ 2022-06-30 8:39 ` Claudiu.Beznea
2022-06-30 8:59 ` Liang He
0 siblings, 1 reply; 7+ messages in thread
From: Claudiu.Beznea @ 2022-06-30 8:39 UTC (permalink / raw)
To: windhl, mturquette, sboyd, Nicolas.Ferre, alexandre.belloni, linux-clk
On 28.06.2022 16:22, Liang He wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> We need to hold the reference returned by of_get_parent() and use
> it to call of_node_put() for refcount balance.
>
> Signed-off-by: Liang He <windhl@126.com>
> ---
> changelog:
>
> v2: use 'parent_np' to replace 'tp' and use xx:yy:zz title format
> v1: hold references returned by of_get_parent() and put them
>
> drivers/clk/at91/dt-compat.c | 112 +++++++++++++++++++++++++++--------
> 1 file changed, 86 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c
> index 8ca8bcacf66d..0d36b4e7fd6e 100644
> --- a/drivers/clk/at91/dt-compat.c
> +++ b/drivers/clk/at91/dt-compat.c
> @@ -33,8 +33,11 @@ static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np)
> const char *name = np->name;
> const char *parent_name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -56,8 +59,11 @@ static void __init of_sama5d2_clk_audio_pll_pad_setup(struct device_node *np)
> const char *name = np->name;
> const char *parent_name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -79,8 +85,11 @@ static void __init of_sama5d2_clk_audio_pll_pmc_setup(struct device_node *np)
> const char *name = np->name;
> const char *parent_name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -120,7 +129,7 @@ static void __init of_sama5d2_clk_generated_setup(struct device_node *np)
> struct clk_hw *hw;
> unsigned int num_parents;
> const char *parent_names[GENERATED_SOURCE_MAX];
> - struct device_node *gcknp;
> + struct device_node *gcknp, *parent_np;
> struct clk_range range = CLK_RANGE(0, 0);
> struct regmap *regmap;
>
> @@ -134,7 +143,9 @@ static void __init of_sama5d2_clk_generated_setup(struct device_node *np)
> if (!num || num > PERIPHERAL_MAX)
> return;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -180,8 +191,11 @@ static void __init of_sama5d4_clk_h32mx_setup(struct device_node *np)
> const char *name = np->name;
> const char *parent_name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -243,12 +257,15 @@ static void __init of_at91rm9200_clk_main_osc_setup(struct device_node *np)
> const char *parent_name;
> struct regmap *regmap;
> bool bypass;
> + struct device_node *parent_np;
>
> of_property_read_string(np, "clock-output-names", &name);
> bypass = of_property_read_bool(np, "atmel,osc-bypass");
> parent_name = of_clk_get_parent_name(np, 0);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -268,12 +285,15 @@ static void __init of_at91sam9x5_clk_main_rc_osc_setup(struct device_node *np)
> u32 accuracy = 0;
> const char *name = np->name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> of_property_read_string(np, "clock-output-names", &name);
> of_property_read_u32(np, "clock-frequency", &frequency);
> of_property_read_u32(np, "clock-accuracy", &accuracy);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -292,11 +312,14 @@ static void __init of_at91rm9200_clk_main_setup(struct device_node *np)
> const char *parent_name;
> const char *name = np->name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> parent_name = of_clk_get_parent_name(np, 0);
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -316,13 +339,16 @@ static void __init of_at91sam9x5_clk_main_setup(struct device_node *np)
> unsigned int num_parents;
> const char *name = np->name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> num_parents = of_clk_get_parent_count(np);
> if (num_parents == 0 || num_parents > 2)
> return;
>
> of_clk_parent_fill(np, parent_names, num_parents);
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -373,6 +399,7 @@ of_at91_clk_master_setup(struct device_node *np,
> const char *name = np->name;
> struct clk_master_characteristics *characteristics;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> num_parents = of_clk_get_parent_count(np);
> if (num_parents == 0 || num_parents > MASTER_SOURCE_MAX)
> @@ -386,7 +413,9 @@ of_at91_clk_master_setup(struct device_node *np,
> if (!characteristics)
> return;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -433,6 +462,7 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type)
> const char *name;
> struct device_node *periphclknp;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> parent_name = of_clk_get_parent_name(np, 0);
> if (!parent_name)
> @@ -442,7 +472,9 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type)
> if (!num || num > PERIPHERAL_MAX)
> return;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -601,6 +633,7 @@ of_at91_clk_pll_setup(struct device_node *np,
> struct regmap *regmap;
> const char *parent_name;
> const char *name = np->name;
> + struct device_node *parent_np;
> struct clk_pll_characteristics *characteristics;
>
> if (of_property_read_u32(np, "reg", &id))
> @@ -610,7 +643,9 @@ of_at91_clk_pll_setup(struct device_node *np,
>
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -665,12 +700,15 @@ of_at91sam9x5_clk_plldiv_setup(struct device_node *np)
> const char *parent_name;
> const char *name = np->name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> parent_name = of_clk_get_parent_name(np, 0);
>
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -694,8 +732,8 @@ of_at91_clk_prog_setup(struct device_node *np,
> unsigned int num_parents;
> const char *parent_names[PROG_SOURCE_MAX];
> const char *name;
> - struct device_node *progclknp;
> struct regmap *regmap;
> + struct device_node *progclknp, *parent_np;
Is there a reason you chosed to move this on a new line?
>
> num_parents = of_clk_get_parent_count(np);
> if (num_parents == 0 || num_parents > PROG_SOURCE_MAX)
> @@ -707,7 +745,9 @@ of_at91_clk_prog_setup(struct device_node *np,
> if (!num || num > (PROG_ID_MAX + 1))
> return;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -756,13 +796,16 @@ static void __init of_at91sam9260_clk_slow_setup(struct device_node *np)
> unsigned int num_parents;
> const char *name = np->name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> num_parents = of_clk_get_parent_count(np);
> if (num_parents != 2)
> return;
>
> of_clk_parent_fill(np, parent_names, num_parents);
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -788,6 +831,7 @@ static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np)
> const char *parent_names[SMD_SOURCE_MAX];
> const char *name = np->name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> num_parents = of_clk_get_parent_count(np);
> if (num_parents == 0 || num_parents > SMD_SOURCE_MAX)
> @@ -797,7 +841,9 @@ static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np)
>
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -818,15 +864,17 @@ static void __init of_at91rm9200_clk_sys_setup(struct device_node *np)
> u32 id;
> struct clk_hw *hw;
> const char *name;
> - struct device_node *sysclknp;
> const char *parent_name;
> struct regmap *regmap;
> + struct device_node *sysclknp, *parent_np;
Same here.
>
> num = of_get_child_count(np);
> if (num > (SYSTEM_MAX_ID + 1))
> return;
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -859,6 +907,7 @@ static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np)
> const char *parent_names[USB_SOURCE_MAX];
> const char *name = np->name;
> struct regmap *regmap;
> + struct device_node *parent_np;
>
> num_parents = of_clk_get_parent_count(np);
> if (num_parents == 0 || num_parents > USB_SOURCE_MAX)
> @@ -868,7 +917,9 @@ static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np)
>
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -885,9 +936,10 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb",
> static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
> {
> struct clk_hw *hw;
> + struct regmap *regmap;
> const char *parent_name;
> const char *name = np->name;
> - struct regmap *regmap;
> + struct device_node *parent_np;
You moved around the declarations.
>
> parent_name = of_clk_get_parent_name(np, 0);
> if (!parent_name)
> @@ -895,7 +947,9 @@ static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
>
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
>
> @@ -911,10 +965,11 @@ CLK_OF_DECLARE(at91sam9n12_clk_usb, "atmel,at91sam9n12-clk-usb",
> static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
> {
> struct clk_hw *hw;
> + struct regmap *regmap;
> const char *parent_name;
> const char *name = np->name;
> + struct device_node *parent_np;
> u32 divisors[4] = {0, 0, 0, 0};
> - struct regmap *regmap;
Same here.
>
> parent_name = of_clk_get_parent_name(np, 0);
> if (!parent_name)
> @@ -926,7 +981,9 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
>
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap))
> return;
> hw = at91rm9200_clk_register_usb(regmap, name, parent_name, divisors);
> @@ -945,13 +1002,16 @@ static void __init of_at91sam9x5_clk_utmi_setup(struct device_node *np)
> struct clk_hw *hw;
> const char *parent_name;
> const char *name = np->name;
> + struct device_node *parent_np;
> struct regmap *regmap_pmc, *regmap_sfr;
>
> parent_name = of_clk_get_parent_name(np, 0);
>
> of_property_read_string(np, "clock-output-names", &name);
>
> - regmap_pmc = syscon_node_to_regmap(of_get_parent(np));
> + parent_np = of_get_parent(np);
> + regmap_pmc = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> if (IS_ERR(regmap_pmc))
> return;
>
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re:Re: [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent()
2022-06-30 8:39 ` Claudiu.Beznea
@ 2022-06-30 8:59 ` Liang He
2022-06-30 10:20 ` Claudiu.Beznea
0 siblings, 1 reply; 7+ messages in thread
From: Liang He @ 2022-06-30 8:59 UTC (permalink / raw)
To: Claudiu.Beznea
Cc: mturquette, sboyd, Nicolas.Ferre, alexandre.belloni, linux-clk
Hi, Claudiu.Beznea,
At 2022-06-30 16:39:26, Claudiu.Beznea@microchip.com wrote:
>On 28.06.2022 16:22, Liang He wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>> [...]
>> @@ -694,8 +732,8 @@ of_at91_clk_prog_setup(struct device_node *np,
>> unsigned int num_parents;
>> const char *parent_names[PROG_SOURCE_MAX];
>> const char *name;
>> - struct device_node *progclknp;
>> struct regmap *regmap;
>> + struct device_node *progclknp, *parent_np;
>
>Is there a reason you chosed to move this on a new line?
>
In fact, I just want to keep long declaration on bottom.
However, this modification maybe useless.
>> [...]
>> struct clk_hw *hw;
>> const char *name;
>> - struct device_node *sysclknp;
>> const char *parent_name;
>> struct regmap *regmap;
>> + struct device_node *sysclknp, *parent_np;
>
>Same here.
>
Same reason as above.
>>
>> num = of_get_child_count(np);
>> if (num > (SYSTEM_MAX_ID + 1))
>> @@ -885,9 +936,10 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb",
>> static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
>> {
>> struct clk_hw *hw;
>> + struct regmap *regmap;
>> const char *parent_name;
>> const char *name = np->name;
>> - struct regmap *regmap;
>> + struct device_node *parent_np;
>
>You moved around the declarations.
>
Sorry, I have been told to keep reverse christmas tree.
So this look like a normal christmas tree?
>> >> parent_name = of_clk_get_parent_name(np, 0);
[...]
>> + struct regmap *regmap;
>> const char *parent_name;
>> const char *name = np->name;
>> + struct device_node *parent_np;
>> u32 divisors[4] = {0, 0, 0, 0};
>> - struct regmap *regmap;
>
>Same here.
>
Same reason as above.
>>
>> parent_name = of_clk_get_parent_name(np, 0);
>> if (!parent_name)
>> @@ -926,7 +981,9 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
>>
If these declaration chages are not needed, I can resend a new patch keeping the original order of declarations.
Thanks.
Liang
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent()
2022-06-30 8:59 ` Liang He
@ 2022-06-30 10:20 ` Claudiu.Beznea
2022-06-30 12:58 ` Liang He
0 siblings, 1 reply; 7+ messages in thread
From: Claudiu.Beznea @ 2022-06-30 10:20 UTC (permalink / raw)
To: windhl; +Cc: mturquette, sboyd, Nicolas.Ferre, alexandre.belloni, linux-clk
On 30.06.2022 11:59, Liang He wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Hi, Claudiu.Beznea,
>
> At 2022-06-30 16:39:26, Claudiu.Beznea@microchip.com wrote:
>> On 28.06.2022 16:22, Liang He wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>> [...]
>>> @@ -694,8 +732,8 @@ of_at91_clk_prog_setup(struct device_node *np,
>>> unsigned int num_parents;
>>> const char *parent_names[PROG_SOURCE_MAX];
>>> const char *name;
>>> - struct device_node *progclknp;
>>> struct regmap *regmap;
>>> + struct device_node *progclknp, *parent_np;
>>
>> Is there a reason you chosed to move this on a new line?
>
>>
>
> In fact, I just want to keep long declaration on bottom.
>
> However, this modification maybe useless.
>
>
>>> [...]
>>> struct clk_hw *hw;
>>> const char *name;
>>> - struct device_node *sysclknp;
>>> const char *parent_name;
>>> struct regmap *regmap;
>>> + struct device_node *sysclknp, *parent_np;
>>
>> Same here.
>
>>
>
>
> Same reason as above.
>
>>>
>>> num = of_get_child_count(np);
>>> if (num > (SYSTEM_MAX_ID + 1))
>
>>> @@ -885,9 +936,10 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb",
>>> static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
>>> {
>>> struct clk_hw *hw;
>>> + struct regmap *regmap;
>>> const char *parent_name;
>>> const char *name = np->name;
>>> - struct regmap *regmap;
>>> + struct device_node *parent_np;
>>
>> You moved around the declarations.
>
>>
>
>
> Sorry, I have been told to keep reverse christmas tree.
I thought this rule is only for networking subsystem.
>
>
> So this look like a normal christmas tree?
>
>
>>>>> parent_name = of_clk_get_parent_name(np, 0);
> [...]
>>> + struct regmap *regmap;
>>> const char *parent_name;
>>> const char *name = np->name;
>>> + struct device_node *parent_np;
>>> u32 divisors[4] = {0, 0, 0, 0};
>>> - struct regmap *regmap;
>>
>> Same here.
>
>>
>
>
> Same reason as above.
>
>>>
>>> parent_name = of_clk_get_parent_name(np, 0);
>>> if (!parent_name)
>>> @@ -926,7 +981,9 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
>
>>>
>
>
> If these declaration chages are not needed, I can resend a new patch keeping the original order of declarations.
>
>
> Thanks.
>
>
> Liang
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re:Re: [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent()
2022-06-30 10:20 ` Claudiu.Beznea
@ 2022-06-30 12:58 ` Liang He
2022-06-30 14:19 ` Claudiu.Beznea
0 siblings, 1 reply; 7+ messages in thread
From: Liang He @ 2022-06-30 12:58 UTC (permalink / raw)
To: Claudiu.Beznea
Cc: mturquette, sboyd, Nicolas.Ferre, alexandre.belloni, linux-clk
At 2022-06-30 18:20:36, Claudiu.Beznea@microchip.com wrote:
>On 30.06.2022 11:59, Liang He wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> Hi, Claudiu.Beznea,
>>
>> At 2022-06-30 16:39:26, Claudiu.Beznea@microchip.com wrote:
>>> On 28.06.2022 16:22, Liang He wrote:
>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>> [...]
>>>> @@ -694,8 +732,8 @@ of_at91_clk_prog_setup(struct device_node *np,
>>>> unsigned int num_parents;
>>>> const char *parent_names[PROG_SOURCE_MAX];
>>>> const char *name;
>>>> - struct device_node *progclknp;
>>>> struct regmap *regmap;
>>>> + struct device_node *progclknp, *parent_np;
>>>
>>> Is there a reason you chosed to move this on a new line?
>>
>>>
>>
>> In fact, I just want to keep long declaration on bottom.
>>
>> However, this modification maybe useless.
>>
>>
>>>> [...]
>>>> struct clk_hw *hw;
>>>> const char *name;
>>>> - struct device_node *sysclknp;
>>>> const char *parent_name;
>>>> struct regmap *regmap;
>>>> + struct device_node *sysclknp, *parent_np;
>>>
>>> Same here.
>>
>>>
>>
>>
>> Same reason as above.
>>
>>>>
>>>> num = of_get_child_count(np);
>>>> if (num > (SYSTEM_MAX_ID + 1))
>>
>>>> @@ -885,9 +936,10 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb",
>>>> static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
>>>> {
>>>> struct clk_hw *hw;
>>>> + struct regmap *regmap;
>>>> const char *parent_name;
>>>> const char *name = np->name;
>>>> - struct regmap *regmap;
>>>> + struct device_node *parent_np;
>>>
>>> You moved around the declarations.
>>
>>>
>>
>>
>> Sorry, I have been told to keep reverse christmas tree.
>
>I thought this rule is only for networking subsystem.
>
OK, thanks, I will keep the rule only when I fix bugs in networking subsystem.
So it needs to send a v3 to restore the order of the declarations?
If yes, I will resend it soon.
Thanks.
Liang
>>
>>
>> So this look like a normal christmas tree?
>>
>>
>>>>>> parent_name = of_clk_get_parent_name(np, 0);
>> [...]
>>>> + struct regmap *regmap;
>>>> const char *parent_name;
>>>> const char *name = np->name;
>>>> + struct device_node *parent_np;
>>>> u32 divisors[4] = {0, 0, 0, 0};
>>>> - struct regmap *regmap;
>>>
>>> Same here.
>>
>>>
>>
>>
>> Same reason as above.
>>
>>>>
>>>> parent_name = of_clk_get_parent_name(np, 0);
>>>> if (!parent_name)
>>>> @@ -926,7 +981,9 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
>>
>>>>
>>
>>
>> If these declaration chages are not needed, I can resend a new patch keeping the original order of declarations.
>>
>>
>> Thanks.
>>
>>
>> Liang
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent()
2022-06-30 12:58 ` Liang He
@ 2022-06-30 14:19 ` Claudiu.Beznea
2022-06-30 14:27 ` Liang He
0 siblings, 1 reply; 7+ messages in thread
From: Claudiu.Beznea @ 2022-06-30 14:19 UTC (permalink / raw)
To: windhl; +Cc: mturquette, sboyd, Nicolas.Ferre, alexandre.belloni, linux-clk
On 30.06.2022 15:58, Liang He wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> At 2022-06-30 18:20:36, Claudiu.Beznea@microchip.com wrote:
>> On 30.06.2022 11:59, Liang He wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> Hi, Claudiu.Beznea,
>>>
>>> At 2022-06-30 16:39:26, Claudiu.Beznea@microchip.com wrote:
>>>> On 28.06.2022 16:22, Liang He wrote:
>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>> [...]
>>>>> @@ -694,8 +732,8 @@ of_at91_clk_prog_setup(struct device_node *np,
>>>>> unsigned int num_parents;
>>>>> const char *parent_names[PROG_SOURCE_MAX];
>>>>> const char *name;
>>>>> - struct device_node *progclknp;
>>>>> struct regmap *regmap;
>>>>> + struct device_node *progclknp, *parent_np;
>>>>
>>>> Is there a reason you chosed to move this on a new line?
>>>
>>>>
>>>
>>> In fact, I just want to keep long declaration on bottom.
>>>
>>> However, this modification maybe useless.
>>>
>>>
>>>>> [...]
>>>>> struct clk_hw *hw;
>>>>> const char *name;
>>>>> - struct device_node *sysclknp;
>>>>> const char *parent_name;
>>>>> struct regmap *regmap;
>>>>> + struct device_node *sysclknp, *parent_np;
>>>>
>>>> Same here.
>>>
>>>>
>>>
>>>
>>> Same reason as above.
>>>
>>>>>
>>>>> num = of_get_child_count(np);
>>>>> if (num > (SYSTEM_MAX_ID + 1))
>>>
>>>>> @@ -885,9 +936,10 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb",
>>>>> static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
>>>>> {
>>>>> struct clk_hw *hw;
>>>>> + struct regmap *regmap;
>>>>> const char *parent_name;
>>>>> const char *name = np->name;
>>>>> - struct regmap *regmap;
>>>>> + struct device_node *parent_np;
>>>>
>>>> You moved around the declarations.
>>>
>>>>
>>>
>>>
>>> Sorry, I have been told to keep reverse christmas tree.
>>
>> I thought this rule is only for networking subsystem.
>>
>
> OK, thanks, I will keep the rule only when I fix bugs in networking subsystem.
>
> So it needs to send a v3 to restore the order of the declarations?
Yes, please.
>
> If yes, I will resend it soon.
>
> Thanks.
>
> Liang
>
>
>>>
>>>
>>> So this look like a normal christmas tree?
>>>
>>>
>>>>>>> parent_name = of_clk_get_parent_name(np, 0);
>>> [...]
>>>>> + struct regmap *regmap;
>>>>> const char *parent_name;
>>>>> const char *name = np->name;
>>>>> + struct device_node *parent_np;
>>>>> u32 divisors[4] = {0, 0, 0, 0};
>>>>> - struct regmap *regmap;
>>>>
>>>> Same here.
>>>
>>>>
>>>
>>>
>>> Same reason as above.
>>>
>>>>>
>>>>> parent_name = of_clk_get_parent_name(np, 0);
>>>>> if (!parent_name)
>>>>> @@ -926,7 +981,9 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
>>>
>>>>>
>>>
>>>
>>> If these declaration chages are not needed, I can resend a new patch keeping the original order of declarations.
>>>
>>>
>>> Thanks.
>>>
>>>
>>> Liang
>>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re:Re: [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent()
2022-06-30 14:19 ` Claudiu.Beznea
@ 2022-06-30 14:27 ` Liang He
0 siblings, 0 replies; 7+ messages in thread
From: Liang He @ 2022-06-30 14:27 UTC (permalink / raw)
To: Claudiu.Beznea
Cc: mturquette, sboyd, Nicolas.Ferre, alexandre.belloni, linux-clk
At 2022-06-30 22:19:45, Claudiu.Beznea@microchip.com wrote:
>On 30.06.2022 15:58, Liang He wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> At 2022-06-30 18:20:36, Claudiu.Beznea@microchip.com wrote:
>>> On 30.06.2022 11:59, Liang He wrote:
>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>
>>>> Hi, Claudiu.Beznea,
>>>>
>>>> At 2022-06-30 16:39:26, Claudiu.Beznea@microchip.com wrote:
>>>>> On 28.06.2022 16:22, Liang He wrote:
>>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>>> [...]
>>>>>> @@ -694,8 +732,8 @@ of_at91_clk_prog_setup(struct device_node *np,
>>>>>> unsigned int num_parents;
>>>>>> const char *parent_names[PROG_SOURCE_MAX];
>>>>>> const char *name;
>>>>>> - struct device_node *progclknp;
>>>>>> struct regmap *regmap;
>>>>>> + struct device_node *progclknp, *parent_np;
>>>>>
>>>>> Is there a reason you chosed to move this on a new line?
>>>>
>>>>>
>>>>
>>>> In fact, I just want to keep long declaration on bottom.
>>>>
>>>> However, this modification maybe useless.
>>>>
>>>>
>>>>>> [...]
>>>>>> struct clk_hw *hw;
>>>>>> const char *name;
>>>>>> - struct device_node *sysclknp;
>>>>>> const char *parent_name;
>>>>>> struct regmap *regmap;
>>>>>> + struct device_node *sysclknp, *parent_np;
>>>>>
>>>>> Same here.
>>>>
>>>>>
>>>>
>>>>
>>>> Same reason as above.
>>>>
>>>>>>
>>>>>> num = of_get_child_count(np);
>>>>>> if (num > (SYSTEM_MAX_ID + 1))
>>>>
>>>>>> @@ -885,9 +936,10 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb",
>>>>>> static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np)
>>>>>> {
>>>>>> struct clk_hw *hw;
>>>>>> + struct regmap *regmap;
>>>>>> const char *parent_name;
>>>>>> const char *name = np->name;
>>>>>> - struct regmap *regmap;
>>>>>> + struct device_node *parent_np;
>>>>>
>>>>> You moved around the declarations.
>>>>
>>>>>
>>>>
>>>>
>>>> Sorry, I have been told to keep reverse christmas tree.
>>>
>>> I thought this rule is only for networking subsystem.
>>>
>>
>> OK, thanks, I will keep the rule only when I fix bugs in networking subsystem.
>>
>> So it needs to send a v3 to restore the order of the declarations?
>
>Yes, please.
OK, soon.
>
>>
>> If yes, I will resend it soon.
>>
>> Thanks.
>>
>> Liang
>>
>>
>>>>
>>>>
>>>> So this look like a normal christmas tree?
>>>>
>>>>
>>>>>>>> parent_name = of_clk_get_parent_name(np, 0);
>>>> [...]
>>>>>> + struct regmap *regmap;
>>>>>> const char *parent_name;
>>>>>> const char *name = np->name;
>>>>>> + struct device_node *parent_np;
>>>>>> u32 divisors[4] = {0, 0, 0, 0};
>>>>>> - struct regmap *regmap;
>>>>>
>>>>> Same here.
>>>>
>>>>>
>>>>
>>>>
>>>> Same reason as above.
>>>>
>>>>>>
>>>>>> parent_name = of_clk_get_parent_name(np, 0);
>>>>>> if (!parent_name)
>>>>>> @@ -926,7 +981,9 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np)
>>>>
>>>>>>
>>>>
>>>>
>>>> If these declaration chages are not needed, I can resend a new patch keeping the original order of declarations.
>>>>
>>>>
>>>> Thanks.
>>>>
>>>>
>>>> Liang
>>>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-06-30 14:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-28 13:22 [PATCH v2] clk: at91: dt-compat: Hold reference returned by of_get_parent() Liang He
2022-06-30 8:39 ` Claudiu.Beznea
2022-06-30 8:59 ` Liang He
2022-06-30 10:20 ` Claudiu.Beznea
2022-06-30 12:58 ` Liang He
2022-06-30 14:19 ` Claudiu.Beznea
2022-06-30 14:27 ` Liang He
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.