* [PATCH 1/1] iio: adc: meson-saradc: fix internal clock names
@ 2018-11-22 22:01 ` Martin Blumenstingl
0 siblings, 0 replies; 9+ messages in thread
From: Martin Blumenstingl @ 2018-11-22 22:01 UTC (permalink / raw)
To: linux-arm-kernel
Before this patch we are registering the internal clocks (for example on
Meson8b, where the SAR ADC IP block implements the divider and gate
clocks) with the following names:
- /soc/cbus at c1100000/adc at 8680#adc_div
- /soc/cbus at c1100000/adc at 8680#adc_en
This is bad because the common clock framework uses the clock to create
a directory in <debugfs>/clk. With such name, the directory creation
(silently) fails and the debugfs entry ends up being created at the
debugfs root.
With this change, the new clock names are:
- c1108680.adc#adc_div
- c1108680.adc#adc_en
This matches the clock naming scheme used in the PWM, Ethernet and MMC
drivers. It also fixes the problem with debugfs.
The idea is shamelessly taken from commit b96e9eb62841c5 ("pwm: meson:
Fix mux clock names").
Fixes: 3921db46a8c5bc ("iio: Convert to using %pOF instead of full_name")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/iio/adc/meson_saradc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index 6155d26091eb..729becb2d3d9 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -656,8 +656,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
struct clk_init_data init;
const char *clk_parents[1];
- init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_div",
- indio_dev->dev.of_node);
+ init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_div",
+ dev_name(indio_dev->dev.parent));
if (!init.name)
return -ENOMEM;
@@ -678,8 +678,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
if (WARN_ON(IS_ERR(priv->adc_div_clk)))
return PTR_ERR(priv->adc_div_clk);
- init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_en",
- indio_dev->dev.of_node);
+ init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_en",
+ dev_name(indio_dev->dev.parent));
if (!init.name)
return -ENOMEM;
--
2.19.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 1/1] iio: adc: meson-saradc: fix internal clock names
@ 2018-11-22 22:01 ` Martin Blumenstingl
0 siblings, 0 replies; 9+ messages in thread
From: Martin Blumenstingl @ 2018-11-22 22:01 UTC (permalink / raw)
To: jic23, knaack.h, lars, pmeerw, linux-iio, linux-amlogic
Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl
Before this patch we are registering the internal clocks (for example on
Meson8b, where the SAR ADC IP block implements the divider and gate
clocks) with the following names:
- /soc/cbus@c1100000/adc@8680#adc_div
- /soc/cbus@c1100000/adc@8680#adc_en
This is bad because the common clock framework uses the clock to create
a directory in <debugfs>/clk. With such name, the directory creation
(silently) fails and the debugfs entry ends up being created at the
debugfs root.
With this change, the new clock names are:
- c1108680.adc#adc_div
- c1108680.adc#adc_en
This matches the clock naming scheme used in the PWM, Ethernet and MMC
drivers. It also fixes the problem with debugfs.
The idea is shamelessly taken from commit b96e9eb62841c5 ("pwm: meson:
Fix mux clock names").
Fixes: 3921db46a8c5bc ("iio: Convert to using %pOF instead of full_name")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/iio/adc/meson_saradc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index 6155d26091eb..729becb2d3d9 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -656,8 +656,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
struct clk_init_data init;
const char *clk_parents[1];
- init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_div",
- indio_dev->dev.of_node);
+ init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_div",
+ dev_name(indio_dev->dev.parent));
if (!init.name)
return -ENOMEM;
@@ -678,8 +678,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
if (WARN_ON(IS_ERR(priv->adc_div_clk)))
return PTR_ERR(priv->adc_div_clk);
- init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_en",
- indio_dev->dev.of_node);
+ init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_en",
+ dev_name(indio_dev->dev.parent));
if (!init.name)
return -ENOMEM;
--
2.19.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 1/1] iio: adc: meson-saradc: fix internal clock names
2018-11-22 22:01 ` Martin Blumenstingl
(?)
@ 2018-11-25 10:43 ` Jonathan Cameron
-1 siblings, 0 replies; 9+ messages in thread
From: Jonathan Cameron @ 2018-11-25 10:43 UTC (permalink / raw)
To: linus-amlogic
On Thu, 22 Nov 2018 23:01:11 +0100
Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote:
> Before this patch we are registering the internal clocks (for example on
> Meson8b, where the SAR ADC IP block implements the divider and gate
> clocks) with the following names:
> - /soc/cbus at c1100000/adc at 8680#adc_div
> - /soc/cbus at c1100000/adc at 8680#adc_en
>
> This is bad because the common clock framework uses the clock to create
> a directory in <debugfs>/clk. With such name, the directory creation
> (silently) fails and the debugfs entry ends up being created at the
> debugfs root.
>
> With this change, the new clock names are:
> - c1108680.adc#adc_div
> - c1108680.adc#adc_en
>
> This matches the clock naming scheme used in the PWM, Ethernet and MMC
> drivers. It also fixes the problem with debugfs.
> The idea is shamelessly taken from commit b96e9eb62841c5 ("pwm: meson:
> Fix mux clock names").
>
> Fixes: 3921db46a8c5bc ("iio: Convert to using %pOF instead of full_name")
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
As this is debugfs I am not going to push this through the fast path.
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.
Thanks,
Jonathan
> ---
> drivers/iio/adc/meson_saradc.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
> index 6155d26091eb..729becb2d3d9 100644
> --- a/drivers/iio/adc/meson_saradc.c
> +++ b/drivers/iio/adc/meson_saradc.c
> @@ -656,8 +656,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
> struct clk_init_data init;
> const char *clk_parents[1];
>
> - init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_div",
> - indio_dev->dev.of_node);
> + init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_div",
> + dev_name(indio_dev->dev.parent));
> if (!init.name)
> return -ENOMEM;
>
> @@ -678,8 +678,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
> if (WARN_ON(IS_ERR(priv->adc_div_clk)))
> return PTR_ERR(priv->adc_div_clk);
>
> - init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_en",
> - indio_dev->dev.of_node);
> + init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_en",
> + dev_name(indio_dev->dev.parent));
> if (!init.name)
> return -ENOMEM;
>
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH 1/1] iio: adc: meson-saradc: fix internal clock names
@ 2018-11-25 10:43 ` Jonathan Cameron
0 siblings, 0 replies; 9+ messages in thread
From: Jonathan Cameron @ 2018-11-25 10:43 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 22 Nov 2018 23:01:11 +0100
Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote:
> Before this patch we are registering the internal clocks (for example on
> Meson8b, where the SAR ADC IP block implements the divider and gate
> clocks) with the following names:
> - /soc/cbus at c1100000/adc at 8680#adc_div
> - /soc/cbus at c1100000/adc at 8680#adc_en
>
> This is bad because the common clock framework uses the clock to create
> a directory in <debugfs>/clk. With such name, the directory creation
> (silently) fails and the debugfs entry ends up being created at the
> debugfs root.
>
> With this change, the new clock names are:
> - c1108680.adc#adc_div
> - c1108680.adc#adc_en
>
> This matches the clock naming scheme used in the PWM, Ethernet and MMC
> drivers. It also fixes the problem with debugfs.
> The idea is shamelessly taken from commit b96e9eb62841c5 ("pwm: meson:
> Fix mux clock names").
>
> Fixes: 3921db46a8c5bc ("iio: Convert to using %pOF instead of full_name")
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
As this is debugfs I am not going to push this through the fast path.
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.
Thanks,
Jonathan
> ---
> drivers/iio/adc/meson_saradc.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
> index 6155d26091eb..729becb2d3d9 100644
> --- a/drivers/iio/adc/meson_saradc.c
> +++ b/drivers/iio/adc/meson_saradc.c
> @@ -656,8 +656,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
> struct clk_init_data init;
> const char *clk_parents[1];
>
> - init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_div",
> - indio_dev->dev.of_node);
> + init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_div",
> + dev_name(indio_dev->dev.parent));
> if (!init.name)
> return -ENOMEM;
>
> @@ -678,8 +678,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
> if (WARN_ON(IS_ERR(priv->adc_div_clk)))
> return PTR_ERR(priv->adc_div_clk);
>
> - init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_en",
> - indio_dev->dev.of_node);
> + init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_en",
> + dev_name(indio_dev->dev.parent));
> if (!init.name)
> return -ENOMEM;
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 1/1] iio: adc: meson-saradc: fix internal clock names
@ 2018-11-25 10:43 ` Jonathan Cameron
0 siblings, 0 replies; 9+ messages in thread
From: Jonathan Cameron @ 2018-11-25 10:43 UTC (permalink / raw)
To: Martin Blumenstingl
Cc: knaack.h, lars, pmeerw, linux-iio, linux-amlogic,
linux-arm-kernel, linux-kernel
On Thu, 22 Nov 2018 23:01:11 +0100
Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote:
> Before this patch we are registering the internal clocks (for example on
> Meson8b, where the SAR ADC IP block implements the divider and gate
> clocks) with the following names:
> - /soc/cbus@c1100000/adc@8680#adc_div
> - /soc/cbus@c1100000/adc@8680#adc_en
>
> This is bad because the common clock framework uses the clock to create
> a directory in <debugfs>/clk. With such name, the directory creation
> (silently) fails and the debugfs entry ends up being created at the
> debugfs root.
>
> With this change, the new clock names are:
> - c1108680.adc#adc_div
> - c1108680.adc#adc_en
>
> This matches the clock naming scheme used in the PWM, Ethernet and MMC
> drivers. It also fixes the problem with debugfs.
> The idea is shamelessly taken from commit b96e9eb62841c5 ("pwm: meson:
> Fix mux clock names").
>
> Fixes: 3921db46a8c5bc ("iio: Convert to using %pOF instead of full_name")
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
As this is debugfs I am not going to push this through the fast path.
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.
Thanks,
Jonathan
> ---
> drivers/iio/adc/meson_saradc.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
> index 6155d26091eb..729becb2d3d9 100644
> --- a/drivers/iio/adc/meson_saradc.c
> +++ b/drivers/iio/adc/meson_saradc.c
> @@ -656,8 +656,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
> struct clk_init_data init;
> const char *clk_parents[1];
>
> - init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_div",
> - indio_dev->dev.of_node);
> + init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_div",
> + dev_name(indio_dev->dev.parent));
> if (!init.name)
> return -ENOMEM;
>
> @@ -678,8 +678,8 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
> if (WARN_ON(IS_ERR(priv->adc_div_clk)))
> return PTR_ERR(priv->adc_div_clk);
>
> - init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_en",
> - indio_dev->dev.of_node);
> + init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_en",
> + dev_name(indio_dev->dev.parent));
> if (!init.name)
> return -ENOMEM;
>
^ permalink raw reply [flat|nested] 9+ messages in thread