* [PATCH v2 0/3] Add new binding regulator-fixed-clock to regulator-fixed
@ 2019-09-10 6:21 ` Philippe Schenker
0 siblings, 0 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: devicetree, Max Krummenacher, Rob Herring, Stefan Agner,
Marcel Ziswiler, Mark Rutland, Luka Pivk, Philippe Schenker,
Fabio Estevam, linux-arm-kernel, Pengutronix Kernel Team,
NXP Linux Team
Our hardware has a FET that is switching power rail of the ethernet PHY
on and off. This switching enable signal is a clock from the SoC.
There is no possibility in regulator subsystem to have this hardware
reflected in software.
I already discussed with Mark Brown about possible solutions and he
suggested to create at least a new compatible. [1]
This discussion includes also a better explanation of our circuit as
well as schematics. So please refer to that link if you have questions
about that.
In this first attempt I created a new binding "regulator-fixed-clock"
that can take a clock from devicetree. This is a simple addition to
regulator-fixed. If the binding regulator-fixed-clock is given, the
clock is simply enabled on regulator enable and disabled on regulator
disable.
To be able to have multiple consumers a counter variable is also given
that tells how many consumers need power from this regulator.
Best regards,
Philippe
[1] https://lkml.org/lkml/2019/8/7/78
Changes in v2:
- return priv->clk_enable_counter > 0 directly.
- Change select: to if:
- Change items: to enum:
- Defined how many clocks should be given
Philippe Schenker (3):
regulator: fixed: add possibility to enable by clock
ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
dt-bindings: regulator: add regulator-fixed-clock binding
.../bindings/regulator/fixed-regulator.yaml | 19 ++++-
arch/arm/boot/dts/imx6ull-colibri.dtsi | 12 +++
drivers/regulator/fixed.c | 83 ++++++++++++++++++-
3 files changed, 110 insertions(+), 4 deletions(-)
--
2.23.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 0/3] Add new binding regulator-fixed-clock to regulator-fixed
@ 2019-09-10 6:21 ` Philippe Schenker
0 siblings, 0 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: devicetree, Max Krummenacher, Rob Herring, Stefan Agner,
Marcel Ziswiler, Mark Rutland, Luka Pivk, Philippe Schenker,
Fabio Estevam, linux-arm-kernel, Pengutronix Kernel Team,
NXP Linux Team
Our hardware has a FET that is switching power rail of the ethernet PHY
on and off. This switching enable signal is a clock from the SoC.
There is no possibility in regulator subsystem to have this hardware
reflected in software.
I already discussed with Mark Brown about possible solutions and he
suggested to create at least a new compatible. [1]
This discussion includes also a better explanation of our circuit as
well as schematics. So please refer to that link if you have questions
about that.
In this first attempt I created a new binding "regulator-fixed-clock"
that can take a clock from devicetree. This is a simple addition to
regulator-fixed. If the binding regulator-fixed-clock is given, the
clock is simply enabled on regulator enable and disabled on regulator
disable.
To be able to have multiple consumers a counter variable is also given
that tells how many consumers need power from this regulator.
Best regards,
Philippe
[1] https://lkml.org/lkml/2019/8/7/78
Changes in v2:
- return priv->clk_enable_counter > 0 directly.
- Change select: to if:
- Change items: to enum:
- Defined how many clocks should be given
Philippe Schenker (3):
regulator: fixed: add possibility to enable by clock
ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
dt-bindings: regulator: add regulator-fixed-clock binding
.../bindings/regulator/fixed-regulator.yaml | 19 ++++-
arch/arm/boot/dts/imx6ull-colibri.dtsi | 12 +++
drivers/regulator/fixed.c | 83 ++++++++++++++++++-
3 files changed, 110 insertions(+), 4 deletions(-)
--
2.23.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 0/3] Add new binding regulator-fixed-clock to regulator-fixed
@ 2019-09-10 6:21 ` Philippe Schenker
0 siblings, 0 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: Mark Rutland, devicetree, Luka Pivk, Stefan Agner,
Marcel Ziswiler, Philippe Schenker, Rob Herring, NXP Linux Team,
Max Krummenacher, Fabio Estevam, Pengutronix Kernel Team,
linux-arm-kernel
Our hardware has a FET that is switching power rail of the ethernet PHY
on and off. This switching enable signal is a clock from the SoC.
There is no possibility in regulator subsystem to have this hardware
reflected in software.
I already discussed with Mark Brown about possible solutions and he
suggested to create at least a new compatible. [1]
This discussion includes also a better explanation of our circuit as
well as schematics. So please refer to that link if you have questions
about that.
In this first attempt I created a new binding "regulator-fixed-clock"
that can take a clock from devicetree. This is a simple addition to
regulator-fixed. If the binding regulator-fixed-clock is given, the
clock is simply enabled on regulator enable and disabled on regulator
disable.
To be able to have multiple consumers a counter variable is also given
that tells how many consumers need power from this regulator.
Best regards,
Philippe
[1] https://lkml.org/lkml/2019/8/7/78
Changes in v2:
- return priv->clk_enable_counter > 0 directly.
- Change select: to if:
- Change items: to enum:
- Defined how many clocks should be given
Philippe Schenker (3):
regulator: fixed: add possibility to enable by clock
ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
dt-bindings: regulator: add regulator-fixed-clock binding
.../bindings/regulator/fixed-regulator.yaml | 19 ++++-
arch/arm/boot/dts/imx6ull-colibri.dtsi | 12 +++
drivers/regulator/fixed.c | 83 ++++++++++++++++++-
3 files changed, 110 insertions(+), 4 deletions(-)
--
2.23.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 1/3] regulator: fixed: add possibility to enable by clock
2019-09-10 6:21 ` Philippe Schenker
(?)
(?)
@ 2019-09-10 6:21 ` Philippe Schenker
2019-10-07 13:29 ` Guenter Roeck
-1 siblings, 1 reply; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: devicetree, Max Krummenacher, Rob Herring, Stefan Agner,
Marcel Ziswiler, Mark Rutland, Luka Pivk, Philippe Schenker
This commit adds the possibility to choose the compatible
"regulator-fixed-clock" in devicetree.
This is a special regulator-fixed that has to have a clock, from which
the regulator gets switched on and off.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
---
Changes in v2:
- return priv->clk_enable_counter > 0 directly.
drivers/regulator/fixed.c | 83 +++++++++++++++++++++++++++++++++++++--
1 file changed, 80 insertions(+), 3 deletions(-)
diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c
index 999547dde99d..d90a6fd8cbc7 100644
--- a/drivers/regulator/fixed.c
+++ b/drivers/regulator/fixed.c
@@ -23,14 +23,63 @@
#include <linux/gpio/consumer.h>
#include <linux/slab.h>
#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/regulator/of_regulator.h>
#include <linux/regulator/machine.h>
+#include <linux/clk.h>
+
struct fixed_voltage_data {
struct regulator_desc desc;
struct regulator_dev *dev;
+
+ struct clk *enable_clock;
+ unsigned int clk_enable_counter;
};
+struct fixed_dev_type {
+ bool has_enable_clock;
+};
+
+static const struct fixed_dev_type fixed_voltage_data = {
+ .has_enable_clock = false,
+};
+
+static const struct fixed_dev_type fixed_clkenable_data = {
+ .has_enable_clock = true,
+};
+
+static int reg_clock_enable(struct regulator_dev *rdev)
+{
+ struct fixed_voltage_data *priv = rdev_get_drvdata(rdev);
+ int ret = 0;
+
+ ret = clk_prepare_enable(priv->enable_clock);
+ if (ret)
+ return ret;
+
+ priv->clk_enable_counter++;
+
+ return ret;
+}
+
+static int reg_clock_disable(struct regulator_dev *rdev)
+{
+ struct fixed_voltage_data *priv = rdev_get_drvdata(rdev);
+
+ clk_disable_unprepare(priv->enable_clock);
+ priv->clk_enable_counter--;
+
+ return 0;
+}
+
+static int reg_clock_is_enabled(struct regulator_dev *rdev)
+{
+ struct fixed_voltage_data *priv = rdev_get_drvdata(rdev);
+
+ return priv->clk_enable_counter > 0;
+}
+
/**
* of_get_fixed_voltage_config - extract fixed_voltage_config structure info
@@ -84,10 +133,19 @@ of_get_fixed_voltage_config(struct device *dev,
static struct regulator_ops fixed_voltage_ops = {
};
+static struct regulator_ops fixed_voltage_clkenabled_ops = {
+ .enable = reg_clock_enable,
+ .disable = reg_clock_disable,
+ .is_enabled = reg_clock_is_enabled,
+};
+
static int reg_fixed_voltage_probe(struct platform_device *pdev)
{
+ struct device *dev = &pdev->dev;
struct fixed_voltage_config *config;
struct fixed_voltage_data *drvdata;
+ const struct fixed_dev_type *drvtype =
+ of_match_device(dev->driver->of_match_table, dev)->data;
struct regulator_config cfg = { };
enum gpiod_flags gflags;
int ret;
@@ -118,7 +176,18 @@ static int reg_fixed_voltage_probe(struct platform_device *pdev)
}
drvdata->desc.type = REGULATOR_VOLTAGE;
drvdata->desc.owner = THIS_MODULE;
- drvdata->desc.ops = &fixed_voltage_ops;
+
+ if (drvtype->has_enable_clock) {
+ drvdata->desc.ops = &fixed_voltage_clkenabled_ops;
+
+ drvdata->enable_clock = devm_clk_get(dev, NULL);
+ if (IS_ERR(drvdata->enable_clock)) {
+ dev_err(dev, "Cant get enable-clock from devicetree\n");
+ return -ENOENT;
+ }
+ } else {
+ drvdata->desc.ops = &fixed_voltage_ops;
+ }
drvdata->desc.enable_time = config->startup_delay;
@@ -191,8 +260,16 @@ static int reg_fixed_voltage_probe(struct platform_device *pdev)
#if defined(CONFIG_OF)
static const struct of_device_id fixed_of_match[] = {
- { .compatible = "regulator-fixed", },
- {},
+ {
+ .compatible = "regulator-fixed",
+ .data = &fixed_voltage_data,
+ },
+ {
+ .compatible = "regulator-fixed-clock",
+ .data = &fixed_clkenable_data,
+ },
+ {
+ },
};
MODULE_DEVICE_TABLE(of, fixed_of_match);
#endif
--
2.23.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 2/3] ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
2019-09-10 6:21 ` Philippe Schenker
(?)
@ 2019-09-10 6:21 ` Philippe Schenker
-1 siblings, 0 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: devicetree, Max Krummenacher, Rob Herring, Stefan Agner,
Marcel Ziswiler, Mark Rutland, Luka Pivk, Philippe Schenker,
Fabio Estevam, linux-arm-kernel, Pengutronix Kernel Team,
NXP Linux Team
This adds regulator-fixed-clock, a fixed-regulator that turns on and
off with a clock and add it to the phy.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
---
Changes in v2: None
arch/arm/boot/dts/imx6ull-colibri.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi
index d56728f03c35..76021b842a97 100644
--- a/arch/arm/boot/dts/imx6ull-colibri.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
@@ -47,6 +47,17 @@
states = <1800000 0x1 3300000 0x0>;
vin-supply = <®_module_3v3>;
};
+
+ reg_eth_phy: regulator-eth-phy {
+ compatible = "regulator-fixed-clock";
+ regulator-boot-on;
+ regulator-name = "eth_phy";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ clocks = <&clks IMX6UL_CLK_ENET2_REF_125M>;
+ startup-delay-us = <150000>;
+ vin-supply = <®_module_3v3>;
+ };
};
&adc1 {
@@ -66,6 +77,7 @@
pinctrl-0 = <&pinctrl_enet2>;
phy-mode = "rmii";
phy-handle = <ðphy1>;
+ phy-supply = <®_eth_phy>;
status = "okay";
mdio {
--
2.23.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 2/3] ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
@ 2019-09-10 6:21 ` Philippe Schenker
0 siblings, 0 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: devicetree, Max Krummenacher, Rob Herring, Stefan Agner,
Marcel Ziswiler, Mark Rutland, Luka Pivk, Philippe Schenker,
Fabio Estevam, linux-arm-kernel, Pengutronix Kernel Team,
NXP Linux Team
This adds regulator-fixed-clock, a fixed-regulator that turns on and
off with a clock and add it to the phy.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
---
Changes in v2: None
arch/arm/boot/dts/imx6ull-colibri.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi
index d56728f03c35..76021b842a97 100644
--- a/arch/arm/boot/dts/imx6ull-colibri.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
@@ -47,6 +47,17 @@
states = <1800000 0x1 3300000 0x0>;
vin-supply = <®_module_3v3>;
};
+
+ reg_eth_phy: regulator-eth-phy {
+ compatible = "regulator-fixed-clock";
+ regulator-boot-on;
+ regulator-name = "eth_phy";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ clocks = <&clks IMX6UL_CLK_ENET2_REF_125M>;
+ startup-delay-us = <150000>;
+ vin-supply = <®_module_3v3>;
+ };
};
&adc1 {
@@ -66,6 +77,7 @@
pinctrl-0 = <&pinctrl_enet2>;
phy-mode = "rmii";
phy-handle = <ðphy1>;
+ phy-supply = <®_eth_phy>;
status = "okay";
mdio {
--
2.23.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 2/3] ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
@ 2019-09-10 6:21 ` Philippe Schenker
0 siblings, 0 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: Mark Rutland, devicetree, Luka Pivk, Stefan Agner,
Marcel Ziswiler, Philippe Schenker, Rob Herring, NXP Linux Team,
Max Krummenacher, Fabio Estevam, Pengutronix Kernel Team,
linux-arm-kernel
This adds regulator-fixed-clock, a fixed-regulator that turns on and
off with a clock and add it to the phy.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
---
Changes in v2: None
arch/arm/boot/dts/imx6ull-colibri.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi
index d56728f03c35..76021b842a97 100644
--- a/arch/arm/boot/dts/imx6ull-colibri.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
@@ -47,6 +47,17 @@
states = <1800000 0x1 3300000 0x0>;
vin-supply = <®_module_3v3>;
};
+
+ reg_eth_phy: regulator-eth-phy {
+ compatible = "regulator-fixed-clock";
+ regulator-boot-on;
+ regulator-name = "eth_phy";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ clocks = <&clks IMX6UL_CLK_ENET2_REF_125M>;
+ startup-delay-us = <150000>;
+ vin-supply = <®_module_3v3>;
+ };
};
&adc1 {
@@ -66,6 +77,7 @@
pinctrl-0 = <&pinctrl_enet2>;
phy-mode = "rmii";
phy-handle = <ðphy1>;
+ phy-supply = <®_eth_phy>;
status = "okay";
mdio {
--
2.23.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 3/3] dt-bindings: regulator: add regulator-fixed-clock binding
2019-09-10 6:21 ` Philippe Schenker
` (3 preceding siblings ...)
(?)
@ 2019-09-10 6:21 ` Philippe Schenker
2019-09-10 8:35 ` Rob Herring
2019-09-17 20:13 ` Rob Herring
-1 siblings, 2 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-10 6:21 UTC (permalink / raw)
To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
Cc: devicetree, Max Krummenacher, Rob Herring, Stefan Agner,
Marcel Ziswiler, Mark Rutland, Luka Pivk, Philippe Schenker
This adds the documentation to the compatible regulator-fixed-clock.
This binding is a special binding of regulator-fixed and adds the
ability to add a clock to regulator-fixed, so the regulator can be
enabled and disabled with that clock. If the special compatible
regulator-fixed-clock is used it is mandatory to supply a clock.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
---
Changes in v2:
- Change select: to if:
- Change items: to enum:
- Defined how many clocks should be given
.../bindings/regulator/fixed-regulator.yaml | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml b/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
index a650b457085d..a78150c47aa2 100644
--- a/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
@@ -19,9 +19,19 @@ description:
allOf:
- $ref: "regulator.yaml#"
+if:
+ properties:
+ compatible:
+ contains:
+ const: regulator-fixed-clock
+ required:
+ - clocks
+
properties:
compatible:
- const: regulator-fixed
+ enum:
+ - const: regulator-fixed
+ - const: regulator-fixed-clock
regulator-name: true
@@ -29,6 +39,13 @@ properties:
description: gpio to use for enable control
maxItems: 1
+ clocks:
+ description:
+ clock to use for enable control. This binding is only available if
+ the compatible is chosen to regulator-fixed-clock. The clock binding
+ is mandatory if compatible is chosen to regulator-fixed-clock.
+ maxItems: 1
+
startup-delay-us:
description: startup time in microseconds
$ref: /schemas/types.yaml#/definitions/uint32
--
2.23.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 3/3] dt-bindings: regulator: add regulator-fixed-clock binding
2019-09-10 6:21 ` [PATCH v2 3/3] dt-bindings: regulator: add regulator-fixed-clock binding Philippe Schenker
@ 2019-09-10 8:35 ` Rob Herring
2019-09-17 20:13 ` Rob Herring
1 sibling, 0 replies; 14+ messages in thread
From: Rob Herring @ 2019-09-10 8:35 UTC (permalink / raw)
To: Philippe Schenker
Cc: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood,
devicetree, Max Krummenacher, Stefan Agner, Marcel Ziswiler,
Mark Rutland, Luka Pivk
On Tue, Sep 10, 2019 at 7:21 AM Philippe Schenker
<philippe.schenker@toradex.com> wrote:
>
> This adds the documentation to the compatible regulator-fixed-clock.
> This binding is a special binding of regulator-fixed and adds the
> ability to add a clock to regulator-fixed, so the regulator can be
> enabled and disabled with that clock. If the special compatible
> regulator-fixed-clock is used it is mandatory to supply a clock.
>
> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
>
> ---
>
> Changes in v2:
> - Change select: to if:
> - Change items: to enum:
> - Defined how many clocks should be given
>
> .../bindings/regulator/fixed-regulator.yaml | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 3/3] dt-bindings: regulator: add regulator-fixed-clock binding
2019-09-10 6:21 ` [PATCH v2 3/3] dt-bindings: regulator: add regulator-fixed-clock binding Philippe Schenker
2019-09-10 8:35 ` Rob Herring
@ 2019-09-17 20:13 ` Rob Herring
2019-09-23 6:58 ` Philippe Schenker
1 sibling, 1 reply; 14+ messages in thread
From: Rob Herring @ 2019-09-17 20:13 UTC (permalink / raw)
To: Philippe Schenker
Cc: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood,
devicetree, Max Krummenacher, Stefan Agner, Marcel Ziswiler,
Mark Rutland, Luka Pivk
On Tue, Sep 10, 2019 at 1:21 AM Philippe Schenker
<philippe.schenker@toradex.com> wrote:
>
> This adds the documentation to the compatible regulator-fixed-clock.
> This binding is a special binding of regulator-fixed and adds the
> ability to add a clock to regulator-fixed, so the regulator can be
> enabled and disabled with that clock. If the special compatible
> regulator-fixed-clock is used it is mandatory to supply a clock.
>
> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
>
> ---
>
> Changes in v2:
> - Change select: to if:
> - Change items: to enum:
> - Defined how many clocks should be given
>
> .../bindings/regulator/fixed-regulator.yaml | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml b/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
> index a650b457085d..a78150c47aa2 100644
> --- a/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
> +++ b/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
> @@ -19,9 +19,19 @@ description:
> allOf:
> - $ref: "regulator.yaml#"
>
> +if:
> + properties:
> + compatible:
> + contains:
> + const: regulator-fixed-clock
> + required:
> + - clocks
> +
> properties:
> compatible:
> - const: regulator-fixed
> + enum:
> + - const: regulator-fixed
> + - const: regulator-fixed-clock
'make dt_binding_check' is failing. You need to drop 'const: '. Please
send a patch to fix this.
Rob
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 3/3] dt-bindings: regulator: add regulator-fixed-clock binding
2019-09-17 20:13 ` Rob Herring
@ 2019-09-23 6:58 ` Philippe Schenker
0 siblings, 0 replies; 14+ messages in thread
From: Philippe Schenker @ 2019-09-23 6:58 UTC (permalink / raw)
To: robh+dt
Cc: Max Krummenacher, Marcel Ziswiler, Luka Pivk, s.hauer, broonie,
devicetree, linux-kernel, shawnguo, Stefan Agner, lgirdwood,
mark.rutland
On Tue, 2019-09-17 at 15:13 -0500, Rob Herring wrote:
> On Tue, Sep 10, 2019 at 1:21 AM Philippe Schenker
> <philippe.schenker@toradex.com> wrote:
> > This adds the documentation to the compatible regulator-fixed-clock.
> > This binding is a special binding of regulator-fixed and adds the
> > ability to add a clock to regulator-fixed, so the regulator can be
> > enabled and disabled with that clock. If the special compatible
> > regulator-fixed-clock is used it is mandatory to supply a clock.
> >
> > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
> >
> > ---
> >
> > Changes in v2:
> > - Change select: to if:
> > - Change items: to enum:
> > - Defined how many clocks should be given
> >
> > .../bindings/regulator/fixed-regulator.yaml | 19
> > ++++++++++++++++++-
> > 1 file changed, 18 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/regulator/fixed-
> > regulator.yaml b/Documentation/devicetree/bindings/regulator/fixed-
> > regulator.yaml
> > index a650b457085d..a78150c47aa2 100644
> > --- a/Documentation/devicetree/bindings/regulator/fixed-
> > regulator.yaml
> > +++ b/Documentation/devicetree/bindings/regulator/fixed-
> > regulator.yaml
> > @@ -19,9 +19,19 @@ description:
> > allOf:
> > - $ref: "regulator.yaml#"
> >
> > +if:
> > + properties:
> > + compatible:
> > + contains:
> > + const: regulator-fixed-clock
> > + required:
> > + - clocks
> > +
> > properties:
> > compatible:
> > - const: regulator-fixed
> > + enum:
> > + - const: regulator-fixed
> > + - const: regulator-fixed-clock
>
> 'make dt_binding_check' is failing. You need to drop 'const: '. Please
> send a patch to fix this.
>
> Rob
Hi Rob,
Thanks for pointing this out, I wasn't aware of that and of 'make
dt_binding_check'. I was searching for it, but not finding that one,
thanks for mentioning it. I will immediately patch that and send it
right away.
Philippe
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] regulator: fixed: add possibility to enable by clock
2019-09-10 6:21 ` [PATCH v2 1/3] regulator: fixed: add possibility to enable by clock Philippe Schenker
@ 2019-10-07 13:29 ` Guenter Roeck
2019-10-07 13:57 ` Philippe Schenker
0 siblings, 1 reply; 14+ messages in thread
From: Guenter Roeck @ 2019-10-07 13:29 UTC (permalink / raw)
To: Philippe Schenker
Cc: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood,
devicetree, Max Krummenacher, Rob Herring, Stefan Agner,
Marcel Ziswiler, Mark Rutland, Luka Pivk
On Tue, Sep 10, 2019 at 06:21:15AM +0000, Philippe Schenker wrote:
> This commit adds the possibility to choose the compatible
> "regulator-fixed-clock" in devicetree.
>
> This is a special regulator-fixed that has to have a clock, from which
> the regulator gets switched on and off.
>
> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
This patch causes a crash in one of my qemu tests (kzm machine with
imx_v6_v7_defconfig). Reverting this patch fixes the problem.
Crash backtrace and bisect log attached below.
Guenter
---
[ 24.718451] Unable to handle kernel NULL pointer dereference at virtual address 000000c0
[ 24.718774] pgd = (ptrval)
[ 24.718946] [000000c0] *pgd=00000000
[ 24.719688] Internal error: Oops: 5 [#1] SMP ARM
[ 24.720007] Modules linked in:
[ 24.720356] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.0-rc1-00258-g2d00aee21a5d #1
[ 24.720522] Hardware name: Kyoto Microcomputer Co., Ltd. KZM-ARM11-01
[ 24.721143] PC is at reg_fixed_voltage_probe+0x38/0x2f4
[ 24.721279] LR is at reg_fixed_voltage_probe+0x2c/0x2f4
[ 24.721407] pc : [<c070c740>] lr : [<c070c734>] psr: 60000053
[ 24.721551] sp : c20a9d60 ip : 00000000 fp : c13bf34c
[ 24.721677] r10: 00000000 r9 : c1479348 r8 : c30208d0
[ 24.721805] r7 : c1408b08 r6 : c30208e0 r5 : 00000000 r4 : c30208e0
[ 24.721958] r3 : 00000000 r2 : 00000dc0 r1 : 000000e8 r0 : 00000000
[ 24.722145] Flags: nZCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none
[ 24.722273] Control: 00c5387d Table: 80004008 DAC: 00000051
[ 24.722435] Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
[ 24.722616] Stack: (0xc20a9d60 to 0xc20aa000)
[ 24.723031] 9d60: c3019d90 c033ff9c 00000000 c301b380 c21c2700 00000000 c21c2700 c301b380
[ 24.723407] 9d80: c3019d90 61093934 00000001 c30208e0 00000000 c1479348 00000000 00000000
[ 24.723767] 9da0: c1479348 00000000 c13bf34c c07ae608 c30208e0 c1b63da0 c1b63da4 00000000
[ 24.724120] 9dc0: 00000000 c07ac34c c30208e0 c1479348 c07ac7a0 c1408b08 00000001 00000000
[ 24.724485] 9de0: c1300584 c07ac5e0 c1479348 c20a9e44 c30208e0 00000000 c20a9e44 c07ac7a0
[ 24.724862] 9e00: c1408b08 00000001 00000000 c1300584 c13bf34c c07aa4fc fffffff3 c20904d4
[ 24.725215] 9e20: c21a1dd4 61093934 c30208e0 c30208e0 c3020968 c1408b08 c1408b08 c07ac0a4
[ 24.725575] 9e40: c209c000 c30208e0 00000001 61093934 c30208e0 c30208e0 c1488db8 c1408b08
[ 24.725963] 9e60: 00000000 c07ab3b4 c30208e0 c1488b00 00000000 c07a7ab8 c1300584 c0dd7b04
[ 24.726347] 9e80: c1408b08 c30208d0 c30208d0 61093934 c20a9ea8 c3020800 00000000 c30208d0
[ 24.726744] 9ea0: c30208e0 c14146d8 c14f93cc c07ae3d4 c3020800 c30208d0 00000000 00000002
[ 24.727127] 9ec0: c14146d8 c14f93cc c1300584 c070a4a8 c14146d8 c1408b28 c1408b08 c1303c60
[ 24.727504] 9ee0: 00000000 c130d094 00000000 c01aa5a4 c14fa7a0 c1303c7c c14fa7a0 c01031d8
[ 24.727894] 9f00: 0000019e 00000000 c7ffccec c7ffccda c12b19ac 0000019e 0000019e c01513b8
[ 24.728277] 9f20: c1408b08 c018ab84 c1408b08 c14fa7a0 c1408b28 c1500700 c139f850 0000019e
[ 24.728662] 9f40: c1300584 c01aa5a4 00000000 61093934 c139f874 c1500700 00000008 c1500700
[ 24.729041] 9f60: c139f854 0000019e c1300584 c1301028 00000007 00000007 00000000 c1300584
[ 24.729410] 9f80: 00000000 00000000 c0decf18 00000000 00000000 00000000 00000000 00000000
[ 24.729788] 9fa0: 00000000 c0decf20 00000000 c01010b4 00000000 00000000 00000000 00000000
[ 24.730167] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 24.730544] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 24.730948] [<c070c740>] (reg_fixed_voltage_probe) from [<c07ae608>] (platform_drv_probe+0x48/0x98)
[ 24.731194] [<c07ae608>] (platform_drv_probe) from [<c07ac34c>] (really_probe+0x22c/0x34c)
[ 24.731404] [<c07ac34c>] (really_probe) from [<c07ac5e0>] (driver_probe_device+0x5c/0x16c)
[ 24.731606] [<c07ac5e0>] (driver_probe_device) from [<c07aa4fc>] (bus_for_each_drv+0x54/0xb8)
[ 24.731810] [<c07aa4fc>] (bus_for_each_drv) from [<c07ac0a4>] (__device_attach+0xcc/0x140)
[ 24.732010] [<c07ac0a4>] (__device_attach) from [<c07ab3b4>] (bus_probe_device+0x88/0x90)
[ 24.732210] [<c07ab3b4>] (bus_probe_device) from [<c07a7ab8>] (device_add+0x388/0x608)
[ 24.732406] [<c07a7ab8>] (device_add) from [<c07ae3d4>] (platform_device_add+0x100/0x210)
[ 24.732612] [<c07ae3d4>] (platform_device_add) from [<c070a4a8>] (regulator_register_always_on+0xa0/0xc8)
[ 24.732847] [<c070a4a8>] (regulator_register_always_on) from [<c130d094>] (kzm_late_init+0x48/0x88)
[ 24.733069] [<c130d094>] (kzm_late_init) from [<c1303c7c>] (init_machine_late+0x1c/0x8c)
[ 24.733292] [<c1303c7c>] (init_machine_late) from [<c01031d8>] (do_one_initcall+0x80/0x3ac)
[ 24.733500] [<c01031d8>] (do_one_initcall) from [<c1301028>] (kernel_init_freeable+0x120/0x1e8)
[ 24.733710] [<c1301028>] (kernel_init_freeable) from [<c0decf20>] (kernel_init+0x8/0x118)
[ 24.733909] [<c0decf20>] (kernel_init) from [<c01010b4>] (ret_from_fork+0x14/0x20)
[ 24.734111] Exception stack(0xc20a9fb0 to 0xc20a9ff8)
[ 24.734355] 9fa0: 00000000 00000000 00000000 00000000
[ 24.734758] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 24.735101] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 24.735650] Code: eb0d74e5 e3a03000 e3a02d37 e3a010e8 (e59090c0)
[ 24.737370] ---[ end trace d0f5e68eb88278a8 ]---
[ 24.739335] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
---
# bad: [ad062195731bea1624ce7160e79e0fcdaa25c1b5] Merge tag 'platform-drivers-x86-v5.4-1' of git://git.infradead.org/linux-platform-drivers-x86
# good: [4d856f72c10ecb060868ed10ff1b1453943fc6c8] Linux 5.3
git bisect start 'ad062195731b' '4d856f72c10e'
# bad: [d47ebd684229f0048be5def6027bfcfbfe2db0d6] Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
git bisect bad d47ebd684229f0048be5def6027bfcfbfe2db0d6
# bad: [52a5525214d0d612160154d902956eca0558b7c0] Merge tag 'iommu-updates-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
git bisect bad 52a5525214d0d612160154d902956eca0558b7c0
# bad: [aa62325dc38de2be8b1c27eb180ad3751b3f58ec] Merge tag 'spi-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
git bisect bad aa62325dc38de2be8b1c27eb180ad3751b3f58ec
# bad: [c4d11ccb2b5cec6cdef7aeeb0017473d23031d96] Merge tag 'regulator-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
git bisect bad c4d11ccb2b5cec6cdef7aeeb0017473d23031d96
# good: [6729fb666a3b5a9a5ffa1bb6589127f7e4d35c38] Merge tag 'hwmon-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
git bisect good 6729fb666a3b5a9a5ffa1bb6589127f7e4d35c38
# good: [92fd0db2cd414c5c78f8f959ed7325e2b24f9445] regulator: sy8824x: add SY20276 support
git bisect good 92fd0db2cd414c5c78f8f959ed7325e2b24f9445
# good: [c0b913447b75538c3cf4b8016fd2e06509895020] regulator: slg51000: use devm_gpiod_get_optional() in probe
git bisect good c0b913447b75538c3cf4b8016fd2e06509895020
# bad: [c82f27df07573ec7b124efe176d2ac6c038787a5] regulator: core: Fix error return for /sys access
git bisect bad c82f27df07573ec7b124efe176d2ac6c038787a5
# bad: [9c86d003d62030e064f5670fb6172b65afd21e86] dt-bindings: regulator: add regulator-fixed-clock binding
git bisect bad 9c86d003d62030e064f5670fb6172b65afd21e86
# good: [d57d90f4443bd725b3facdc6130a1940af4560c4] regulator: s2mps11: Consistently use local variable
git bisect good d57d90f4443bd725b3facdc6130a1940af4560c4
# bad: [8959e5324485ace9bedc33ce1e760b759d4dd2ac] regulator: fixed: add possibility to enable by clock
git bisect bad 8959e5324485ace9bedc33ce1e760b759d4dd2ac
# first bad commit: [8959e5324485ace9bedc33ce1e760b759d4dd2ac] regulator: fixed: add possibility to enable by clock
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] regulator: fixed: add possibility to enable by clock
2019-10-07 13:29 ` Guenter Roeck
@ 2019-10-07 13:57 ` Philippe Schenker
2019-10-07 14:25 ` Guenter Roeck
0 siblings, 1 reply; 14+ messages in thread
From: Philippe Schenker @ 2019-10-07 13:57 UTC (permalink / raw)
To: linux
Cc: Max Krummenacher, Marcel Ziswiler, Luka Pivk, s.hauer, broonie,
devicetree, linux-kernel, shawnguo, Stefan Agner, lgirdwood,
robh+dt, mark.rutland
On Mon, 2019-10-07 at 06:29 -0700, Guenter Roeck wrote:
> On Tue, Sep 10, 2019 at 06:21:15AM +0000, Philippe Schenker wrote:
> > This commit adds the possibility to choose the compatible
> > "regulator-fixed-clock" in devicetree.
> >
> > This is a special regulator-fixed that has to have a clock, from
> > which
> > the regulator gets switched on and off.
> >
> > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
>
> This patch causes a crash in one of my qemu tests (kzm machine with
> imx_v6_v7_defconfig). Reverting this patch fixes the problem.
> Crash backtrace and bisect log attached below.
>
> Guenter
Axel Lin sent a patch to fix this NULL pointer issue with my patch
(Thanks by the way :)). I guess it will help for your issue. Could you
please test if this patch solves your issue?
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git/commit/?h=for-5.4&id=1d6db22ff7d67a17c571543c69c63b1d261249b0
https://lkml.org/lkml/2019/9/21/199
Mark Brown queued this patch already in his git-repo.
Philippe
>
> ---
> [ 24.718451] Unable to handle kernel NULL pointer dereference at
> virtual address 000000c0
> [ 24.718774] pgd = (ptrval)
> [ 24.718946] [000000c0] *pgd=00000000
> [ 24.719688] Internal error: Oops: 5 [#1] SMP ARM
> [ 24.720007] Modules linked in:
> [ 24.720356] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.0-rc1-
> 00258-g2d00aee21a5d #1
> [ 24.720522] Hardware name: Kyoto Microcomputer Co., Ltd. KZM-ARM11-
> 01
> [ 24.721143] PC is at reg_fixed_voltage_probe+0x38/0x2f4
> [ 24.721279] LR is at reg_fixed_voltage_probe+0x2c/0x2f4
> [ 24.721407] pc : [<c070c740>] lr : [<c070c734>] psr: 60000053
> [ 24.721551] sp : c20a9d60 ip : 00000000 fp : c13bf34c
> [ 24.721677] r10: 00000000 r9 : c1479348 r8 : c30208d0
> [ 24.721805] r7 : c1408b08 r6 : c30208e0 r5 : 00000000 r4 :
> c30208e0
> [ 24.721958] r3 : 00000000 r2 : 00000dc0 r1 : 000000e8 r0 :
> 00000000
> [ 24.722145] Flags: nZCv IRQs on FIQs off Mode SVC_32 ISA
> ARM Segment none
> [ 24.722273] Control: 00c5387d Table: 80004008 DAC: 00000051
> [ 24.722435] Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
> [ 24.722616] Stack: (0xc20a9d60 to 0xc20aa000)
> [ 24.723031] 9d60: c3019d90 c033ff9c 00000000 c301b380 c21c2700
> 00000000 c21c2700 c301b380
> [ 24.723407] 9d80: c3019d90 61093934 00000001 c30208e0 00000000
> c1479348 00000000 00000000
> [ 24.723767] 9da0: c1479348 00000000 c13bf34c c07ae608 c30208e0
> c1b63da0 c1b63da4 00000000
> [ 24.724120] 9dc0: 00000000 c07ac34c c30208e0 c1479348 c07ac7a0
> c1408b08 00000001 00000000
> [ 24.724485] 9de0: c1300584 c07ac5e0 c1479348 c20a9e44 c30208e0
> 00000000 c20a9e44 c07ac7a0
> [ 24.724862] 9e00: c1408b08 00000001 00000000 c1300584 c13bf34c
> c07aa4fc fffffff3 c20904d4
> [ 24.725215] 9e20: c21a1dd4 61093934 c30208e0 c30208e0 c3020968
> c1408b08 c1408b08 c07ac0a4
> [ 24.725575] 9e40: c209c000 c30208e0 00000001 61093934 c30208e0
> c30208e0 c1488db8 c1408b08
> [ 24.725963] 9e60: 00000000 c07ab3b4 c30208e0 c1488b00 00000000
> c07a7ab8 c1300584 c0dd7b04
> [ 24.726347] 9e80: c1408b08 c30208d0 c30208d0 61093934 c20a9ea8
> c3020800 00000000 c30208d0
> [ 24.726744] 9ea0: c30208e0 c14146d8 c14f93cc c07ae3d4 c3020800
> c30208d0 00000000 00000002
> [ 24.727127] 9ec0: c14146d8 c14f93cc c1300584 c070a4a8 c14146d8
> c1408b28 c1408b08 c1303c60
> [ 24.727504] 9ee0: 00000000 c130d094 00000000 c01aa5a4 c14fa7a0
> c1303c7c c14fa7a0 c01031d8
> [ 24.727894] 9f00: 0000019e 00000000 c7ffccec c7ffccda c12b19ac
> 0000019e 0000019e c01513b8
> [ 24.728277] 9f20: c1408b08 c018ab84 c1408b08 c14fa7a0 c1408b28
> c1500700 c139f850 0000019e
> [ 24.728662] 9f40: c1300584 c01aa5a4 00000000 61093934 c139f874
> c1500700 00000008 c1500700
> [ 24.729041] 9f60: c139f854 0000019e c1300584 c1301028 00000007
> 00000007 00000000 c1300584
> [ 24.729410] 9f80: 00000000 00000000 c0decf18 00000000 00000000
> 00000000 00000000 00000000
> [ 24.729788] 9fa0: 00000000 c0decf20 00000000 c01010b4 00000000
> 00000000 00000000 00000000
> [ 24.730167] 9fc0: 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 00000000
> [ 24.730544] 9fe0: 00000000 00000000 00000000 00000000 00000013
> 00000000 00000000 00000000
> [ 24.730948] [<c070c740>] (reg_fixed_voltage_probe) from
> [<c07ae608>] (platform_drv_probe+0x48/0x98)
> [ 24.731194] [<c07ae608>] (platform_drv_probe) from [<c07ac34c>]
> (really_probe+0x22c/0x34c)
> [ 24.731404] [<c07ac34c>] (really_probe) from [<c07ac5e0>]
> (driver_probe_device+0x5c/0x16c)
> [ 24.731606] [<c07ac5e0>] (driver_probe_device) from [<c07aa4fc>]
> (bus_for_each_drv+0x54/0xb8)
> [ 24.731810] [<c07aa4fc>] (bus_for_each_drv) from [<c07ac0a4>]
> (__device_attach+0xcc/0x140)
> [ 24.732010] [<c07ac0a4>] (__device_attach) from [<c07ab3b4>]
> (bus_probe_device+0x88/0x90)
> [ 24.732210] [<c07ab3b4>] (bus_probe_device) from [<c07a7ab8>]
> (device_add+0x388/0x608)
> [ 24.732406] [<c07a7ab8>] (device_add) from [<c07ae3d4>]
> (platform_device_add+0x100/0x210)
> [ 24.732612] [<c07ae3d4>] (platform_device_add) from [<c070a4a8>]
> (regulator_register_always_on+0xa0/0xc8)
> [ 24.732847] [<c070a4a8>] (regulator_register_always_on) from
> [<c130d094>] (kzm_late_init+0x48/0x88)
> [ 24.733069] [<c130d094>] (kzm_late_init) from [<c1303c7c>]
> (init_machine_late+0x1c/0x8c)
> [ 24.733292] [<c1303c7c>] (init_machine_late) from [<c01031d8>]
> (do_one_initcall+0x80/0x3ac)
> [ 24.733500] [<c01031d8>] (do_one_initcall) from [<c1301028>]
> (kernel_init_freeable+0x120/0x1e8)
> [ 24.733710] [<c1301028>] (kernel_init_freeable) from [<c0decf20>]
> (kernel_init+0x8/0x118)
> [ 24.733909] [<c0decf20>] (kernel_init) from [<c01010b4>]
> (ret_from_fork+0x14/0x20)
> [ 24.734111] Exception stack(0xc20a9fb0 to 0xc20a9ff8)
> [ 24.734355] 9fa0: 00000000
> 00000000 00000000 00000000
> [ 24.734758] 9fc0: 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 00000000
> [ 24.735101] 9fe0: 00000000 00000000 00000000 00000000 00000013
> 00000000
> [ 24.735650] Code: eb0d74e5 e3a03000 e3a02d37 e3a010e8 (e59090c0)
> [ 24.737370] ---[ end trace d0f5e68eb88278a8 ]---
> [ 24.739335] Kernel panic - not syncing: Attempted to kill init!
> exitcode=0x0000000b
>
> ---
> # bad: [ad062195731bea1624ce7160e79e0fcdaa25c1b5] Merge tag 'platform-
> drivers-x86-v5.4-1' of git://git.infradead.org/linux-platform-drivers-
> x86
> # good: [4d856f72c10ecb060868ed10ff1b1453943fc6c8] Linux 5.3
> git bisect start 'ad062195731b' '4d856f72c10e'
> # bad: [d47ebd684229f0048be5def6027bfcfbfe2db0d6] Merge tag 'armsoc-
> defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
> git bisect bad d47ebd684229f0048be5def6027bfcfbfe2db0d6
> # bad: [52a5525214d0d612160154d902956eca0558b7c0] Merge tag 'iommu-
> updates-v5.4' of
> git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
> git bisect bad 52a5525214d0d612160154d902956eca0558b7c0
> # bad: [aa62325dc38de2be8b1c27eb180ad3751b3f58ec] Merge tag 'spi-v5.4'
> of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
> git bisect bad aa62325dc38de2be8b1c27eb180ad3751b3f58ec
> # bad: [c4d11ccb2b5cec6cdef7aeeb0017473d23031d96] Merge tag
> 'regulator-v5.4' of
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
> git bisect bad c4d11ccb2b5cec6cdef7aeeb0017473d23031d96
> # good: [6729fb666a3b5a9a5ffa1bb6589127f7e4d35c38] Merge tag 'hwmon-
> for-v5.4' of
> git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
> git bisect good 6729fb666a3b5a9a5ffa1bb6589127f7e4d35c38
> # good: [92fd0db2cd414c5c78f8f959ed7325e2b24f9445] regulator: sy8824x:
> add SY20276 support
> git bisect good 92fd0db2cd414c5c78f8f959ed7325e2b24f9445
> # good: [c0b913447b75538c3cf4b8016fd2e06509895020] regulator:
> slg51000: use devm_gpiod_get_optional() in probe
> git bisect good c0b913447b75538c3cf4b8016fd2e06509895020
> # bad: [c82f27df07573ec7b124efe176d2ac6c038787a5] regulator: core: Fix
> error return for /sys access
> git bisect bad c82f27df07573ec7b124efe176d2ac6c038787a5
> # bad: [9c86d003d62030e064f5670fb6172b65afd21e86] dt-bindings:
> regulator: add regulator-fixed-clock binding
> git bisect bad 9c86d003d62030e064f5670fb6172b65afd21e86
> # good: [d57d90f4443bd725b3facdc6130a1940af4560c4] regulator: s2mps11:
> Consistently use local variable
> git bisect good d57d90f4443bd725b3facdc6130a1940af4560c4
> # bad: [8959e5324485ace9bedc33ce1e760b759d4dd2ac] regulator: fixed:
> add possibility to enable by clock
> git bisect bad 8959e5324485ace9bedc33ce1e760b759d4dd2ac
> # first bad commit: [8959e5324485ace9bedc33ce1e760b759d4dd2ac]
> regulator: fixed: add possibility to enable by clock
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] regulator: fixed: add possibility to enable by clock
2019-10-07 13:57 ` Philippe Schenker
@ 2019-10-07 14:25 ` Guenter Roeck
0 siblings, 0 replies; 14+ messages in thread
From: Guenter Roeck @ 2019-10-07 14:25 UTC (permalink / raw)
To: Philippe Schenker
Cc: Max Krummenacher, Marcel Ziswiler, Luka Pivk, s.hauer, broonie,
devicetree, linux-kernel, shawnguo, Stefan Agner, lgirdwood,
robh+dt, mark.rutland
On 10/7/19 6:57 AM, Philippe Schenker wrote:
> On Mon, 2019-10-07 at 06:29 -0700, Guenter Roeck wrote:
>> On Tue, Sep 10, 2019 at 06:21:15AM +0000, Philippe Schenker wrote:
>>> This commit adds the possibility to choose the compatible
>>> "regulator-fixed-clock" in devicetree.
>>>
>>> This is a special regulator-fixed that has to have a clock, from
>>> which
>>> the regulator gets switched on and off.
>>>
>>> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
>>
>> This patch causes a crash in one of my qemu tests (kzm machine with
>> imx_v6_v7_defconfig). Reverting this patch fixes the problem.
>> Crash backtrace and bisect log attached below.
>>
>> Guenter
>
> Axel Lin sent a patch to fix this NULL pointer issue with my patch
> (Thanks by the way :)). I guess it will help for your issue. Could you
> please test if this patch solves your issue?
>
Yes, it does. I replied with Tested-by: on the fixup patch.
Thanks,
Guenter
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2019-10-07 14:25 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-10 6:21 [PATCH v2 0/3] Add new binding regulator-fixed-clock to regulator-fixed Philippe Schenker
2019-09-10 6:21 ` Philippe Schenker
2019-09-10 6:21 ` Philippe Schenker
2019-09-10 6:21 ` [PATCH v2 1/3] regulator: fixed: add possibility to enable by clock Philippe Schenker
2019-10-07 13:29 ` Guenter Roeck
2019-10-07 13:57 ` Philippe Schenker
2019-10-07 14:25 ` Guenter Roeck
2019-09-10 6:21 ` [PATCH v2 2/3] ARM: dts: imx6ull-colibri: add phy-supply and respective regulator Philippe Schenker
2019-09-10 6:21 ` Philippe Schenker
2019-09-10 6:21 ` Philippe Schenker
2019-09-10 6:21 ` [PATCH v2 3/3] dt-bindings: regulator: add regulator-fixed-clock binding Philippe Schenker
2019-09-10 8:35 ` Rob Herring
2019-09-17 20:13 ` Rob Herring
2019-09-23 6:58 ` Philippe Schenker
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.