All of lore.kernel.org
 help / color / mirror / Atom feed
From: Conor Dooley <conor.dooley@microchip.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	quic_rohkumar@quicinc.com, linux-arm-msm@vger.kernel.org,
	andersson@kernel.org, tiwai@suse.com, lgirdwood@gmail.com,
	robh+dt@kernel.org, agross@kernel.org,
	srinivas.kandagatla@linaro.org, broonie@kernel.org,
	bgoswami@quicinc.com, quic_plai@quicinc.com, swboyd@chromium.org,
	judyhsiao@chromium.org, linux-kernel@vger.kernel.org,
	Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Subject: Re: [PATCH] ASoC: qcom: lpass-sc7180: Add system suspend/resume PM ops
Date: Tue, 29 Nov 2022 12:14:32 +0000	[thread overview]
Message-ID: <Y4X3qKIaSx3lYlsr@wendy> (raw)
In-Reply-To: <CAMuHMdUfRJmy56eO=ET-Togg-EOgxSjnTgAUYWmixD_zVonipA@mail.gmail.com>

On Tue, Nov 29, 2022 at 11:53:10AM +0100, Geert Uytterhoeven wrote:
> Hi Srinivasa,
> 
> On Tue, Nov 29, 2022 at 11:36 AM Srinivasa Rao Mandadapu
> <quic_srivasam@quicinc.com> wrote:
> > On 11/29/2022 1:23 PM, Geert Uytterhoeven wrote:
> > > On Mon, Nov 28, 2022 at 8:50 AM Srinivasa Rao Mandadapu
> > > <quic_srivasam@quicinc.com> wrote:
> > >> Update lpass sc7180 platform driver with PM ops, such as
> > >> system supend and resume callbacks.
> > >> This update is required to disable clocks during supend and
> > >> avoid XO shutdown issue.
> > >>
> > >> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
> > >> Tested-by: Rahul Ajmeriya <quic_rajmeriy@quicinc.com>
> > > Thanks for your patch, which is now commit 2d68148f8f85ca5a ("ASoC:
> > > qcom: lpass-sc7180: Add system suspend/resume PM ops") in next-20221129.
> > >
> > >> --- a/sound/soc/qcom/lpass-sc7180.c
> > >> +++ b/sound/soc/qcom/lpass-sc7180.c
> > >> @@ -12,6 +12,7 @@
> > >>   #include <linux/module.h>
> > >>   #include <linux/of.h>
> > >>   #include <linux/platform_device.h>
> > >> +#include <linux/pm_runtime.h>
> > >>   #include <dt-bindings/sound/sc7180-lpass.h>
> > >>   #include <sound/pcm.h>
> > >>   #include <sound/soc.h>
> > >> @@ -156,10 +157,34 @@ static int sc7180_lpass_exit(struct platform_device *pdev)
> > >>          struct lpass_data *drvdata = platform_get_drvdata(pdev);
> > >>
> > >>          clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
> > >> +       return 0;
> > >> +}
> > >> +
> > >> +static int sc7180_lpass_dev_resume(struct device *dev)
> > >> +{
> > >> +       int ret = 0;
> > >> +       struct lpass_data *drvdata = dev_get_drvdata(dev);
> > >>
> > >> +       ret = clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
> > >> +       if (ret) {
> > >> +               dev_err(dev, "sc7180 clk prepare and enable failed\n");
> > >> +               return ret;
> > >> +       }
> > >> +       return ret;
> > >> +}
> > >> +
> > >> +static int sc7180_lpass_dev_suspend(struct device *dev)
> > >> +{
> > >> +       struct lpass_data *drvdata = dev_get_drvdata(dev);
> > >> +
> > >> +       clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
> > >>          return 0;
> > >>   }
> > > noreply@ellerman.id.au reports for e.g. m68k-allmodconfig:
> > >
> > >      sound/soc/qcom/lpass-sc7180.c:179:12: error:
> > > 'sc7180_lpass_dev_suspend' defined but not used
> > > [-Werror=unused-function]
> > >      sound/soc/qcom/lpass-sc7180.c:166:12: error:
> > > 'sc7180_lpass_dev_resume' defined but not used
> > > [-Werror=unused-function]
> > >
> > >> +static const struct dev_pm_ops sc7180_lpass_pm_ops = {
> > >> +       SET_SYSTEM_SLEEP_PM_OPS(sc7180_lpass_dev_suspend, sc7180_lpass_dev_resume)
> > >> +};
> > > Please use DEFINE_SIMPLE_DEV_PM_OPS()...
> > Actually, we need to use this patch in in previous kernels 5.4 and 5.15.
> > I think these changes won't apply on previous kernel.
> > Hence ignoring for now and will take care next time.
> 
> In that case you should add __maybe_unused tags to
> sc7180_lpass_dev_suspend() and sc7180_lpass_dev_resume() first, so it
> can be backported to 5.4 and 5.15, and do the DEFINE_SIMPLE_DEV_PM_OPS()
> conversion later.

