public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] admv8818 driver fixes
@ 2022-03-18  2:59 Wang ShaoBo
  2022-03-18  2:59 ` [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP Wang ShaoBo
  2022-03-18  2:59 ` [PATCH 2/2] iio:filter:admv8818: Fix missing clk_disable_unprepare() in admv8818_clk_setup Wang ShaoBo
  0 siblings, 2 replies; 6+ messages in thread
From: Wang ShaoBo @ 2022-03-18  2:59 UTC (permalink / raw)
  Cc: cj.chengjian, liwei391, bobo.shaobowang, antoniu.miclaus,
	linux-iio, linux-kernel, jic23, Jonathan.Cameron

admv8818 driver fixes

Wang ShaoBo (2):
  iio:filter:admv8818: Add depends on REGMAP
  iio:filter:admv8818: Fix missing clk_disable_unprepare() in
    admv8818_clk_setup

 drivers/iio/filter/Kconfig    |  2 +-
 drivers/iio/filter/admv8818.c | 14 +++++++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP
  2022-03-18  2:59 [PATCH 0/2] admv8818 driver fixes Wang ShaoBo
@ 2022-03-18  2:59 ` Wang ShaoBo
  2022-03-18  8:45   ` Sa, Nuno
  2022-03-18  2:59 ` [PATCH 2/2] iio:filter:admv8818: Fix missing clk_disable_unprepare() in admv8818_clk_setup Wang ShaoBo
  1 sibling, 1 reply; 6+ messages in thread
From: Wang ShaoBo @ 2022-03-18  2:59 UTC (permalink / raw)
  Cc: cj.chengjian, liwei391, bobo.shaobowang, antoniu.miclaus,
	linux-iio, linux-kernel, jic23, Jonathan.Cameron

Add "depends on REGMAP" to CONFIG_ADMV8818, because admv8818 driver
uses structure/symbols such as 'struct regmap_config' which are defined
only when CONFIG_REGMAP is set.

Fixes: f34fe888ad05 ("iio:filter:admv8818: add support for ADMV8818")
Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com>
---
 drivers/iio/filter/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/filter/Kconfig b/drivers/iio/filter/Kconfig
index 3ae35817ad82..4bbf10f8692c 100644
--- a/drivers/iio/filter/Kconfig
+++ b/drivers/iio/filter/Kconfig
@@ -7,7 +7,7 @@ menu "Filters"
 
 config ADMV8818
 	tristate "Analog Devices ADMV8818 High-Pass and Low-Pass Filter"
-	depends on SPI && COMMON_CLK && 64BIT
+	depends on REGMAP && SPI && COMMON_CLK && 64BIT
 	help
 	  Say yes here to build support for Analog Devices ADMV8818
 	  2 GHz to 18 GHz, Digitally Tunable, High-Pass and Low-Pass Filter.
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] iio:filter:admv8818: Fix missing clk_disable_unprepare() in admv8818_clk_setup
  2022-03-18  2:59 [PATCH 0/2] admv8818 driver fixes Wang ShaoBo
  2022-03-18  2:59 ` [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP Wang ShaoBo
@ 2022-03-18  2:59 ` Wang ShaoBo
  2022-03-18  3:29   ` 答复: " Wangshaobo (bobo)
  1 sibling, 1 reply; 6+ messages in thread
From: Wang ShaoBo @ 2022-03-18  2:59 UTC (permalink / raw)
  Cc: cj.chengjian, liwei391, bobo.shaobowang, antoniu.miclaus,
	linux-iio, linux-kernel, jic23, Jonathan.Cameron

Fix missing clk_disable_unprepare() before return from admv8818_clk_setup
in the error handling cases.

Fixes: f34fe888ad05 ("iio:filter:admv8818: add support for ADMV8818")
Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com>
---
 drivers/iio/filter/admv8818.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/filter/admv8818.c b/drivers/iio/filter/admv8818.c
index 68de45fe21b4..acb436efd8b5 100644
--- a/drivers/iio/filter/admv8818.c
+++ b/drivers/iio/filter/admv8818.c
@@ -590,14 +590,22 @@ static int admv8818_clk_setup(struct admv8818_state *st)
 
 	ret = devm_add_action_or_reset(&spi->dev, admv8818_clk_disable, st);
 	if (ret)
-		return ret;
+		goto out_clk_disable;
 
 	st->nb.notifier_call = admv8818_freq_change;
 	ret = clk_notifier_register(st->clkin, &st->nb);
 	if (ret < 0)
-		return ret;
+		goto out_clk_disable;
+
+	ret = devm_add_action_or_reset(&spi->dev, admv8818_clk_notifier_unreg, st);
+	if (ret)
+		goto out_clk_disable;
+
+	return 0;
 
-	return devm_add_action_or_reset(&spi->dev, admv8818_clk_notifier_unreg, st);
+out_clk_disable:
+	clk_disable_unprepare(st->clkin);
+	return ret;
 }
 
 static int admv8818_probe(struct spi_device *spi)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* 答复: [PATCH 2/2] iio:filter:admv8818: Fix missing clk_disable_unprepare() in admv8818_clk_setup
  2022-03-18  2:59 ` [PATCH 2/2] iio:filter:admv8818: Fix missing clk_disable_unprepare() in admv8818_clk_setup Wang ShaoBo
@ 2022-03-18  3:29   ` Wangshaobo (bobo)
  0 siblings, 0 replies; 6+ messages in thread
