All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP
@ 2020-10-29 10:06 Coiby Xu
  2020-10-29 10:06 ` [PATCH 2/9] mfd: motorola-cpcap: " Coiby Xu
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones
  Cc: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	open list:MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BO...

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/max77686.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c
index 71faf503844b..8c701f8a9dd5 100644
--- a/drivers/mfd/max77686.c
+++ b/drivers/mfd/max77686.c
@@ -227,7 +227,6 @@ static int max77686_i2c_probe(struct i2c_client *i2c)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int max77686_suspend(struct device *dev)
 {
 	struct i2c_client *i2c = to_i2c_client(dev);
@@ -262,7 +261,6 @@ static int max77686_resume(struct device *dev)
 
 	return 0;
 }
-#endif /* CONFIG_PM_SLEEP */
 
 static SIMPLE_DEV_PM_OPS(max77686_pm, max77686_suspend, max77686_resume);
 
-- 
2.28.0


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

* [PATCH 2/9] mfd: motorola-cpcap: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
@ 2020-10-29 10:06 ` Coiby Xu
  2020-10-29 10:06 ` [PATCH 3/9] mfd: intel_soc_pmic: " Coiby Xu
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones; +Cc: open list

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/motorola-cpcap.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c
index 2283d88adcc2..97c07a5641c5 100644
--- a/drivers/mfd/motorola-cpcap.c
+++ b/drivers/mfd/motorola-cpcap.c
@@ -214,7 +214,6 @@ static const struct regmap_config cpcap_regmap_config = {
 	.val_format_endian = REGMAP_ENDIAN_LITTLE,
 };
 
-#ifdef CONFIG_PM_SLEEP
 static int cpcap_suspend(struct device *dev)
 {
 	struct spi_device *spi = to_spi_device(dev);
@@ -232,7 +231,6 @@ static int cpcap_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static SIMPLE_DEV_PM_OPS(cpcap_pm, cpcap_suspend, cpcap_resume);
 
-- 
2.28.0


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

* [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
  2020-10-29 10:06 ` [PATCH 2/9] mfd: motorola-cpcap: " Coiby Xu
@ 2020-10-29 10:06 ` Coiby Xu
  2020-10-29 11:00   ` Andy Shevchenko
  2020-10-29 10:06 ` [PATCH 4/9] mfd: max77620: " Coiby Xu
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones; +Cc: Andy Shevchenko, open list

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/intel_soc_pmic_core.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/intel_soc_pmic_core.c b/drivers/mfd/intel_soc_pmic_core.c
index ddd64f9e3341..c980af9ae1c0 100644
--- a/drivers/mfd/intel_soc_pmic_core.c
+++ b/drivers/mfd/intel_soc_pmic_core.c
@@ -122,7 +122,6 @@ static void intel_soc_pmic_shutdown(struct i2c_client *i2c)
 	return;
 }
 
-#if defined(CONFIG_PM_SLEEP)
 static int intel_soc_pmic_suspend(struct device *dev)
 {
 	struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
@@ -140,7 +139,6 @@ static int intel_soc_pmic_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static SIMPLE_DEV_PM_OPS(intel_soc_pmic_pm_ops, intel_soc_pmic_suspend,
 			 intel_soc_pmic_resume);
-- 
2.28.0


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

* [PATCH 4/9] mfd: max77620: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
  2020-10-29 10:06 ` [PATCH 2/9] mfd: motorola-cpcap: " Coiby Xu
  2020-10-29 10:06 ` [PATCH 3/9] mfd: intel_soc_pmic: " Coiby Xu
@ 2020-10-29 10:06 ` Coiby Xu
  2020-10-29 10:06 ` [PATCH 5/9] mfd: stpmic1: " Coiby Xu
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones; +Cc: open list

SET_SYSTEM_SLEEP_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/max77620.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/max77620.c b/drivers/mfd/max77620.c
index fec2096474ad..17ea0ae6408d 100644
--- a/drivers/mfd/max77620.c
+++ b/drivers/mfd/max77620.c
@@ -574,7 +574,6 @@ static int max77620_probe(struct i2c_client *client,
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int max77620_set_fps_period(struct max77620_chip *chip,
 				   int fps_id, int time_period)
 {
@@ -681,7 +680,6 @@ static int max77620_i2c_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static const struct i2c_device_id max77620_id[] = {
 	{"max77620", MAX77620},
-- 
2.28.0


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

* [PATCH 5/9] mfd: stpmic1: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
                   ` (2 preceding siblings ...)
  2020-10-29 10:06 ` [PATCH 4/9] mfd: max77620: " Coiby Xu
@ 2020-10-29 10:06 ` Coiby Xu
  2020-10-29 10:06   ` Coiby Xu
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones; +Cc: open list

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/stpmic1.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/stpmic1.c b/drivers/mfd/stpmic1.c
index eb3da558c3fb..8be7a6dd9bbb 100644
--- a/drivers/mfd/stpmic1.c
+++ b/drivers/mfd/stpmic1.c
@@ -162,7 +162,6 @@ static int stpmic1_probe(struct i2c_client *i2c,
 	return devm_of_platform_populate(dev);
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int stpmic1_suspend(struct device *dev)
 {
 	struct i2c_client *i2c = to_i2c_client(dev);
@@ -187,7 +186,6 @@ static int stpmic1_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static SIMPLE_DEV_PM_OPS(stpmic1_pm, stpmic1_suspend, stpmic1_resume);
 
-- 
2.28.0


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

* [PATCH 6/9] mfd: stmfx: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
@ 2020-10-29 10:06   ` Coiby Xu
  2020-10-29 10:06 ` [PATCH 3/9] mfd: intel_soc_pmic: " Coiby Xu
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones
  Cc: Maxime Coquelin, Alexandre Torgue,
	moderated list:ARM/STM32 ARCHITECTURE,
	moderated list:ARM/STM32 ARCHITECTURE, open list

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/stmfx.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/stmfx.c b/drivers/mfd/stmfx.c
index 5e680bfdf5c9..e760cf2be02e 100644
--- a/drivers/mfd/stmfx.c
+++ b/drivers/mfd/stmfx.c
@@ -469,7 +469,6 @@ static int stmfx_remove(struct i2c_client *client)
 	return stmfx_chip_exit(client);
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int stmfx_suspend(struct device *dev)
 {
 	struct stmfx *stmfx = dev_get_drvdata(dev);
@@ -535,7 +534,6 @@ static int stmfx_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static SIMPLE_DEV_PM_OPS(stmfx_dev_pm_ops, stmfx_suspend, stmfx_resume);
 
-- 
2.28.0


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

* [PATCH 6/9] mfd: stmfx: remove unnecessary CONFIG_PM_SLEEP
@ 2020-10-29 10:06   ` Coiby Xu
  0 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones
  Cc: moderated list:ARM/STM32 ARCHITECTURE, open list,
	Alexandre Torgue, Maxime Coquelin,
	moderated list:ARM/STM32 ARCHITECTURE

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/stmfx.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/stmfx.c b/drivers/mfd/stmfx.c
index 5e680bfdf5c9..e760cf2be02e 100644
--- a/drivers/mfd/stmfx.c
+++ b/drivers/mfd/stmfx.c
@@ -469,7 +469,6 @@ static int stmfx_remove(struct i2c_client *client)
 	return stmfx_chip_exit(client);
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int stmfx_suspend(struct device *dev)
 {
 	struct stmfx *stmfx = dev_get_drvdata(dev);
@@ -535,7 +534,6 @@ static int stmfx_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static SIMPLE_DEV_PM_OPS(stmfx_dev_pm_ops, stmfx_suspend, stmfx_resume);
 
-- 
2.28.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] 25+ messages in thread

