diff mbox

ASoC: Intel: sst: Remove unused function sst_restore_shim64()

Message ID 20170523001258.81618-1-mka@chromium.org (mailing list archive)
State Accepted
Commit 9a075265c6dc040e2946d21f4f9d082495bd5460
Headers show

Commit Message

Matthias Kaehlcke May 23, 2017, 12:12 a.m. UTC
Looks like the function has never been used since it was added by commit
b0d94acd634a ("ASoC: Intel: mrfld - add shim save restore"). Removing it
fixes the following warning when building with clang:

sound/soc/intel/atom/sst/sst.c:360:20: error: unused function
    'sst_restore_shim64' [-Werror,-Wunused-function]

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
---
 sound/soc/intel/atom/sst/sst.c | 16 ----------------
 1 file changed, 16 deletions(-)

Comments

Takashi Iwai June 7, 2017, 9:40 p.m. UTC | #1
On Tue, 23 May 2017 02:12:58 +0200,
Matthias Kaehlcke wrote:
> 
> Looks like the function has never been used since it was added by commit
> b0d94acd634a ("ASoC: Intel: mrfld - add shim save restore"). Removing it
> fixes the following warning when building with clang:
> 
> sound/soc/intel/atom/sst/sst.c:360:20: error: unused function
>     'sst_restore_shim64' [-Werror,-Wunused-function]
> 
> Signed-off-by: Matthias Kaehlcke <mka@chromium.org>

Hmm, although this patch was already merged, I now think this is
rather a bug.  If the restore is never executed, why the counterpart,
sst_save_shim64() is required at all at runtime suspend?

Vinod?


thanks,

Takashi