From: Wangshaobo (bobo) @ 2022-03-18  3:29 UTC (permalink / raw)
  Cc: chengjian (D), liwei (GF), antoniu.miclaus@analog.com,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	jic23@kernel.org, Jonathan Cameron, Wangshaobo (bobo)


-----邮件原件-----
发件人: Wangshaobo (bobo) 
发送时间: 2022年3月18日 10:59
抄送: chengjian (D) <cj.chengjian@huawei.com>; liwei (GF) <liwei391@huawei.com>; Wangshaobo (bobo) <bobo.shaobowang@huawei.com>; antoniu.miclaus@analog.com; linux-iio@vger.kernel.org; linux-kernel@vger.kernel.org; jic23@kernel.org; Jonathan Cameron <jonathan.cameron@huawei.com>
主题: [PATCH 2/2] iio:filter:admv8818: Fix missing clk_disable_unprepare() in admv8818_clk_setup

Fix missing clk_disable_unprepare() before return from admv8818_clk_setup in the error handling cases.

Fixes: f34fe888ad05 ("iio:filter:admv8818: add support for ADMV8818")
Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com>
---
 drivers/iio/filter/admv8818.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/filter/admv8818.c b/drivers/iio/filter/admv8818.c index 68de45fe21b4..acb436efd8b5 100644
--- a/drivers/iio/filter/admv8818.c
+++ b/drivers/iio/filter/admv8818.c
@@ -590,14 +590,22 @@ static int admv8818_clk_setup(struct admv8818_state *st)
 
 	ret = devm_add_action_or_reset(&spi->dev, admv8818_clk_disable, st);
 	if (ret)
-		return ret;
+		goto out_clk_disable;

admv8818_clk_disable() would do clk_disable_unprepare(), so clk_disable_unprepare() is not needed after
devm_add_action_or_reset(),there is no problem in this function.

this patch is not needed anymore.

-- wangshaobo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP
  2022-03-18  2:59 ` [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP Wang ShaoBo
@ 2022-03-18  8:45   ` Sa, Nuno
  2022-03-20  5:32     ` Wangshaobo (bobo)
  0 siblings, 1 reply; 6+ messages in thread
From: Sa, Nuno @ 2022-03-18  8:45 UTC (permalink / raw)
  To: Wang ShaoBo
  Cc: cj.chengjian@huawei.com, liwei391@huawei.com, Miclaus, Antoniu,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	jic23@kernel.org, Jonathan.Cameron@huawei.com

Hi Wang,

Thanks for the patch

> -----Original Message-----
> From: Wang ShaoBo <bobo.shaobowang@huawei.com>
> Sent: Friday, March 18, 2022 3:59 AM
> Cc: cj.chengjian@huawei.com; liwei391@huawei.com;
> bobo.shaobowang@huawei.com; Miclaus, Antoniu
> <Antoniu.Miclaus@analog.com>; linux-iio@vger.kernel.org; linux-
> kernel@vger.kernel.org; jic23@kernel.org;
> Jonathan.Cameron@huawei.com
> Subject: [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP
> 
> [External]
> 
> Add "depends on REGMAP" to CONFIG_ADMV8818, because
> admv8818 driver
> uses structure/symbols such as 'struct regmap_config' which are
> defined
> only when CONFIG_REGMAP is set.
> 
> Fixes: f34fe888ad05 ("iio:filter:admv8818: add support for ADMV8818")
> Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com>
> ---
>  drivers/iio/filter/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/filter/Kconfig b/drivers/iio/filter/Kconfig
> index 3ae35817ad82..4bbf10f8692c 100644
> --- a/drivers/iio/filter/Kconfig
> +++ b/drivers/iio/filter/Kconfig
> @@ -7,7 +7,7 @@ menu "Filters"
> 
>  config ADMV8818
>  	tristate "Analog Devices ADMV8818 High-Pass and Low-Pass
> Filter"
> -	depends on SPI && COMMON_CLK && 64BIT
> +	depends on REGMAP && SPI && COMMON_CLK && 64BIT

I think the best way is to have select REGMAP_SPI. Hence:

    depends on SPI && COMMON_CLK && 64BIT
    select REGMAP_SPI

This will automatically default CONFIG_REGMAP to y. with your
patch, I guess we can still have issues with ' __devm_regmap_init_spi()'

- Nuno Sá

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP
  2022-03-18  8:45   ` Sa, Nuno