* [PATCH 7/9] mfd: sec: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
                   ` (4 preceding siblings ...)
  2020-10-29 10:06   ` Coiby Xu
@ 2020-10-29 10:06 ` Coiby Xu
  2020-10-29 10:06 ` [PATCH 8/9] mfd: max14577: " Coiby Xu
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones
  Cc: Sangbeom Kim, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	open list:SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS,
	open list:SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/sec-core.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
index 95473ff9bb4b..a5d19798d671 100644
--- a/drivers/mfd/sec-core.c
+++ b/drivers/mfd/sec-core.c
@@ -496,7 +496,6 @@ static void sec_pmic_shutdown(struct i2c_client *i2c)
 	regmap_update_bits(sec_pmic->regmap_pmic, reg, mask, 0);
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int sec_pmic_suspend(struct device *dev)
 {
 	struct i2c_client *i2c = to_i2c_client(dev);
@@ -529,7 +528,6 @@ static int sec_pmic_resume(struct device *dev)
 
 	return 0;
 }
-#endif /* CONFIG_PM_SLEEP */
 
 static SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resume);
 
-- 
2.28.0


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

* [PATCH 8/9] mfd: max14577: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
                   ` (5 preceding siblings ...)
  2020-10-29 10:06 ` [PATCH 7/9] mfd: sec: " Coiby Xu
@ 2020-10-29 10:06 ` Coiby Xu
  2020-10-29 10:06 ` [PATCH 9/9] mfd: sprd-sc27xx-spi: " Coiby Xu
  2020-10-29 18:32 ` [PATCH 1/9] mfd: maxim: " Krzysztof Kozlowski
  8 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones
  Cc: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	open list:MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BO...

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/max14577.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/max14577.c b/drivers/mfd/max14577.c
index be185e9d5f16..c619dd8172d5 100644
--- a/drivers/mfd/max14577.c
+++ b/drivers/mfd/max14577.c
@@ -482,7 +482,6 @@ static const struct i2c_device_id max14577_i2c_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, max14577_i2c_id);
 
-#ifdef CONFIG_PM_SLEEP
 static int max14577_suspend(struct device *dev)
 {
 	struct i2c_client *i2c = to_i2c_client(dev);
@@ -515,7 +514,6 @@ static int max14577_resume(struct device *dev)
 
 	return 0;
 }
-#endif /* CONFIG_PM_SLEEP */
 
 static SIMPLE_DEV_PM_OPS(max14577_pm, max14577_suspend, max14577_resume);
 
-- 
2.28.0


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

* [PATCH 9/9] mfd: sprd-sc27xx-spi: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
                   ` (6 preceding siblings ...)
  2020-10-29 10:06 ` [PATCH 8/9] mfd: max14577: " Coiby Xu
@ 2020-10-29 10:06 ` Coiby Xu
  2020-10-30  4:02   ` Chunyan Zhang
  2020-10-29 18:32 ` [PATCH 1/9] mfd: maxim: " Krzysztof Kozlowski
  8 siblings, 1 reply; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 10:06 UTC (permalink / raw)
  To: Lee Jones; +Cc: Orson Zhai, Baolin Wang, Chunyan Zhang, open list

SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/mfd/sprd-sc27xx-spi.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/mfd/sprd-sc27xx-spi.c b/drivers/mfd/sprd-sc27xx-spi.c
index 6b7956604a0f..4db2ec9ef2ff 100644
--- a/drivers/mfd/sprd-sc27xx-spi.c
+++ b/drivers/mfd/sprd-sc27xx-spi.c
@@ -206,7 +206,6 @@ static int sprd_pmic_probe(struct spi_device *spi)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int sprd_pmic_suspend(struct device *dev)
 {
 	struct sprd_pmic *ddata = dev_get_drvdata(dev);
@@ -226,7 +225,6 @@ static int sprd_pmic_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static SIMPLE_DEV_PM_OPS(sprd_pmic_pm_ops, sprd_pmic_suspend, sprd_pmic_resume);
 
-- 
2.28.0


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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 ` [PATCH 3/9] mfd: intel_soc_pmic: " Coiby Xu
@ 2020-10-29 11:00   ` Andy Shevchenko
  2020-10-29 14:29     ` Coiby Xu
  0 siblings, 1 reply; 25+ messages in thread
From: Andy Shevchenko @ 2020-10-29 11:00 UTC (permalink / raw)
  To: Coiby Xu; +Cc: Lee Jones, Andy Shevchenko, open list

On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
> SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

Have you compiled this with
	% make W=1 ...
?


-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 11:00   ` Andy Shevchenko
@ 2020-10-29 14:29     ` Coiby Xu
  2020-10-29 15:27       ` Lee Jones
  0 siblings, 1 reply; 25+ messages in thread
From: Coiby Xu @ 2020-10-29 14:29 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Lee Jones, Andy Shevchenko, open list

On Thu, Oct 29, 2020 at 01:00:29PM +0200, Andy Shevchenko wrote:
>On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
>> SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
>
>Have you compiled this with
>	% make W=1 ...
>?
>

Sorry my bad. I thought I had run "make modules" with CONFIG_PM_SLEEP
disabled. I'll run "make W=1 M=..." for each driver after adding
__maybe_unused in v2.

>
>--
>With Best Regards,
>Andy Shevchenko
>
>

--
Best regards,
Coiby

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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 14:29     ` Coiby Xu
@ 2020-10-29 15:27       ` Lee Jones
  2020-10-29 17:04         ` Andy Shevchenko
  0 siblings, 1 reply; 25+ messages in thread
From: Lee Jones @ 2020-10-29 15:27 UTC (permalink / raw)
  To: Coiby Xu; +Cc: Andy Shevchenko, Andy Shevchenko, open list

On Thu, 29 Oct 2020, Coiby Xu wrote:

> On Thu, Oct 29, 2020 at 01:00:29PM +0200, Andy Shevchenko wrote:
> > On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
> > > SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
> > 
> > Have you compiled this with
> > 	% make W=1 ...
> > ?
> > 
> 
> Sorry my bad. I thought I had run "make modules" with CONFIG_PM_SLEEP
> disabled. I'll run "make W=1 M=..." for each driver after adding
> __maybe_unused in v2.

No, thank you.  Just keep it as it is.

The current code is space saving.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 15:27       ` Lee Jones
@ 2020-10-29 17:04         ` Andy Shevchenko
  2020-10-30 14:22           ` Coiby Xu
  2020-11-02  8:39           ` Lee Jones
  0 siblings, 2 replies; 25+ messages in thread
From: Andy Shevchenko @ 2020-10-29 17:04 UTC (permalink / raw)
  To: Lee Jones; +Cc: Coiby Xu, Andy Shevchenko, Andy Shevchenko, open list

On Thu, Oct 29, 2020 at 5:27 PM Lee Jones <lee.jones@linaro.org> wrote:
> On Thu, 29 Oct 2020, Coiby Xu wrote:
> > On Thu, Oct 29, 2020 at 01:00:29PM +0200, Andy Shevchenko wrote:
> > > On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
> > > > SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
> > >
> > > Have you compiled this with
> > >     % make W=1 ...
> > > ?
> > >
> >
> > Sorry my bad. I thought I had run "make modules" with CONFIG_PM_SLEEP
> > disabled. I'll run "make W=1 M=..." for each driver after adding
> > __maybe_unused in v2.
>
> No, thank you.  Just keep it as it is.
>
> The current code is space saving.

Perhaps you need to go thru __maybe_unused handling.
There are pros and cons of each approach, but not above.

-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
                   ` (7 preceding siblings ...)
  2020-10-29 10:06 ` [PATCH 9/9] mfd: sprd-sc27xx-spi: " Coiby Xu
@ 2020-10-29 18:32 ` Krzysztof Kozlowski
  2020-10-30 15:01   ` Coiby Xu
  8 siblings, 1 reply; 25+ messages in thread
From: Krzysztof Kozlowski @ 2020-10-29 18:32 UTC (permalink / raw)
  To: Coiby Xu
  Cc: Lee Jones, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
	open list:MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BO...

On Thu, Oct 29, 2020 at 06:06:39PM +0800, Coiby Xu wrote:
> SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.

I don't quite get what did you mean by "took good care". This should
cause warnings of unused structure.  Comment applies to other patches as
well.

Also, the title prefix is: "mfd: max77686:"

Best regards,
Krzysztof


> 
> Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
> ---
>  drivers/mfd/max77686.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c
> index 71faf503844b..8c701f8a9dd5 100644
> --- a/drivers/mfd/max77686.c
> +++ b/drivers/mfd/max77686.c
> @@ -227,7 +227,6 @@ static int max77686_i2c_probe(struct i2c_client *i2c)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int max77686_suspend(struct device *dev)
>  {
>  	struct i2c_client *i2c = to_i2c_client(dev);
> @@ -262,7 +261,6 @@ static int max77686_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif /* CONFIG_PM_SLEEP */
>  
>  static SIMPLE_DEV_PM_OPS(max77686_pm, max77686_suspend, max77686_resume);
>  
> -- 
> 2.28.0
> 

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

* Re: [PATCH 6/9] mfd: stmfx: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06   ` Coiby Xu
@ 2020-10-29 22:36     ` kernel test robot
  -1 siblings, 0 replies; 25+ messages in thread
From: kernel test robot @ 2020-10-29 22:36 UTC (permalink / raw)
  To: Coiby Xu, Lee Jones
  Cc: kbuild-all, Maxime Coquelin, Alexandre Torgue, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 5297 bytes --]

Hi Coiby,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on lee-mfd/for-mfd-next]
[also build test ERROR on chanwoo-extcon/extcon-next v5.10-rc1 next-20201029]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Coiby-Xu/mfd-maxim-remove-unnecessary-CONFIG_PM_SLEEP/20201029-180931
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/af64db6e5065ea1b51445005e0e675f8a49db5ec
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Coiby-Xu/mfd-maxim-remove-unnecessary-CONFIG_PM_SLEEP/20201029-180931
        git checkout af64db6e5065ea1b51445005e0e675f8a49db5ec
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/mfd/stmfx.c: In function 'stmfx_suspend':
>> drivers/mfd/stmfx.c:478:16: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     478 |          &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                ^~
   drivers/mfd/stmfx.c:478:43: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     478 |          &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                                           ^~
>> drivers/mfd/stmfx.c:483:16: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     483 |          &stmfx->bkp_irqoutpin,
         |                ^~
   drivers/mfd/stmfx.c:484:22: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     484 |          sizeof(stmfx->bkp_irqoutpin));
         |                      ^~
   drivers/mfd/stmfx.c: In function 'stmfx_resume':
   drivers/mfd/stmfx.c:518:17: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     518 |           &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                 ^~
   drivers/mfd/stmfx.c:518:44: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     518 |           &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                                            ^~
   drivers/mfd/stmfx.c:523:17: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     523 |           &stmfx->bkp_irqoutpin,
         |                 ^~
   drivers/mfd/stmfx.c:524:23: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     524 |           sizeof(stmfx->bkp_irqoutpin));
         |                       ^~
   At top level:
   drivers/mfd/stmfx.c:496:12: warning: 'stmfx_resume' defined but not used [-Wunused-function]
     496 | static int stmfx_resume(struct device *dev)
         |            ^~~~~~~~~~~~
   drivers/mfd/stmfx.c:472:12: warning: 'stmfx_suspend' defined but not used [-Wunused-function]
     472 | static int stmfx_suspend(struct device *dev)
         |            ^~~~~~~~~~~~~

vim +478 drivers/mfd/stmfx.c

06252ade9156657 Amelie Delaunay 2019-05-09  471  
06252ade9156657 Amelie Delaunay 2019-05-09  472  static int stmfx_suspend(struct device *dev)
06252ade9156657 Amelie Delaunay 2019-05-09  473  {
06252ade9156657 Amelie Delaunay 2019-05-09  474  	struct stmfx *stmfx = dev_get_drvdata(dev);
06252ade9156657 Amelie Delaunay 2019-05-09  475  	int ret;
06252ade9156657 Amelie Delaunay 2019-05-09  476  
06252ade9156657 Amelie Delaunay 2019-05-09  477  	ret = regmap_raw_read(stmfx->map, STMFX_REG_SYS_CTRL,
06252ade9156657 Amelie Delaunay 2019-05-09 @478  			      &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
06252ade9156657 Amelie Delaunay 2019-05-09  479  	if (ret)
06252ade9156657 Amelie Delaunay 2019-05-09  480  		return ret;
06252ade9156657 Amelie Delaunay 2019-05-09  481  
06252ade9156657 Amelie Delaunay 2019-05-09  482  	ret = regmap_raw_read(stmfx->map, STMFX_REG_IRQ_OUT_PIN,
06252ade9156657 Amelie Delaunay 2019-05-09 @483  			      &stmfx->bkp_irqoutpin,
06252ade9156657 Amelie Delaunay 2019-05-09  484  			      sizeof(stmfx->bkp_irqoutpin));
06252ade9156657 Amelie Delaunay 2019-05-09  485  	if (ret)
06252ade9156657 Amelie Delaunay 2019-05-09  486  		return ret;
06252ade9156657 Amelie Delaunay 2019-05-09  487  
97eda5dcc2cde5d Amelie Delaunay 2020-04-22  488  	disable_irq(stmfx->irq);
97eda5dcc2cde5d Amelie Delaunay 2020-04-22  489  
06252ade9156657 Amelie Delaunay 2019-05-09  490  	if (stmfx->vdd)
06252ade9156657 Amelie Delaunay 2019-05-09  491  		return regulator_disable(stmfx->vdd);
06252ade9156657 Amelie Delaunay 2019-05-09  492  
06252ade9156657 Amelie Delaunay 2019-05-09  493  	return 0;
06252ade9156657 Amelie Delaunay 2019-05-09  494  }
06252ade9156657 Amelie Delaunay 2019-05-09  495  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 63298 bytes --]

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

* Re: [PATCH 6/9] mfd: stmfx: remove unnecessary CONFIG_PM_SLEEP
@ 2020-10-29 22:36     ` kernel test robot
  0 siblings, 0 replies; 25+ messages in thread
From: kernel test robot @ 2020-10-29 22:36 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5393 bytes --]

