All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <dmitry.osipenko@collabora.com>
To: Benjamin Bara <bbara93@gmail.com>
Cc: Wolfram Sang <wsa@kernel.org>, Lee Jones <lee@kernel.org>,
	rafael.j.wysocki@intel.com, peterz@infradead.org,
	jonathanh@nvidia.com, Richard Leitner <richard.leitner@linux.dev>,
	treding@nvidia.com, linux-kernel@vger.kernel.org,
	linux-i2c@vger.kernel.org, linux-tegra@vger.kernel.org,
	Benjamin Bara <benjamin.bara@skidata.com>
Subject: Re: [PATCH v4 3/4] mfd: tps6586x: use devm-based power off handler
Date: Mon, 24 Apr 2023 13:42:53 +0300	[thread overview]
Message-ID: <7213c148-5cf8-c251-b809-c6ff59292cad@collabora.com> (raw)
In-Reply-To: <CAJpcXm4RRV15UUzsrw_9s4-ifE0W0uKSsZ2sAJxojsoctaT8Ow@mail.gmail.com>

On 4/14/23 09:15, Benjamin Bara wrote:
> On Thu, 13 Apr 2023, 22:37 Dmitry Osipenko,
> <dmitry.osipenko@collabora.com> wrote:
>> Handlers must return NOTIFY_DONE or notifier_from_errno(). Sorry for
>> missing this previously.
> 
> Thanks!
> 
> AFAIU, notifier_from_errno() sets NOTIFY_STOP_MASK, which stops
> atomic_notifier_call_chain() immediately. So I think NOTIFY_DONE is the
> only valid return value for sys_off handlers, to not skip others. So I
> think letting sys_off_notify() [1] always return NOTIFY_DONE might be a
> good idea.
> 
> If so, we could return a "notify return errno" (or also a "normal
> errno") from the handler, which is checked, but then replaced to
> NOTIFY_DONE, in [1]. This would enable us to have a common place to
> check for failed handlers.
> 
> Handlers then should only return NOTIFY_DONE when they are skipped (e.g.
> when the requested reboot mode is not supported by the handler).
> Otherwise, I think ETIME, ENOSYS or ENOTSUPP might fit when the
> communication was successful, a possible delay awaited, but the return
> was still reached. What do you think?

The behaviour may depend on a particular platform and driver. In general
and in case of this driver, it should be more reliable and cleaner to
abort the reboot on a error that shall never happen.

-- 
Best regards,
Dmitry


  reply	other threads:[~2023-04-24 10:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-13  7:46 [PATCH v4 0/4] mfd: tps6586x: register restart handler Benjamin Bara
2023-04-13  7:46 ` [PATCH v4 1/4] kernel/reboot: emergency_restart: set correct system_state Benjamin Bara
2023-04-13  7:46 ` [PATCH v4 2/4] i2c: core: run atomic i2c xfer when !preemptible Benjamin Bara
2023-04-13 19:51   ` Wolfram Sang
2023-04-13  7:46 ` [PATCH v4 3/4] mfd: tps6586x: use devm-based power off handler Benjamin Bara
2023-04-13 20:36   ` Dmitry Osipenko
2023-04-14  6:15     ` Benjamin Bara
2023-04-24 10:42       ` Dmitry Osipenko [this message]
2023-04-24 12:07         ` Benjamin Bara
2023-04-13  7:46 ` [PATCH v4 4/4] mfd: tps6586x: register restart handler Benjamin Bara

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=7213c148-5cf8-c251-b809-c6ff59292cad@collabora.com \
    --to=dmitry.osipenko@collabora.com \
    --cc=bbara93@gmail.com \
    --cc=benjamin.bara@skidata.com \
    --cc=jonathanh@nvidia.com \
    --cc=lee@kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=richard.leitner@linux.dev \
    --cc=treding@nvidia.com \
    --cc=wsa@kernel.org \
    /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.