FWIW, this is now breaking allmodconfig on RISC-V for this reason:

make[2]: *** [../scripts/Makefile.build:504: lib] Error 2
../sound/soc/qcom/lpass-sc7180.c:179:12: error: 'sc7180_lpass_dev_suspend' defined but not used [-Werror=unused-function]
  179 | static int sc7180_lpass_dev_suspend(struct device *dev)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
../sound/soc/qcom/lpass-sc7180.c:166:12: error: 'sc7180_lpass_dev_resume' defined but not used [-Werror=unused-function]
  166 | static int sc7180_lpass_dev_resume(struct device *dev)
      |            ^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Thanks,
Conor.


WARNING: multiple messages have this Message-ID (diff)
From: Conor Dooley <conor.dooley@microchip.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>,
	<agross@kernel.org>, <andersson@kernel.org>,
	<lgirdwood@gmail.com>, <broonie@kernel.org>, <robh+dt@kernel.org>,
	<quic_plai@quicinc.com>, <bgoswami@quicinc.com>, <perex@perex.cz>,
	<tiwai@suse.com>, <srinivas.kandagatla@linaro.org>,
	<quic_rohkumar@quicinc.com>, <linux-arm-msm@vger.kernel.org>,
	<alsa-devel@alsa-project.org>, <linux-kernel@vger.kernel.org>,
	<swboyd@chromium.org>, <judyhsiao@chromium.org>,
	<devicetree@vger.kernel.org>
Subject: Re: [PATCH] ASoC: qcom: lpass-sc7180: Add system suspend/resume PM ops
Date: Tue, 29 Nov 2022 12:14:32 +0000	[thread overview]
Message-ID: <Y4X3qKIaSx3lYlsr@wendy> (raw)
In-Reply-To: <CAMuHMdUfRJmy56eO=ET-Togg-EOgxSjnTgAUYWmixD_zVonipA@mail.gmail.com>