Hi Coiby,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on lee-mfd/for-mfd-next]
[also build test ERROR on chanwoo-extcon/extcon-next v5.10-rc1 next-20201029]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Coiby-Xu/mfd-maxim-remove-unnecessary-CONFIG_PM_SLEEP/20201029-180931
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/af64db6e5065ea1b51445005e0e675f8a49db5ec
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Coiby-Xu/mfd-maxim-remove-unnecessary-CONFIG_PM_SLEEP/20201029-180931
        git checkout af64db6e5065ea1b51445005e0e675f8a49db5ec
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/mfd/stmfx.c: In function 'stmfx_suspend':
>> drivers/mfd/stmfx.c:478:16: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     478 |          &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                ^~
   drivers/mfd/stmfx.c:478:43: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     478 |          &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                                           ^~
>> drivers/mfd/stmfx.c:483:16: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     483 |          &stmfx->bkp_irqoutpin,
         |                ^~
   drivers/mfd/stmfx.c:484:22: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     484 |          sizeof(stmfx->bkp_irqoutpin));
         |                      ^~
   drivers/mfd/stmfx.c: In function 'stmfx_resume':
   drivers/mfd/stmfx.c:518:17: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     518 |           &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                 ^~
   drivers/mfd/stmfx.c:518:44: error: 'struct stmfx' has no member named 'bkp_sysctrl'
     518 |           &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
         |                                            ^~
   drivers/mfd/stmfx.c:523:17: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     523 |           &stmfx->bkp_irqoutpin,
         |                 ^~
   drivers/mfd/stmfx.c:524:23: error: 'struct stmfx' has no member named 'bkp_irqoutpin'
     524 |           sizeof(stmfx->bkp_irqoutpin));
         |                       ^~
   At top level:
   drivers/mfd/stmfx.c:496:12: warning: 'stmfx_resume' defined but not used [-Wunused-function]
     496 | static int stmfx_resume(struct device *dev)
         |            ^~~~~~~~~~~~
   drivers/mfd/stmfx.c:472:12: warning: 'stmfx_suspend' defined but not used [-Wunused-function]
     472 | static int stmfx_suspend(struct device *dev)
         |            ^~~~~~~~~~~~~

