Message ID | 20200313195816.12435-1-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | ARM: qcom: Disable i2c device on gsbi4 for ipq806x | expand |
Quoting Ansuel Smith (2020-03-13 12:58:16) > diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > index 554c65e7aa0e..580aec63030d 100644 > --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > @@ -21,14 +21,5 @@ mux { > }; > }; > }; > - > - gsbi@16300000 { > - i2c@16380000 { > - status = "ok"; > - clock-frequency = <200000>; > - pinctrl-0 = <&i2c4_pins>; > - pinctrl-names = "default"; > - }; > - }; > }; > }; > diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c > index b0eee0903807..75706807e6cf 100644 > --- a/drivers/clk/qcom/gcc-ipq806x.c > +++ b/drivers/clk/qcom/gcc-ipq806x.c > @@ -782,7 +782,7 @@ static struct clk_rcg gsbi4_qup_src = { > .parent_names = gcc_pxo_pll8, > .num_parents = 2, > .ops = &clk_rcg_ops, > - .flags = CLK_SET_PARENT_GATE, > + .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED, A better solution is to use the protected-clocks property so we don't try to touch these clks at all on this device. So this whole patch can be routed through arm-soc and remove the i2c node and add some dt property to the gcc node. > }, > }, > };
> Quoting Ansuel Smith (2020-03-13 12:58:16) > > diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > > index 554c65e7aa0e..580aec63030d 100644 > > --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > > +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > > @@ -21,14 +21,5 @@ mux { > > }; > > }; > > }; > > - > > - gsbi@16300000 { > > - i2c@16380000 { > > - status = "ok"; > > - clock-frequency = <200000>; > > - pinctrl-0 = <&i2c4_pins>; > > - pinctrl-names = "default"; > > - }; > > - }; > > }; > > }; > > diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc- > ipq806x.c > > index b0eee0903807..75706807e6cf 100644 > > --- a/drivers/clk/qcom/gcc-ipq806x.c > > +++ b/drivers/clk/qcom/gcc-ipq806x.c > > @@ -782,7 +782,7 @@ static struct clk_rcg gsbi4_qup_src = { > > .parent_names = gcc_pxo_pll8, > > .num_parents = 2, > > .ops = &clk_rcg_ops, > > - .flags = CLK_SET_PARENT_GATE, > > + .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED, > > A better solution is to use the protected-clocks property so we don't > try to touch these clks at all on this device. So this whole patch can > be routed through arm-soc and remove the i2c node and add some dt > property to the gcc node. > Should I add a comment where the i2c is removed or I can remove it directly? > > }, > > }, > > };
On Fri 13 Mar 15:34 PDT 2020, ansuelsmth@gmail.com wrote: > > Quoting Ansuel Smith (2020-03-13 12:58:16) > > > diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > > b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > > > index 554c65e7aa0e..580aec63030d 100644 > > > --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > > > +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts > > > @@ -21,14 +21,5 @@ mux { > > > }; > > > }; > > > }; > > > - > > > - gsbi@16300000 { > > > - i2c@16380000 { > > > - status = "ok"; > > > - clock-frequency = <200000>; > > > - pinctrl-0 = <&i2c4_pins>; > > > - pinctrl-names = "default"; > > > - }; > > > - }; > > > }; > > > }; > > > diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc- > > ipq806x.c > > > index b0eee0903807..75706807e6cf 100644 > > > --- a/drivers/clk/qcom/gcc-ipq806x.c > > > +++ b/drivers/clk/qcom/gcc-ipq806x.c > > > @@ -782,7 +782,7 @@ static struct clk_rcg gsbi4_qup_src = { > > > .parent_names = gcc_pxo_pll8, > > > .num_parents = 2, > > > .ops = &clk_rcg_ops, > > > - .flags = CLK_SET_PARENT_GATE, > > > + .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED, > > > > A better solution is to use the protected-clocks property so we don't > > try to touch these clks at all on this device. So this whole patch can > > be routed through arm-soc and remove the i2c node and add some dt > > property to the gcc node. > > > > Should I add a comment where the i2c is removed or I can remove it > directly? > It's fine that you just remove it, like you proposed above. The commit message should describe the reason and per your description I don't expect that anyone will miss the node... Regards, Bjorn > > > }, > > > }, > > > }; >
diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts index 554c65e7aa0e..580aec63030d 100644 --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts @@ -21,14 +21,5 @@ mux { }; }; }; - - gsbi@16300000 { - i2c@16380000 { - status = "ok"; - clock-frequency = <200000>; - pinctrl-0 = <&i2c4_pins>; - pinctrl-names = "default"; - }; - }; }; }; diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c index b0eee0903807..75706807e6cf 100644 --- a/drivers/clk/qcom/gcc-ipq806x.c +++ b/drivers/clk/qcom/gcc-ipq806x.c @@ -782,7 +782,7 @@ static struct clk_rcg gsbi4_qup_src = { .parent_names = gcc_pxo_pll8, .num_parents = 2, .ops = &clk_rcg_ops, - .flags = CLK_SET_PARENT_GATE, + .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED, }, }, }; @@ -798,7 +798,7 @@ static struct clk_branch gsbi4_qup_clk = { .parent_names = (const char *[]){ "gsbi4_qup_src" }, .num_parents = 1, .ops = &clk_branch_ops, - .flags = CLK_SET_RATE_PARENT, + .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, }, }, }; @@ -991,6 +991,7 @@ static struct clk_branch gsbi4_h_clk = { .hw.init = &(struct clk_init_data){ .name = "gsbi4_h_clk", .ops = &clk_branch_ops, + .flags = CLK_IGNORE_UNUSED, }, }, };