All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Doug Anderson" <dianders@chromium.org>,
	"Arnd Bergmann" <arnd@kernel.org>
Cc: "Andy Gross" <agross@kernel.org>,
	"Bjorn Andersson" <andersson@kernel.org>,
	"Konrad Dybcio" <konrad.dybcio@linaro.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Vijaya Krishna Nivarthi" <quic_vnivarth@quicinc.com>,
	"Sai Prakash Ranjan" <quic_saipraka@quicinc.com>,
	"Aniket Randive" <quic_arandive@quicinc.com>,
	linux-arm-msm@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] tty: serial: qcom_geni: avoid duplicate struct member init
Date: Fri, 16 Dec 2022 11:03:10 +0100	[thread overview]
Message-ID: <02b4b94c-aa0d-4878-906d-ecd947553f16@app.fastmail.com> (raw)
In-Reply-To: <CAD=FV=U6pfSk0nY+s-p4f43Gq6-arfr8hQe8d9NC0nS0ckMYKw@mail.gmail.com>

On Thu, Dec 15, 2022, at 21:46, Doug Anderson wrote:
> On Thu, Dec 15, 2022 at 8:55 AM Arnd Bergmann <arnd@kernel.org> wrote:

>> index b487823f0e61..03dda47184d9 100644
>> --- a/drivers/tty/serial/qcom_geni_serial.c
>> +++ b/drivers/tty/serial/qcom_geni_serial.c
>> @@ -1516,7 +1516,7 @@ static int qcom_geni_serial_remove(struct platform_device *pdev)
>>         return 0;
>>  }
>>
>> -static int __maybe_unused qcom_geni_serial_sys_suspend(struct device *dev)
>> +static int qcom_geni_serial_sys_suspend(struct device *dev)
>
> Officially the removal of "__maybe_unused" could be a totally
> different patch, right? SET_SYSTEM_SLEEP_PM_OPS() already eventually
> used pm_sleep_ptr() even without your change, so the removal of these
> tags is unrelated to the rest of your change, right?

It's a little more complicated: SYSTEM_SLEEP_PM_OPS() uses pm_sleep_ptr()
to avoid the need for a __maybe_unused(). The depreacated
SET_SYSTEM_SLEEP_PM_OPS() is based on SYSTEM_SLEEP_PM_OPS() these days,
but still retains the old semantics of using an empty definition
without CONFIG_PM_SLEEP, so it still leaves the function unused as
far as gcc is concerned.

There could be an intermediate step of open-coding the
SET_SYSTEM_SLEEP_PM_OPS(), but that would result in the rather
silly

 static const struct dev_pm_ops qcom_geni_serial_pm_ops = {
#ifdef CONFIG_PM_SLEEP
       .suspend = qcom_geni_serial_sys_suspend,
       .resume = qcom_geni_serial_sys_resume,
       .freeze = qcom_geni_serial_sys_suspend,
       .poweroff = qcom_geni_serial_sys_suspend,
#endif
       .restore = qcom_geni_serial_sys_hib_resume,
       .thaw = qcom_geni_serial_sys_hib_resume,
}

which makes no sense to me, as I think you either want
all the members or none of them.

>>  static const struct dev_pm_ops qcom_geni_serial_pm_ops = {
>> -       SET_SYSTEM_SLEEP_PM_OPS(qcom_geni_serial_sys_suspend,
>> -                                       qcom_geni_serial_sys_resume)
>> -       .restore = qcom_geni_serial_sys_hib_resume,
>> -       .thaw = qcom_geni_serial_sys_hib_resume,
>> +       .suspend = pm_sleep_ptr(qcom_geni_serial_sys_suspend),
>> +       .resume = pm_sleep_ptr(qcom_geni_serial_sys_resume),
>> +       .freeze = pm_sleep_ptr(qcom_geni_serial_sys_suspend),
>> +       .poweroff = pm_sleep_ptr(qcom_geni_serial_sys_suspend),
>> +       .restore = pm_sleep_ptr(qcom_geni_serial_sys_hib_resume),
>> +       .thaw = pm_sleep_ptr(qcom_geni_serial_sys_hib_resume),
>
> Personally, the order you listed them is less intuitive than the order
> that SET_SYSTEM_SLEEP_PM_OPS() lists functions. IMO it's better to
> consistently alternate matching suspend/resume functions. ;-)

Makes sense. I kept the order that we already had here, but
I could redo this patch if anyone cares.

> Both of those are nits, so I'm also fine with:
>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>

Thanks,

     Arnd

  reply	other threads:[~2022-12-16 10:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-15 16:54 [PATCH] tty: serial: qcom_geni: avoid duplicate struct member init Arnd Bergmann
2022-12-15 20:46 ` Doug Anderson
2022-12-16 10:03   ` Arnd Bergmann [this message]
2022-12-16 15:21     ` Doug Anderson

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=02b4b94c-aa0d-4878-906d-ecd947553f16@app.fastmail.com \
    --to=arnd@arndb.de \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=arnd@kernel.org \
    --cc=dianders@chromium.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=quic_arandive@quicinc.com \
    --cc=quic_saipraka@quicinc.com \
    --cc=quic_vnivarth@quicinc.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.