vim +478 drivers/mfd/stmfx.c

06252ade9156657 Amelie Delaunay 2019-05-09  471  
06252ade9156657 Amelie Delaunay 2019-05-09  472  static int stmfx_suspend(struct device *dev)
06252ade9156657 Amelie Delaunay 2019-05-09  473  {
06252ade9156657 Amelie Delaunay 2019-05-09  474  	struct stmfx *stmfx = dev_get_drvdata(dev);
06252ade9156657 Amelie Delaunay 2019-05-09  475  	int ret;
06252ade9156657 Amelie Delaunay 2019-05-09  476  
06252ade9156657 Amelie Delaunay 2019-05-09  477  	ret = regmap_raw_read(stmfx->map, STMFX_REG_SYS_CTRL,
06252ade9156657 Amelie Delaunay 2019-05-09 @478  			      &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl));
06252ade9156657 Amelie Delaunay 2019-05-09  479  	if (ret)
06252ade9156657 Amelie Delaunay 2019-05-09  480  		return ret;
06252ade9156657 Amelie Delaunay 2019-05-09  481  
06252ade9156657 Amelie Delaunay 2019-05-09  482  	ret = regmap_raw_read(stmfx->map, STMFX_REG_IRQ_OUT_PIN,
06252ade9156657 Amelie Delaunay 2019-05-09 @483  			      &stmfx->bkp_irqoutpin,
06252ade9156657 Amelie Delaunay 2019-05-09  484  			      sizeof(stmfx->bkp_irqoutpin));
06252ade9156657 Amelie Delaunay 2019-05-09  485  	if (ret)
06252ade9156657 Amelie Delaunay 2019-05-09  486  		return ret;
06252ade9156657 Amelie Delaunay 2019-05-09  487  
97eda5dcc2cde5d Amelie Delaunay 2020-04-22  488  	disable_irq(stmfx->irq);
97eda5dcc2cde5d Amelie Delaunay 2020-04-22  489  
06252ade9156657 Amelie Delaunay 2019-05-09  490  	if (stmfx->vdd)
06252ade9156657 Amelie Delaunay 2019-05-09  491  		return regulator_disable(stmfx->vdd);
06252ade9156657 Amelie Delaunay 2019-05-09  492  
06252ade9156657 Amelie Delaunay 2019-05-09  493  	return 0;
06252ade9156657 Amelie Delaunay 2019-05-09  494  }
06252ade9156657 Amelie Delaunay 2019-05-09  495  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 63298 bytes --]

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

