PM / AVS: SmartReflex: remove unused function

Message ID 20181006164059.16106-1-u.kleine-koenig@pengutronix.de
State New
Headers show
Series
  • PM / AVS: SmartReflex: remove unused function
Related show

Commit Message

Uwe Kleine-König Oct. 6, 2018, 4:40 p.m.
From: Uwe Kleine-König <uwe@kleine-koenig.org>

omap_sr_register_pmic() was introduced in 2010 in commit

	984aa6dbf4ca ("OMAP3: PM: Adding smartreflex driver support.")

. There was never any caller of this function in mainline resulting in a
warning

	sr_init: No PMIC hook to init smartreflex

for each machine where this driver is enabled. So remove the unused
function and the pr_warn.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
---
Hello,

I didn't test this change, didn't even try to compile it. Just read a
report[1] that this warning is annoying on an Marvell Armada based
machine running a Debian kernel.

Best regards
Uwe

[1] https://lists.debian.org/d6abf9d1-14bf-86fc-58a0-0f11ff1ac345@quickline.ch

 drivers/power/avs/smartreflex.c   | 31 -------------------------------
 include/linux/power/smartreflex.h |  5 -----
 2 files changed, 36 deletions(-)

Comments

Rafael J. Wysocki Oct. 16, 2018, 9:09 a.m. | #1
On Saturday, October 6, 2018 6:40:59 PM CEST Uwe Kleine-König wrote:
> From: Uwe Kleine-König <uwe@kleine-koenig.org>
> 
> omap_sr_register_pmic() was introduced in 2010 in commit
> 
> 	984aa6dbf4ca ("OMAP3: PM: Adding smartreflex driver support.")
> 
> . There was never any caller of this function in mainline resulting in a
> warning
> 
> 	sr_init: No PMIC hook to init smartreflex
> 
> for each machine where this driver is enabled. So remove the unused
> function and the pr_warn.
> 
> Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
> ---
> Hello,
> 
> I didn't test this change, didn't even try to compile it. Just read a
> report[1] that this warning is annoying on an Marvell Armada based
> machine running a Debian kernel.
> 
> Best regards
> Uwe
> 
> [1] https://lists.debian.org/d6abf9d1-14bf-86fc-58a0-0f11ff1ac345@quickline.ch
> 
>  drivers/power/avs/smartreflex.c   | 31 -------------------------------
>  include/linux/power/smartreflex.h |  5 -----
>  2 files changed, 36 deletions(-)
> 
> diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
> index cb0237143dbe..d29b6313cafc 100644
> --- a/drivers/power/avs/smartreflex.c
> +++ b/drivers/power/avs/smartreflex.c
> @@ -36,7 +36,6 @@
>  static LIST_HEAD(sr_list);
>  
>  static struct omap_sr_class_data *sr_class;
> -static struct omap_sr_pmic_data *sr_pmic_data;
>  static struct dentry		*sr_dbg_dir;
>  
>  static inline void sr_write_reg(struct omap_sr *sr, unsigned offset, u32 value)
> @@ -779,25 +778,6 @@ void omap_sr_disable_reset_volt(struct voltagedomain *voltdm)
>  	sr_class->disable(sr, 1);
>  }
>  
> -/**
> - * omap_sr_register_pmic() - API to register pmic specific info.
> - * @pmic_data:	The structure containing pmic specific data.
> - *
> - * This API is to be called from the PMIC specific code to register with
> - * smartreflex driver pmic specific info. Currently the only info required
> - * is the smartreflex init on the PMIC side.
> - */
> -void omap_sr_register_pmic(struct omap_sr_pmic_data *pmic_data)
> -{
> -	if (!pmic_data) {
> -		pr_warn("%s: Trying to register NULL PMIC data structure with smartreflex\n",
> -			__func__);
> -		return;
> -	}
> -
> -	sr_pmic_data = pmic_data;
> -}
> -
>  /* PM Debug FS entries to enable and disable smartreflex. */
>  static int omap_sr_autocomp_show(void *data, u64 *val)
>  {
> @@ -1064,17 +1044,6 @@ static int __init sr_init(void)
>  {
>  	int ret = 0;
>  
> -	/*
> -	 * sr_init is a late init. If by then a pmic specific API is not
> -	 * registered either there is no need for anything to be done on
> -	 * the PMIC side or somebody has forgotten to register a PMIC
> -	 * handler. Warn for the second condition.
> -	 */
> -	if (sr_pmic_data && sr_pmic_data->sr_pmic_init)
> -		sr_pmic_data->sr_pmic_init();
> -	else
> -		pr_warn("%s: No PMIC hook to init smartreflex\n", __func__);
> -
>  	ret = platform_driver_register(&smartreflex_driver);
>  	if (ret) {
>  		pr_err("%s: platform driver register failed for SR\n",
> diff --git a/include/linux/power/smartreflex.h b/include/linux/power/smartreflex.h
> index 7b81dad712de..a586976f4784 100644
> --- a/include/linux/power/smartreflex.h
> +++ b/include/linux/power/smartreflex.h
> @@ -303,9 +303,6 @@ void omap_sr_enable(struct voltagedomain *voltdm);
>  void omap_sr_disable(struct voltagedomain *voltdm);
>  void omap_sr_disable_reset_volt(struct voltagedomain *voltdm);
>  
> -/* API to register the pmic specific data with the smartreflex driver. */
> -void omap_sr_register_pmic(struct omap_sr_pmic_data *pmic_data);
> -
>  /* Smartreflex driver hooks to be called from Smartreflex class driver */
>  int sr_enable(struct omap_sr *sr, unsigned long volt);
>  void sr_disable(struct omap_sr *sr);
> @@ -320,7 +317,5 @@ static inline void omap_sr_enable(struct voltagedomain *voltdm) {}
>  static inline void omap_sr_disable(struct voltagedomain *voltdm) {}
>  static inline void omap_sr_disable_reset_volt(
>  		struct voltagedomain *voltdm) {}
> -static inline void omap_sr_register_pmic(
> -		struct omap_sr_pmic_data *pmic_data) {}
>  #endif
>  #endif
> 

Applied, thanks!
Uwe Kleine-König Nov. 14, 2018, 9:42 a.m. | #2
Hello,

On Tue, Oct 16, 2018 at 11:09:11AM +0200, Rafael J. Wysocki wrote:
> On Saturday, October 6, 2018 6:40:59 PM CEST Uwe Kleine-König wrote:
> > From: Uwe Kleine-König <uwe@kleine-koenig.org>
> > 
> > omap_sr_register_pmic() was introduced in 2010 in commit
> > 
> > 	984aa6dbf4ca ("OMAP3: PM: Adding smartreflex driver support.")
> > 
> > . There was never any caller of this function in mainline resulting in a
> > warning
> > 
> > 	sr_init: No PMIC hook to init smartreflex
> > 
> > for each machine where this driver is enabled. So remove the unused
> > function and the pr_warn.
>
> Applied, thanks!

This patch didn't make it into next yet, is this expected?

Best regards
Uwe
Rafael J. Wysocki Nov. 15, 2018, 2:28 a.m. | #3
On Wed, Nov 14, 2018 at 10:42 AM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
>
> Hello,
>
> On Tue, Oct 16, 2018 at 11:09:11AM +0200, Rafael J. Wysocki wrote:
> > On Saturday, October 6, 2018 6:40:59 PM CEST Uwe Kleine-König wrote:
> > > From: Uwe Kleine-König <uwe@kleine-koenig.org>
> > >
> > > omap_sr_register_pmic() was introduced in 2010 in commit
> > >
> > >     984aa6dbf4ca ("OMAP3: PM: Adding smartreflex driver support.")
> > >
> > > . There was never any caller of this function in mainline resulting in a
> > > warning
> > >
> > >     sr_init: No PMIC hook to init smartreflex
> > >
> > > for each machine where this driver is enabled. So remove the unused
> > > function and the pr_warn.
> >
> > Applied, thanks!
>
> This patch didn't make it into next yet, is this expected?

It did some time ago, but then the branch it's on was neglected by
mistake.  Sorry about that.

I will merge it into my linux-next branch next week.

Thanks,
Rafael

Patch

diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
index cb0237143dbe..d29b6313cafc 100644
--- a/drivers/power/avs/smartreflex.c
+++ b/drivers/power/avs/smartreflex.c
@@ -36,7 +36,6 @@ 
 static LIST_HEAD(sr_list);
 
 static struct omap_sr_class_data *sr_class;
-static struct omap_sr_pmic_data *sr_pmic_data;
 static struct dentry		*sr_dbg_dir;
 
 static inline void sr_write_reg(struct omap_sr *sr, unsigned offset, u32 value)
@@ -779,25 +778,6 @@  void omap_sr_disable_reset_volt(struct voltagedomain *voltdm)
 	sr_class->disable(sr, 1);
 }
 
-/**
- * omap_sr_register_pmic() - API to register pmic specific info.
- * @pmic_data:	The structure containing pmic specific data.
- *
- * This API is to be called from the PMIC specific code to register with
- * smartreflex driver pmic specific info. Currently the only info required
- * is the smartreflex init on the PMIC side.
- */
-void omap_sr_register_pmic(struct omap_sr_pmic_data *pmic_data)
-{
-	if (!pmic_data) {
-		pr_warn("%s: Trying to register NULL PMIC data structure with smartreflex\n",
-			__func__);
-		return;
-	}
-
-	sr_pmic_data = pmic_data;
-}
-
 /* PM Debug FS entries to enable and disable smartreflex. */
 static int omap_sr_autocomp_show(void *data, u64 *val)
 {
@@ -1064,17 +1044,6 @@  static int __init sr_init(void)
 {
 	int ret = 0;
 
-	/*
-	 * sr_init is a late init. If by then a pmic specific API is not
-	 * registered either there is no need for anything to be done on
-	 * the PMIC side or somebody has forgotten to register a PMIC
-	 * handler. Warn for the second condition.
-	 */
-	if (sr_pmic_data && sr_pmic_data->sr_pmic_init)
-		sr_pmic_data->sr_pmic_init();
-	else
-		pr_warn("%s: No PMIC hook to init smartreflex\n", __func__);
-
 	ret = platform_driver_register(&smartreflex_driver);
 	if (ret) {
 		pr_err("%s: platform driver register failed for SR\n",
diff --git a/include/linux/power/smartreflex.h b/include/linux/power/smartreflex.h
index 7b81dad712de..a586976f4784 100644
--- a/include/linux/power/smartreflex.h
+++ b/include/linux/power/smartreflex.h
@@ -303,9 +303,6 @@  void omap_sr_enable(struct voltagedomain *voltdm);
 void omap_sr_disable(struct voltagedomain *voltdm);
 void omap_sr_disable_reset_volt(struct voltagedomain *voltdm);
 
-/* API to register the pmic specific data with the smartreflex driver. */
-void omap_sr_register_pmic(struct omap_sr_pmic_data *pmic_data);
-
 /* Smartreflex driver hooks to be called from Smartreflex class driver */
 int sr_enable(struct omap_sr *sr, unsigned long volt);
 void sr_disable(struct omap_sr *sr);
@@ -320,7 +317,5 @@  static inline void omap_sr_enable(struct voltagedomain *voltdm) {}
 static inline void omap_sr_disable(struct voltagedomain *voltdm) {}
 static inline void omap_sr_disable_reset_volt(
 		struct voltagedomain *voltdm) {}
-static inline void omap_sr_register_pmic(
-		struct omap_sr_pmic_data *pmic_data) {}
 #endif
 #endif