> ---
>  sound/soc/intel/atom/sst/sst.c | 16 ----------------
>  1 file changed, 16 deletions(-)
> 
> diff --git a/sound/soc/intel/atom/sst/sst.c b/sound/soc/intel/atom/sst/sst.c
> index f9ba71315e33..fb608d3a90c8 100644
> --- a/sound/soc/intel/atom/sst/sst.c
> +++ b/sound/soc/intel/atom/sst/sst.c
> @@ -397,22 +397,6 @@ static inline void sst_save_shim64(struct intel_sst_drv *ctx,
>  	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
>  }
>  
> -static inline void sst_restore_shim64(struct intel_sst_drv *ctx,
> -				      void __iomem *shim,
> -				      struct sst_shim_regs64 *shim_regs)
> -{
> -	unsigned long irq_flags;
> -
> -	/*
> -	 * we only need to restore IMRX for this case, rest will be
> -	 * initialize by FW or driver when firmware is loaded
> -	 */
> -	spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags);
> -	sst_shim_write64(shim, SST_IMRX, shim_regs->imrx);
> -	sst_shim_write64(shim, SST_CSR, shim_regs->csr);
> -	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
> -}
> -
>  void sst_configure_runtime_pm(struct intel_sst_drv *ctx)
>  {
>  	pm_runtime_set_autosuspend_delay(ctx->dev, SST_SUSPEND_DELAY);
> -- 
> 2.13.0.303.g4ebf302169-goog
> 
>
Matthias Kaehlcke June 7, 2017, 9:53 p.m. UTC | #2
Hi Takashi,

El Wed, Jun 07, 2017 at 11:40:19PM +0200 Takashi Iwai ha dit:

> On Tue, 23 May 2017 02:12:58 +0200,
> Matthias Kaehlcke wrote:
> > 
> > Looks like the function has never been used since it was added by commit
> > b0d94acd634a ("ASoC: Intel: mrfld - add shim save restore"). Removing it
> > fixes the following warning when building with clang:
> > 
> > sound/soc/intel/atom/sst/sst.c:360:20: error: unused function
> >     'sst_restore_shim64' [-Werror,-Wunused-function]
> > 
> > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> 
> Hmm, although this patch was already merged, I now think this is
> rather a bug.  If the restore is never executed, why the counterpart,
> sst_save_shim64() is required at all at runtime suspend?

Doug Anderson also noticed this and removed the function and struct
sst_shim_regs64:

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/commit/?h=for-next&id=98cf2c03b467fa67df58cb52adeb85b425cabcb2

> > ---
> >  sound/soc/intel/atom/sst/sst.c | 16 ----------------
> >  1 file changed, 16 deletions(-)
> > 
> > diff --git a/sound/soc/intel/atom/sst/sst.c b/sound/soc/intel/atom/sst/sst.c
> > index f9ba71315e33..fb608d3a90c8 100644
> > --- a/sound/soc/intel/atom/sst/sst.c
> > +++ b/sound/soc/intel/atom/sst/sst.c
> > @@ -397,22 +397,6 @@ static inline void sst_save_shim64(struct intel_sst_drv *ctx,
> >  	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
> >  }
> >  
> > -static inline void sst_restore_shim64(struct intel_sst_drv *ctx,
> > -				      void __iomem *shim,
> > -				      struct sst_shim_regs64 *shim_regs)
> > -{
> > -	unsigned long irq_flags;
> > -
> > -	/*
> > -	 * we only need to restore IMRX for this case, rest will be
> > -	 * initialize by FW or driver when firmware is loaded
> > -	 */
> > -	spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags);
> > -	sst_shim_write64(shim, SST_IMRX, shim_regs->imrx);
> > -	sst_shim_write64(shim, SST_CSR, shim_regs->csr);
> > -	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
> > -}
> > -
> >  void sst_configure_runtime_pm(struct intel_sst_drv *ctx)
> >  {
> >  	pm_runtime_set_autosuspend_delay(ctx->dev, SST_SUSPEND_DELAY);
Takashi Iwai June 8, 2017, 7:02 a.m. UTC | #3
On Wed, 07 Jun 2017 23:53:29 +0200,
Matthias Kaehlcke wrote:
> 
> Hi Takashi,
> 
> El Wed, Jun 07, 2017 at 11:40:19PM +0200 Takashi Iwai ha dit:
> 
> > On Tue, 23 May 2017 02:12:58 +0200,
> > Matthias Kaehlcke wrote:
> > > 
> > > Looks like the function has never been used since it was added by commit
> > > b0d94acd634a ("ASoC: Intel: mrfld - add shim save restore"). Removing it
> > > fixes the following warning when building with clang:
> > > 
> > > sound/soc/intel/atom/sst/sst.c:360:20: error: unused function
> > >     'sst_restore_shim64' [-Werror,-Wunused-function]
> > > 
> > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> > 
> > Hmm, although this patch was already merged, I now think this is
> > rather a bug.  If the restore is never executed, why the counterpart,
> > sst_save_shim64() is required at all at runtime suspend?
> 
> Doug Anderson also noticed this and removed the function and struct
> sst_shim_regs64:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/commit/?h=for-next&id=98cf2c03b467fa67df58cb52adeb85b425cabcb2

Yes, I know.  But I wonder it were a failure to remove before
confirming that.


thanks,

Takashi

> 
> > > ---
> > >  sound/soc/intel/atom/sst/sst.c | 16 ----------------
> > >  1 file changed, 16 deletions(-)
> > > 
> > > diff --git a/sound/soc/intel/atom/sst/sst.c b/sound/soc/intel/atom/sst/sst.c
> > > index f9ba71315e33..fb608d3a90c8 100644
> > > --- a/sound/soc/intel/atom/sst/sst.c
> > > +++ b/sound/soc/intel/atom/sst/sst.c
> > > @@ -397,22 +397,6 @@ static inline void sst_save_shim64(struct intel_sst_drv *ctx,
> > >  	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
> > >  }
> > >  
> > > -static inline void sst_restore_shim64(struct intel_sst_drv *ctx,
> > > -				      void __iomem *shim,
> > > -				      struct sst_shim_regs64 *shim_regs)
> > > -{
> > > -	unsigned long irq_flags;
> > > -
> > > -	/*
> > > -	 * we only need to restore IMRX for this case, rest will be
> > > -	 * initialize by FW or driver when firmware is loaded
> > > -	 */
> > > -	spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags);
> > > -	sst_shim_write64(shim, SST_IMRX, shim_regs->imrx);
> > > -	sst_shim_write64(shim, SST_CSR, shim_regs->csr);
> > > -	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
> > > -}
> > > -
> > >  void sst_configure_runtime_pm(struct intel_sst_drv *ctx)
> > >  {
> > >  	pm_runtime_set_autosuspend_delay(ctx->dev, SST_SUSPEND_DELAY);
>
Vinod Koul June 9, 2017, 3:40 a.m. UTC | #4
On Wed, Jun 07, 2017 at 11:40:19PM +0200, Takashi Iwai wrote:
> On Tue, 23 May 2017 02:12:58 +0200,
> Matthias Kaehlcke wrote:
> > 
> > Looks like the function has never been used since it was added by commit
> > b0d94acd634a ("ASoC: Intel: mrfld - add shim save restore"). Removing it
> > fixes the following warning when building with clang:
> > 
> > sound/soc/intel/atom/sst/sst.c:360:20: error: unused function
> >     'sst_restore_shim64' [-Werror,-Wunused-function]
> > 
> > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> 
> Hmm, although this patch was already merged, I now think this is
> rather a bug.  If the restore is never executed, why the counterpart,
> sst_save_shim64() is required at all at runtime suspend?
> 
> Vinod?

It was supposed to be required in early BYT boards. I do not seem to recall
why the call to sst_restore_shim64 was removed from resume routine, it was
there when we added it and due to file move git log is useless.

Any idea how to get changes to file before the file was moved?

> thanks,
> 
> Takashi
> 
> > ---
> >  sound/soc/intel/atom/sst/sst.c | 16 ----------------
> >  1 file changed, 16 deletions(-)
> > 
> > diff --git a/sound/soc/intel/atom/sst/sst.c b/sound/soc/intel/atom/sst/sst.c
> > index f9ba71315e33..fb608d3a90c8 100644
> > --- a/sound/soc/intel/atom/sst/sst.c
> > +++ b/sound/soc/intel/atom/sst/sst.c
> > @@ -397,22 +397,6 @@ static inline void sst_save_shim64(struct intel_sst_drv *ctx,
> >  	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
> >  }
> >  
> > -static inline void sst_restore_shim64(struct intel_sst_drv *ctx,
> > -				      void __iomem *shim,
> > -				      struct sst_shim_regs64 *shim_regs)
> > -{
> > -	unsigned long irq_flags;
> > -
> > -	/*
> > -	 * we only need to restore IMRX for this case, rest will be
> > -	 * initialize by FW or driver when firmware is loaded
> > -	 */
> > -	spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags);
> > -	sst_shim_write64(shim, SST_IMRX, shim_regs->imrx);
> > -	sst_shim_write64(shim, SST_CSR, shim_regs->csr);
> > -	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
> > -}
> > -
> >  void sst_configure_runtime_pm(struct intel_sst_drv *ctx)
> >  {
> >  	pm_runtime_set_autosuspend_delay(ctx->dev, SST_SUSPEND_DELAY);
> > -- 
> > 2.13.0.303.g4ebf302169-goog
> > 
> >
Takashi Iwai June 9, 2017, 7:05 a.m. UTC | #5
On Fri, 09 Jun 2017 05:40:04 +0200,
Vinod Koul wrote:
> 
> On Wed, Jun 07, 2017 at 11:40:19PM +0200, Takashi Iwai wrote:
> > On Tue, 23 May 2017 02:12:58 +0200,
> > Matthias Kaehlcke wrote:
> > > 
> > > Looks like the function has never been used since it was added by commit
> > > b0d94acd634a ("ASoC: Intel: mrfld - add shim save restore"). Removing it
> > > fixes the following warning when building with clang:
> > > 
> > > sound/soc/intel/atom/sst/sst.c:360:20: error: unused function
> > >     'sst_restore_shim64' [-Werror,-Wunused-function]
> > > 
> > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> > 
> > Hmm, although this patch was already merged, I now think this is
> > rather a bug.  If the restore is never executed, why the counterpart,
> > sst_save_shim64() is required at all at runtime suspend?
> > 
> > Vinod?
> 
> It was supposed to be required in early BYT boards. I do not seem to recall
> why the call to sst_restore_shim64 was removed from resume routine, it was
> there when we added it and due to file move git log is useless.
> 
> Any idea how to get changes to file before the file was moved?

Try to pass --follow option to git log.

sst_save_shim64() and sst_restore_shim64() were introduced at
  b0d94acd634a5cff7fe5fc46131a23997e8d0f60
but not actually used.

The call of sst_save_shim64() was added in
  336cfbb05edf7b122ea927dad6c746608723eb25
but already without the counter-part for restore.


thanks,

Takashi
diff mbox

Patch

diff --git a/sound/soc/intel/atom/sst/sst.c b/sound/soc/intel/atom/sst/sst.c
index f9ba71315e33..fb608d3a90c8 100644
--- a/sound/soc/intel/atom/sst/sst.c
+++ b/sound/soc/intel/atom/sst/sst.c
@@ -397,22 +397,6 @@  static inline void sst_save_shim64(struct intel_sst_drv *ctx,
 	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
 }
 
-static inline void sst_restore_shim64(struct intel_sst_drv *ctx,
-				      void __iomem *shim,
-				      struct sst_shim_regs64 *shim_regs)
-{
-	unsigned long irq_flags;
-
-	/*
-	 * we only need to restore IMRX for this case, rest will be
-	 * initialize by FW or driver when firmware is loaded
-	 */
-	spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags);
-	sst_shim_write64(shim, SST_IMRX, shim_regs->imrx);
-	sst_shim_write64(shim, SST_CSR, shim_regs->csr);
-	spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags);
-}
-
 void sst_configure_runtime_pm(struct intel_sst_drv *ctx)
 {
 	pm_runtime_set_autosuspend_delay(ctx->dev, SST_SUSPEND_DELAY);