* Re: [PATCH 9/9] mfd: sprd-sc27xx-spi: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 10:06 ` [PATCH 9/9] mfd: sprd-sc27xx-spi: " Coiby Xu
@ 2020-10-30  4:02   ` Chunyan Zhang
  2020-10-30 14:53     ` Coiby Xu
  0 siblings, 1 reply; 25+ messages in thread
From: Chunyan Zhang @ 2020-10-30  4:02 UTC (permalink / raw)
  To: Coiby Xu; +Cc: Lee Jones, Orson Zhai, Baolin Wang, open list

Hi Coiby,

After removing CONFIG_PM_SLEEP, sprd_pmic_suspend/resume() would not
be built into symbol table with clang compiler though, that would
cause clang compiler report warnings of "unused function" if
CONFIG_PM_SLEEP is not set. So I also prefer to add a __maybe_unused
instead as other people suggested in the mail list.

Thanks,
Chunyan


On Thu, 29 Oct 2020 at 18:07, Coiby Xu <coiby.xu@gmail.com> wrote:
>
> SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG. Signed-off-by: Coiby Xu <coiby.xu@gmail.com>  drivers/mfd/sprd-sc27xx-spi.c | 2 --  1 file changed, 2 deletions(-) diff --git a/drivers/mfd/sprd-sc27xx-spi.c b/drivers/mfd/sprd-sc27xx-spi.c index 6b7956604a0f..4db2ec9ef2ff 100644 --- a/drivers/mfd/sprd-sc27xx-spi.c +++ b/drivers/mfd/sprd-sc27xx-spi.c @@ -206,7 +206,6 @@ static int sprd_pmic_probe(struct spi_device *spi) return 0; -#ifdef CONFIG_PM_SLEEP  static int sprd_pmic_suspend(struct device *dev) struct sprd_pmic *ddata = dev_get_drvdata(dev); @@ -226,7 +225,6 @@ static int sprd_pmic_resume(struct device *dev) return 0; -#endif  static SIMPLE_DEV_PM_OPS(sprd_pmic_pm_ops, sprd_pmic_suspend, sprd_pmic_resume); 2.28.0

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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 17:04         ` Andy Shevchenko
@ 2020-10-30 14:22           ` Coiby Xu
  2020-10-30 14:34             ` Andy Shevchenko
  2020-11-02  8:39           ` Lee Jones
  1 sibling, 1 reply; 25+ messages in thread
From: Coiby Xu @ 2020-10-30 14:22 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Lee Jones, Andy Shevchenko, Andy Shevchenko, open list

On Thu, Oct 29, 2020 at 07:04:44PM +0200, Andy Shevchenko wrote:
>On Thu, Oct 29, 2020 at 5:27 PM Lee Jones <lee.jones@linaro.org> wrote:
>> On Thu, 29 Oct 2020, Coiby Xu wrote:
>> > On Thu, Oct 29, 2020 at 01:00:29PM +0200, Andy Shevchenko wrote:
>> > > On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
>> > > > SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
>> > >
>> > > Have you compiled this with
>> > >     % make W=1 ...
>> > > ?
>> > >
>> >
>> > Sorry my bad. I thought I had run "make modules" with CONFIG_PM_SLEEP
>> > disabled. I'll run "make W=1 M=..." for each driver after adding
>> > __maybe_unused in v2.
>>
>> No, thank you.  Just keep it as it is.
>>
>> The current code is space saving.
>
>Perhaps you need to go thru __maybe_unused handling.
>There are pros and cons of each approach, but not above.
>
Can you elaborate on the pros and cons of each approach? There's
convincing reason to prefer __maybe_unused over CONFIG_PM_SLEEP
according to Arnd Bergmann [1],

> > By and large, drivers handle this by using a CONFIG_PM_SLEEP ifdef.
> >
> > Unless you can make an extremely convincing argument why not to do
> > so here, I'd like you to handle it that way instead.
>
> [adding linux-pm to Cc]
>
> The main reason is that everyone gets the #ifdef wrong, I run into
> half a dozen new build regressions with linux-next every week on
> average, the typical problems being:
>
> - testing CONFIG_PM_SLEEP instead of CONFIG_PM, leading to an unused
>   function warning
> - testing CONFIG_PM instead of CONFIG_PM_SLEEP, leading to a build
>   failure
> - calling a function outside of the #ifdef only from inside an
>   otherwise correct #ifdef, again leading to an unused function
>   warning
> - causing a warning inside of the #ifdef but only testing if that
>   is disabled, leading to a problem if the macro is set (this is
>   rare these days for CONFIG_PM as that is normally enabled)
>
> Using __maybe_unused avoids all of the above.

You option is valuable to me because I'm making a tree-wide change.

Currently there are 929 drivers having device PM callbacks,

$ grep -rI "\.pm = &" --include=*.c  ./|wc -l
929

I put all files having device PM callbacks into four categories
based on weather a file has CONFIG_PM_SLEEP or PM macro like
SET_SYSTEM_SLEEP_PM_OPS, here are the statistics,
  1. have both CONFIG_PM_SLEEP and PM_OPS macro: 213
  2. have CONFIG_PM_SLEEP but no PM_OPS macro: 19
  3. have PM macro but not CONFIG_PM_SLEEP: 347
  4. no PM macro or CONFIG_PM_SLEEP: 302

[1] https://lore.kernel.org/patchwork/comment/919944/

>--
>With Best Regards,
>Andy Shevchenko

--
Best regards,
Coiby

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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-30 14:22           ` Coiby Xu
@ 2020-10-30 14:34             ` Andy Shevchenko
  0 siblings, 0 replies; 25+ messages in thread
From: Andy Shevchenko @ 2020-10-30 14:34 UTC (permalink / raw)
  To: Coiby Xu; +Cc: Lee Jones, Andy Shevchenko, Andy Shevchenko, open list

On Fri, Oct 30, 2020 at 4:23 PM Coiby Xu <coiby.xu@gmail.com> wrote:
> On Thu, Oct 29, 2020 at 07:04:44PM +0200, Andy Shevchenko wrote:
> >On Thu, Oct 29, 2020 at 5:27 PM Lee Jones <lee.jones@linaro.org> wrote:

...

> >There are pros and cons of each approach, but not above.
> >
> Can you elaborate on the pros and cons of each approach? There's
> convincing reason to prefer __maybe_unused over CONFIG_PM_SLEEP
> according to Arnd Bergmann [1],

First what comes to my mind. Perhaps more, but somebody else may
extend / correct below.

ifdeffery (pros):
 - compiler doesn't need even to look at that code

ifdeffery (cons):
 - if depends on configuration and thus harder to test coverage

__maybe_unused (pros):
 - removes ugly ifdeffery in the code, increases readability

__maybe_unused (cons):
 - it's a burden for compiler (increasing compilation time) and to
linker (to drop the section)


-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH 9/9] mfd: sprd-sc27xx-spi: remove unnecessary CONFIG_PM_SLEEP
  2020-10-30  4:02   ` Chunyan Zhang