On Tue, Nov 29, 2022 at 11:53:10AM +0100, Geert Uytterhoeven wrote:
> Hi Srinivasa,
> 
> On Tue, Nov 29, 2022 at 11:36 AM Srinivasa Rao Mandadapu
> <quic_srivasam@quicinc.com> wrote:
> > On 11/29/2022 1:23 PM, Geert Uytterhoeven wrote:
> > > On Mon, Nov 28, 2022 at 8:50 AM Srinivasa Rao Mandadapu
> > > <quic_srivasam@quicinc.com> wrote:
> > >> Update lpass sc7180 platform driver with PM ops, such as
> > >> system supend and resume callbacks.
> > >> This update is required to disable clocks during supend and
> > >> avoid XO shutdown issue.
> > >>
> > >> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
> > >> Tested-by: Rahul Ajmeriya <quic_rajmeriy@quicinc.com>
> > > Thanks for your patch, which is now commit 2d68148f8f85ca5a ("ASoC:
> > > qcom: lpass-sc7180: Add system suspend/resume PM ops") in next-20221129.
> > >
> > >> --- a/sound/soc/qcom/lpass-sc7180.c
> > >> +++ b/sound/soc/qcom/lpass-sc7180.c
> > >> @@ -12,6 +12,7 @@
> > >>   #include <linux/module.h>
> > >>   #include <linux/of.h>
> > >>   #include <linux/platform_device.h>
> > >> +#include <linux/pm_runtime.h>
> > >>   #include <dt-bindings/sound/sc7180-lpass.h>
> > >>   #include <sound/pcm.h>
> > >>   #include <sound/soc.h>
> > >> @@ -156,10 +157,34 @@ static int sc7180_lpass_exit(struct platform_device *pdev)
> > >>          struct lpass_data *drvdata = platform_get_drvdata(pdev);
> > >>
> > >>          clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
> > >> +       return 0;
> > >> +}
> > >> +
> > >> +static int sc7180_lpass_dev_resume(struct device *dev)
> > >> +{
> > >> +       int ret = 0;
> > >> +       struct lpass_data *drvdata = dev_get_drvdata(dev);
> > >>
> > >> +       ret = clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
> > >> +       if (ret) {
> > >> +               dev_err(dev, "sc7180 clk prepare and enable failed\n");
> > >> +               return ret;
> > >> +       }
> > >> +       return ret;
> > >> +}
> > >> +
> > >> +static int sc7180_lpass_dev_suspend(struct device *dev)
> > >> +{
> > >> +       struct lpass_data *drvdata = dev_get_drvdata(dev);
> > >> +
> > >> +       clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
> > >>          return 0;
> > >>   }
> > > noreply@ellerman.id.au reports for e.g. m68k-allmodconfig:
> > >
> > >      sound/soc/qcom/lpass-sc7180.c:179:12: error:
> > > 'sc7180_lpass_dev_suspend' defined but not used
> > > [-Werror=unused-function]
> > >      sound/soc/qcom/lpass-sc7180.c:166:12: error:
> > > 'sc7180_lpass_dev_resume' defined but not used
> > > [-Werror=unused-function]
> > >
> > >> +static const struct dev_pm_ops sc7180_lpass_pm_ops = {
> > >> +       SET_SYSTEM_SLEEP_PM_OPS(sc7180_lpass_dev_suspend, sc7180_lpass_dev_resume)
> > >> +};
> > > Please use DEFINE_SIMPLE_DEV_PM_OPS()...
> > Actually, we need to use this patch in in previous kernels 5.4 and 5.15.
> > I think these changes won't apply on previous kernel.
> > Hence ignoring for now and will take care next time.
> 
> In that case you should add __maybe_unused tags to
> sc7180_lpass_dev_suspend() and sc7180_lpass_dev_resume() first, so it
> can be backported to 5.4 and 5.15, and do the DEFINE_SIMPLE_DEV_PM_OPS()
> conversion later.

FWIW, this is now breaking allmodconfig on RISC-V for this reason:

make[2]: *** [../scripts/Makefile.build:504: lib] Error 2
../sound/soc/qcom/lpass-sc7180.c:179:12: error: 'sc7180_lpass_dev_suspend' defined but not used [-Werror=unused-function]
  179 | static int sc7180_lpass_dev_suspend(struct device *dev)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
../sound/soc/qcom/lpass-sc7180.c:166:12: error: 'sc7180_lpass_dev_resume' defined but not used [-Werror=unused-function]
  166 | static int sc7180_lpass_dev_resume(struct device *dev)
      |            ^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Thanks,
Conor.


  reply	other threads:[~2022-11-29 12:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-28  7:49 [PATCH] ASoC: qcom: lpass-sc7180: Add system suspend/resume PM ops Srinivasa Rao Mandadapu
2022-11-28 16:39 ` Mark Brown
2022-11-28 19:40 ` Stephen Boyd
2022-11-29  7:53 ` Geert Uytterhoeven
2022-11-29  7:53   ` Geert Uytterhoeven
2022-11-29 10:35   ` Srinivasa Rao Mandadapu
2022-11-29 10:35     ` Srinivasa Rao Mandadapu
2022-11-29 10:53     ` Geert Uytterhoeven
2022-11-29 10:53       ` Geert Uytterhoeven
2022-11-29 12:14       ` Conor Dooley [this message]
2022-11-29 12:14         ` Conor Dooley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y4X3qKIaSx3lYlsr@wendy \
    --to=conor.dooley@microchip.com \
    --cc=agross@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=andersson@kernel.org \
    --cc=bgoswami@quicinc.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=judyhsiao@chromium.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_plai@quicinc.com \
    --cc=quic_rohkumar@quicinc.com \
    --cc=quic_srivasam@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=swboyd@chromium.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.