All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>,
	wim@iguana.be, dbaryshkov@gmail.com, dwmw2@infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org,
	linux-sunxi@googlegroups.com
Subject: Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
Date: Mon, 23 Jun 2014 08:40:01 -0700	[thread overview]
Message-ID: <53A84A51.8070507@roeck-us.net> (raw)
In-Reply-To: <4880375.uMKpQASVMt@wuerfel>

On 06/23/2014 08:35 AM, Arnd Bergmann wrote:
> On Monday 23 June 2014 08:16:18 Guenter Roeck wrote:
>>> Moved to where?
>>>
>>> I certainly don't want it in the platform directories, and for arm64 we
>>> intentionally don't have a place to put this stuff.
>>>
>>
>> I have no idea, but setting the arm reset function pointer from a watchdog
>> driver doesn't seem like a good idea either. The arm code _does_ provide
>> and expect platform code to set the reset function, so having it in the arm
>> code would at least make more sense than expecting some unrelated driver
>> code to set it - especially since it is inherently racy [1].
>
> I don't think the race is inherent. We could solve the multiple registration
> problem and the unload problem using a notifier chain. If there are actually
> cases where we expect to see multiple reboot functions to be present in the
> system, we could go one step further and have a priority associated with
> it, so we try the best function first and fall back to soft_restart()
> if everything else fails.
>

You mean something like a restart notifier, which would be called from
architecture code (and replace the arm reset function pointer) ?
Yes, that sounds like a possible solution.

Guenter



WARNING: multiple messages have this Message-ID (diff)
From: linux@roeck-us.net (Guenter Roeck)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
Date: Mon, 23 Jun 2014 08:40:01 -0700	[thread overview]
Message-ID: <53A84A51.8070507@roeck-us.net> (raw)
In-Reply-To: <4880375.uMKpQASVMt@wuerfel>

On 06/23/2014 08:35 AM, Arnd Bergmann wrote:
> On Monday 23 June 2014 08:16:18 Guenter Roeck wrote:
>>> Moved to where?
>>>
>>> I certainly don't want it in the platform directories, and for arm64 we
>>> intentionally don't have a place to put this stuff.
>>>
>>
>> I have no idea, but setting the arm reset function pointer from a watchdog
>> driver doesn't seem like a good idea either. The arm code _does_ provide
>> and expect platform code to set the reset function, so having it in the arm
>> code would at least make more sense than expecting some unrelated driver
>> code to set it - especially since it is inherently racy [1].
>
> I don't think the race is inherent. We could solve the multiple registration
> problem and the unload problem using a notifier chain. If there are actually
> cases where we expect to see multiple reboot functions to be present in the
> system, we could go one step further and have a priority associated with
> it, so we try the best function first and fall back to soft_restart()
> if everything else fails.
>

You mean something like a restart notifier, which would be called from
architecture code (and replace the arm reset function pointer) ?
Yes, that sounds like a possible solution.

Guenter

  reply	other threads:[~2014-06-23 15:40 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-07  2:44 [PATCH v2 0/6] ARM: sunxi: Machine code cleanup Maxime Ripard
2014-05-07  2:44 ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07 21:33   ` Guenter Roeck
2014-05-07 21:33     ` Guenter Roeck
2014-05-15  9:11     ` Maxime Ripard
2014-05-15  9:11       ` Maxime Ripard
2014-05-19 15:04       ` Maxime Ripard
2014-05-19 15:04         ` Maxime Ripard
2014-05-22 20:34         ` Maxime Ripard
2014-05-22 20:34           ` Maxime Ripard
2014-05-22 20:39           ` One Thousand Gnomes
2014-05-22 20:39             ` One Thousand Gnomes
2014-05-22 20:56             ` Maxime Ripard
2014-05-22 20:56               ` Maxime Ripard
2014-06-23 21:16             ` Wim Van Sebroeck
2014-05-22 21:12           ` Guenter Roeck
2014-05-22 21:12             ` Guenter Roeck
2014-05-23  8:33             ` Maxime Ripard
2014-05-23  8:33               ` Maxime Ripard
2014-06-23 10:31             ` Maxime Ripard
2014-06-23 10:31               ` Maxime Ripard
2014-06-23 14:30               ` Guenter Roeck
2014-06-23 14:30                 ` Guenter Roeck
2014-06-23 14:42                 ` Arnd Bergmann
2014-06-23 14:42                   ` Arnd Bergmann
2014-06-23 15:16                   ` Guenter Roeck
2014-06-23 15:16                     ` Guenter Roeck
2014-06-23 15:35                     ` Arnd Bergmann
2014-06-23 15:35                       ` Arnd Bergmann
2014-06-23 15:40                       ` Guenter Roeck [this message]
2014-06-23 15:40                         ` Guenter Roeck
2014-06-23 15:49                 ` Maxime Ripard
2014-06-23 15:49                   ` Maxime Ripard
2014-06-23 21:30                   ` Wim Van Sebroeck
2014-06-23 21:47                     ` Guenter Roeck
2014-06-23 21:47                       ` Guenter Roeck
2014-06-24  9:27                       ` Arnd Bergmann
2014-06-24  9:27                         ` Arnd Bergmann
2014-06-23 21:13               ` Wim Van Sebroeck
2014-06-24 14:49                 ` Maxime Ripard
2014-06-24 14:49                   ` Maxime Ripard
2014-06-24 16:01                   ` Guenter Roeck
2014-06-24 16:01                     ` Guenter Roeck
2014-08-02  8:02                   ` Wim Van Sebroeck
2014-08-02 15:17                     ` Maxime Ripard
2014-08-02 15:17                       ` Maxime Ripard
2014-08-02 15:45                     ` Guenter Roeck
2014-08-02 15:45                       ` Guenter Roeck
2014-05-07  2:44 ` [PATCH v2 2/6] power: reset: Add Allwinner A31 reset code Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 3/6] ARM: sunxi: Remove reset code from the platform Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 4/6] ARM: sunxi: Remove init_machine callback Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 5/6] ARM: sunxi: Add A31 reset driver to sunxi_defconfig Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 6/6] ARM: multi_v7: Add Allwinner reset drivers to multi_v7_defconfig Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard

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=53A84A51.8070507@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=arnd@arndb.de \
    --cc=dbaryshkov@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=wim@iguana.be \
    /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.