On Thu, 22 Nov 2018 23:01:11 +0100 Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> 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; >