@ 2020-10-30 14:53     ` Coiby Xu
  0 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-30 14:53 UTC (permalink / raw)
  To: Chunyan Zhang; +Cc: Lee Jones, Orson Zhai, Baolin Wang, open list

Hi Chunyan,

On Fri, Oct 30, 2020 at 12:02:03PM +0800, Chunyan Zhang wrote:
>Hi Coiby,
>
>After removing CONFIG_PM_SLEEP, sprd_pmic_suspend/resume() would not
>be built into symbol table with clang compiler though, that would
>cause clang compiler report warnings of "unused function" if
>CONFIG_PM_SLEEP is not set. So I also prefer to add a __maybe_unused
>instead as other people suggested in the mail list.
>
Thank you for the suggestion! At least Lee prefers to CONFIG_PM_SLEEP
thus to keep the status quo. I'll see he'll change his mind with the
ongoing discussion [1]:)

[1] https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2361371.html

>Thanks,
>Chunyan
>
>
>On Thu, 29 Oct 2020 at 18:07, Coiby Xu <coiby.xu@gmail.com> wrote:
>>
>> SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG. Signed-off-by: Coiby Xu <coiby.xu@gmail.com>  drivers/mfd/sprd-sc27xx-spi.c | 2 --  1 file changed, 2 deletions(-) diff --git a/drivers/mfd/sprd-sc27xx-spi.c b/drivers/mfd/sprd-sc27xx-spi.c index 6b7956604a0f..4db2ec9ef2ff 100644 --- a/drivers/mfd/sprd-sc27xx-spi.c +++ b/drivers/mfd/sprd-sc27xx-spi.c @@ -206,7 +206,6 @@ static int sprd_pmic_probe(struct spi_device *spi) return 0; -#ifdef CONFIG_PM_SLEEP  static int sprd_pmic_suspend(struct device *dev) struct sprd_pmic *ddata = dev_get_drvdata(dev); @@ -226,7 +225,6 @@ static int sprd_pmic_resume(struct device *dev) return 0; -#endif  static SIMPLE_DEV_PM_OPS(sprd_pmic_pm_ops, sprd_pmic_suspend, sprd_pmic_resume); 2.28.0

--
Best regards,
Coiby

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

* Re: [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 18:32 ` [PATCH 1/9] mfd: maxim: " Krzysztof Kozlowski
@ 2020-10-30 15:01   ` Coiby Xu
  0 siblings, 0 replies; 25+ messages in thread
From: Coiby Xu @ 2020-10-30 15:01 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Lee Jones, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
	open list:MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BO...

On Thu, Oct 29, 2020 at 07:32:26PM +0100, Krzysztof Kozlowski wrote:
>On Thu, Oct 29, 2020 at 06:06:39PM +0800, Coiby Xu wrote:
>> SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
>
>I don't quite get what did you mean by "took good care". This should
>cause warnings of unused structure.  Comment applies to other patches as
>well.
>
Sorry I made a mistake.
>Also, the title prefix is: "mfd: max77686:"
>
Thank you for the reminding! I'll improve my script to avoid this issue
when extracting prefix from git log.

>Best regards,
>Krzysztof
>
>
>>
>> Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
>> ---
>>  drivers/mfd/max77686.c | 2 --
>>  1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c
>> index 71faf503844b..8c701f8a9dd5 100644
>> --- a/drivers/mfd/max77686.c
>> +++ b/drivers/mfd/max77686.c
>> @@ -227,7 +227,6 @@ static int max77686_i2c_probe(struct i2c_client *i2c)
>>  	return 0;
>>  }
>>
>> -#ifdef CONFIG_PM_SLEEP
>>  static int max77686_suspend(struct device *dev)
>>  {
>>  	struct i2c_client *i2c = to_i2c_client(dev);
>> @@ -262,7 +261,6 @@ static int max77686_resume(struct device *dev)
>>
>>  	return 0;
>>  }
>> -#endif /* CONFIG_PM_SLEEP */
>>
>>  static SIMPLE_DEV_PM_OPS(max77686_pm, max77686_suspend, max77686_resume);
>>
>> --
>> 2.28.0
>>

--
Best regards,
Coiby

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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-10-29 17:04         ` Andy Shevchenko
  2020-10-30 14:22           ` Coiby Xu
@ 2020-11-02  8:39           ` Lee Jones
  2020-11-02 10:26             ` Andy Shevchenko
  1 sibling, 1 reply; 25+ messages in thread
From: Lee Jones @ 2020-11-02  8:39 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Coiby Xu, Andy Shevchenko, Andy Shevchenko, open list

On Thu, 29 Oct 2020, Andy Shevchenko wrote:

> On Thu, Oct 29, 2020 at 5:27 PM Lee Jones <lee.jones@linaro.org> wrote:
> > On Thu, 29 Oct 2020, Coiby Xu wrote:
> > > On Thu, Oct 29, 2020 at 01:00:29PM +0200, Andy Shevchenko wrote:
> > > > On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
> > > > > SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
> > > >
> > > > Have you compiled this with
> > > >     % make W=1 ...
> > > > ?
> > > >
> > >
> > > Sorry my bad. I thought I had run "make modules" with CONFIG_PM_SLEEP
> > > disabled. I'll run "make W=1 M=..." for each driver after adding
> > > __maybe_unused in v2.
> >
> > No, thank you.  Just keep it as it is.
> >
> > The current code is space saving.
> 
> Perhaps you need to go thru __maybe_unused handling.
> There are pros and cons of each approach, but not above.

Do you know that all compilers drop the section?

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-11-02  8:39           ` Lee Jones
@ 2020-11-02 10:26             ` Andy Shevchenko
  2020-11-02 10:51               ` Lee Jones
  0 siblings, 1 reply; 25+ messages in thread