@ 2022-03-20  5:32     ` Wangshaobo (bobo)
  0 siblings, 0 replies; 6+ messages in thread
From: Wangshaobo (bobo) @ 2022-03-20  5:32 UTC (permalink / raw)
  To: Sa, Nuno
  Cc: cj.chengjian@huawei.com, liwei391@huawei.com, Miclaus, Antoniu,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	jic23@kernel.org, Jonathan.Cameron@huawei.com


在 2022/3/18 16:45, Sa, Nuno 写道:
> Hi Wang,
>
> Thanks for the patch
>
>> -----Original Message-----
>> From: Wang ShaoBo <bobo.shaobowang@huawei.com>
>> Sent: Friday, March 18, 2022 3:59 AM
>> Cc: cj.chengjian@huawei.com; liwei391@huawei.com;
>> bobo.shaobowang@huawei.com; Miclaus, Antoniu
>> <Antoniu.Miclaus@analog.com>; linux-iio@vger.kernel.org; linux-
>> kernel@vger.kernel.org; jic23@kernel.org;
>> Jonathan.Cameron@huawei.com
>> Subject: [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP
>>
>> [External]
>>
>> Add "depends on REGMAP" to CONFIG_ADMV8818, because
>> admv8818 driver
>> uses structure/symbols such as 'struct regmap_config' which are
>> defined
>> only when CONFIG_REGMAP is set.
>>
>> Fixes: f34fe888ad05 ("iio:filter:admv8818: add support for ADMV8818")
>> Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com>
>> ---
>>   drivers/iio/filter/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/iio/filter/Kconfig b/drivers/iio/filter/Kconfig
>> index 3ae35817ad82..4bbf10f8692c 100644
>> --- a/drivers/iio/filter/Kconfig
>> +++ b/drivers/iio/filter/Kconfig
>> @@ -7,7 +7,7 @@ menu "Filters"
>>
>>   config ADMV8818
>>   	tristate "Analog Devices ADMV8818 High-Pass and Low-Pass
>> Filter"
>> -	depends on SPI && COMMON_CLK && 64BIT
>> +	depends on REGMAP && SPI && COMMON_CLK && 64BIT
> I think the best way is to have select REGMAP_SPI. Hence:
>
>      depends on SPI && COMMON_CLK && 64BIT
>      select REGMAP_SPI
>
> This will automatically default CONFIG_REGMAP to y. with your
> patch, I guess we can still have issues with ' __devm_regmap_init_spi()'
>
> - Nuno Sá
> .

Yes, only set REGMAP but REGMAP_SPI may causing __devm_regmap_init_spi 
undeined.

-- wangshaobo


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-03-20  5:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-18  2:59 [PATCH 0/2] admv8818 driver fixes Wang ShaoBo
2022-03-18  2:59 ` [PATCH 1/2] iio:filter:admv8818: Add depends on REGMAP Wang ShaoBo
2022-03-18  8:45   ` Sa, Nuno
2022-03-20  5:32     ` Wangshaobo (bobo)
2022-03-18  2:59 ` [PATCH 2/2] iio:filter:admv8818: Fix missing clk_disable_unprepare() in admv8818_clk_setup Wang ShaoBo
2022-03-18  3:29   ` 答复: " Wangshaobo (bobo)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox