[PATCH] bcb: Android bootloader control block driver

Colin Cross ccross at android.com
Sun Jul 8 00:25:31 UTC 2012


On Sat, Jul 7, 2012 at 4:05 PM, Greg KH <gregkh at linuxfoundation.org> wrote:
> On Sat, Jul 07, 2012 at 03:39:09PM -0700, Colin Cross wrote:
>> On many (most?) ARM SoCs, the reboot flag is not stored on disk, or
>> anywhere else userspace can access.  It is stored in a power
>> management controller scratch register that survives resets, or a
>> register in an external I2C PMIC, or in internal SoC RAM (I've seen
>> all of these).  For your proposal, every SoC would need a custom API
>> to save the reboot flag somewhere.  For these devices, it clearly
>> makes more sense to use something like the REBOOT2 API, and if we have
>> to use it on some devices, it makes no sense to me to not use it on
>> other devices just because userspace could theoretically handle it.
>
> That's fine, but that is not what this patch did at all.

Yes it is, this patch is exactly what I was referring to in the last
sentence.  This patch implements the REBOOT2 API a device where there
is no available persistent storage inside the SoC and the disk must be
used instead.

> Propose a patch that handles writing to those types of registers and we
> will be glad to review it.

This isn't getting anywhere.  Let me lay out my logic why a driver
that saves reboot reason on disk is useful, and you can tell me where
you disagree.  I'll use specific examples where I can to try to be
less vague.

OMAP4 Panda boards require kernel support for reboot reason, it is
stored in internal RAM ("SAR" RAM) that is also used for
suspend/resume.

Some Tegra boards (Motorola Xoom) require kernel support for reboot
reason, it is stored in the PMIC registers over I2C.

A common API is needed for Panda, Xoom, and a variety of other boards
that use unique storage locations, and the existing REBOOT2 API seems
to me to be designed for this purpose.

Other boards (don't have a specific example here, perhaps Andrew can
provide one) need to store the reboot reason on disk.

Because the REBOOT2 API exists and is required on Panda and Xoom, it
should work on Andrew's board as well.

This patch is an attempt to make the REBOOT2 API work on Andrew's board.

Where do you disagree?



More information about the devel mailing list