From: Andy Shevchenko @ 2020-11-02 10:26 UTC (permalink / raw)
  To: Lee Jones; +Cc: Coiby Xu, Andy Shevchenko, Andy Shevchenko, open list

On Mon, Nov 2, 2020 at 10:39 AM Lee Jones <lee.jones@linaro.org> wrote:
> On Thu, 29 Oct 2020, Andy Shevchenko wrote:
> > On Thu, Oct 29, 2020 at 5:27 PM Lee Jones <lee.jones@linaro.org> wrote:
> > > On Thu, 29 Oct 2020, Coiby Xu wrote:
> > > > On Thu, Oct 29, 2020 at 01:00:29PM +0200, Andy Shevchenko wrote:
> > > > > On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
> > > > > > SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
> > > > >
> > > > > Have you compiled this with
> > > > >     % make W=1 ...
> > > > > ?
> > > > >
> > > >
> > > > Sorry my bad. I thought I had run "make modules" with CONFIG_PM_SLEEP
> > > > disabled. I'll run "make W=1 M=..." for each driver after adding
> > > > __maybe_unused in v2.
> > >
> > > No, thank you.  Just keep it as it is.
> > >
> > > The current code is space saving.
> >
> > Perhaps you need to go thru __maybe_unused handling.
> > There are pros and cons of each approach, but not above.
>
> Do you know that all compilers drop the section?

At least all that Linux kernel can be officially built with.

-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH 3/9] mfd: intel_soc_pmic: remove unnecessary CONFIG_PM_SLEEP
  2020-11-02 10:26             ` Andy Shevchenko
@ 2020-11-02 10:51               ` Lee Jones
  0 siblings, 0 replies; 25+ messages in thread
From: Lee Jones @ 2020-11-02 10:51 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Coiby Xu, Andy Shevchenko, Andy Shevchenko, open list

On Mon, 02 Nov 2020, Andy Shevchenko wrote:

> On Mon, Nov 2, 2020 at 10:39 AM Lee Jones <lee.jones@linaro.org> wrote:
> > On Thu, 29 Oct 2020, Andy Shevchenko wrote:
> > > On Thu, Oct 29, 2020 at 5:27 PM Lee Jones <lee.jones@linaro.org> wrote:
> > > > On Thu, 29 Oct 2020, Coiby Xu wrote:
> > > > > On Thu, Oct 29, 2020 at 01:00:29PM +0200, Andy Shevchenko wrote:
> > > > > > On Thu, Oct 29, 2020 at 06:06:41PM +0800, Coiby Xu wrote:
> > > > > > > SIMPLE_DEV_PM_OPS has already took good care of CONFIG_PM_CONFIG.
> > > > > >
> > > > > > Have you compiled this with
> > > > > >     % make W=1 ...
> > > > > > ?
> > > > > >
> > > > >
> > > > > Sorry my bad. I thought I had run "make modules" with CONFIG_PM_SLEEP
> > > > > disabled. I'll run "make W=1 M=..." for each driver after adding
> > > > > __maybe_unused in v2.
> > > >
> > > > No, thank you.  Just keep it as it is.
> > > >
> > > > The current code is space saving.
> > >
> > > Perhaps you need to go thru __maybe_unused handling.
> > > There are pros and cons of each approach, but not above.
> >
> > Do you know that all compilers drop the section?
> 
> At least all that Linux kernel can be officially built with.

Fair enough.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

end of thread, other threads:[~2020-11-02 10:51 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-29 10:06 [PATCH 1/9] mfd: maxim: remove unnecessary CONFIG_PM_SLEEP Coiby Xu
2020-10-29 10:06 ` [PATCH 2/9] mfd: motorola-cpcap: " Coiby Xu
2020-10-29 10:06 ` [PATCH 3/9] mfd: intel_soc_pmic: " Coiby Xu
2020-10-29 11:00   ` Andy Shevchenko
2020-10-29 14:29     ` Coiby Xu
2020-10-29 15:27       ` Lee Jones
2020-10-29 17:04         ` Andy Shevchenko
2020-10-30 14:22           ` Coiby Xu
2020-10-30 14:34             ` Andy Shevchenko
2020-11-02  8:39           ` Lee Jones
2020-11-02 10:26             ` Andy Shevchenko
2020-11-02 10:51               ` Lee Jones
2020-10-29 10:06 ` [PATCH 4/9] mfd: max77620: " Coiby Xu
2020-10-29 10:06 ` [PATCH 5/9] mfd: stpmic1: " Coiby Xu
2020-10-29 10:06 ` [PATCH 6/9] mfd: stmfx: " Coiby Xu
2020-10-29 10:06   ` Coiby Xu
2020-10-29 22:36   ` kernel test robot
2020-10-29 22:36     ` kernel test robot
2020-10-29 10:06 ` [PATCH 7/9] mfd: sec: " Coiby Xu
2020-10-29 10:06 ` [PATCH 8/9] mfd: max14577: " Coiby Xu
2020-10-29 10:06 ` [PATCH 9/9] mfd: sprd-sc27xx-spi: " Coiby Xu
2020-10-30  4:02   ` Chunyan Zhang
2020-10-30 14:53     ` Coiby Xu
2020-10-29 18:32 ` [PATCH 1/9] mfd: maxim: " Krzysztof Kozlowski
2020-10-30 15:01   ` Coiby Xu

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.