From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753060AbcFTIpP (ORCPT ); Mon, 20 Jun 2016 04:45:15 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:28669 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751672AbcFTIpN (ORCPT ); Mon, 20 Jun 2016 04:45:13 -0400 X-AuditID: cbfec7f4-f796c6d000001486-4d-5767a4c2cf84 Subject: Re: [PATCH v9 2/4] power: reset: add reboot mode driver To: Andy Yan , robh+dt@kernel.org, heiko@sntech.de, john.stultz@linaro.org, arnd@arndb.de, bjorn.andersson@linaro.org References: <1466404490-3315-1-git-send-email-andy.yan@rock-chips.com> <1466404696-3464-1-git-send-email-andy.yan@rock-chips.com> Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, alexandre.belloni@free-electrons.com, dbaryshkov@gmail.com, sre@kernel.org, matthias.bgg@gmail.com, linux-pm@vger.kernel.org, mbrugger@suse.com, lorenzo.pieralisi@arm.com, moritz.fischer@ettus.com, richard@nod.at From: Krzysztof Kozlowski Message-id: <5767A4C0.3080902@samsung.com> Date: Mon, 20 Jun 2016 10:09:36 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-version: 1.0 In-reply-to: <1466404696-3464-1-git-send-email-andy.yan@rock-chips.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrGIsWRmVeSWpSXmKPExsVy+t/xy7qHlqSHG+zo5LHouLaYyaL//E1G i7+TjrFbnN7/jsVi0pP3zBbzj5xjtfj/6DWrxZnfuhavXxhaXN41h83ic+8RRos3v1+wWzS1 GFssmPwEKN8QYTF55xtGi9a9R4Am7C5xEPJYM28No8fvX5MYPWae2sLu8WTTRUaPnbPusnts WtXJ5nHn2h42j5vzCj3+ztrP4tG3ZRWjx/Zr85g91m+5yuLxeZNcAG8Ul01Kak5mWWqRvl0C V0bb8Z8sBVclKu6/W8bewHhYuIuRk0NCwETi57u7bBC2mMSFe+uBbC4OIYGljBIr3zcxQzjP GCW6Tm1nAakSFnCQWNuwBiwhIjCBUeLron5WiKpmRonpTyewgDjMAjOYJCbdfcgK0sImYCyx efkSsCW8AloSm9rusIPYLAKqEhsOHQSLiwpESMza/oMJokZQ4sfke2DrOAXcJebMWAa0jgNo qJ7E/YtaIGFmAXmJzWveMk9gFJiFpGMWQtUsJFULGJlXMYqmliYXFCel5xrqFSfmFpfmpesl 5+duYoTE5pcdjIuPWR1iFOBgVOLhtTibFi7EmlhWXJl7iFGCg1lJhLdiYXq4EG9KYmVValF+ fFFpTmrxIUZpDhYlcd65u96HCAmkJ5akZqemFqQWwWSZODilGhg7GhZo+c/UmH7A8KZ4xsx3 7qzz33Uckzi35+H2m2IpiUfZub86ChxxkhTfk3PW4N3KqlX1Lsc1mV/Z35rdcG3VoZIf/yPT v2bvMBD6s2TBdrlrFVZv810aaqPvm1gX6uvlmex4myap/3Hv+YbfsQuXbd0y8abgrpmq8y4L OTyqr3ZSmNHuG5OqxFKckWioxVxUnAgAUwhaHMkCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/20/2016 08:38 AM, Andy Yan wrote: > This driver parses the reboot commands like "reboot bootloader" > and "reboot recovery" to get a boot mode described in the > device tree , then call the write interfae to store the boot > mode in some place like special register or sram, which can > be read by the bootloader after system reboot, then the bootloader > can take different action according to the mode stored. > > This is commonly used on Android based devices, in order to > reboot the device into fastboot or recovery mode. > > Reviewed-by: Matthias Brugger > Reviewed-by: Moritz Fischer > Tested-by: John Stultz > Acked-by: John Stultz > Signed-off-by: Andy Yan > > --- > > Changes in v9: > - select MFD_SYSCON when syscon-reboot-mode driver enabled > - refactoring error handling in reboot_mode_register > > Changes in v8: > - do some cleanup when driver ubind > > Changes in v7: > - address some suggestions from Krzysztof, make syscon-reboot-mode driver data self-contained. > > Changes in v6: None > Changes in v5: > - use two blank space under help in Kconfig > - use unsigned int instead of int for member magic in struct mode_info > > Changes in v4: > - make this driver depends on OF to avoid kbuild test error > > Changes in v3: > - scan multi properities > - add mask value for some platform which only use some bits of the register > to store boot mode magic value > > Changes in v2: > - move to dir drivers/power/reset/ > - make syscon-reboot-mode a generic driver > > Changes in v1: > - fix the embarrassed compile warning > - correct the maskrom magic number > - check for the normal reboot > > drivers/power/reset/Kconfig | 14 ++++ > drivers/power/reset/Makefile | 2 + > drivers/power/reset/reboot-mode.c | 128 +++++++++++++++++++++++++++++++ > drivers/power/reset/reboot-mode.h | 14 ++++ > drivers/power/reset/syscon-reboot-mode.c | 100 ++++++++++++++++++++++++ > 5 files changed, 258 insertions(+) > create mode 100644 drivers/power/reset/reboot-mode.c > create mode 100644 drivers/power/reset/reboot-mode.h > create mode 100644 drivers/power/reset/syscon-reboot-mode.c > > diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig > index 9bb2622..4ceaf74 100644 > --- a/drivers/power/reset/Kconfig > +++ b/drivers/power/reset/Kconfig > @@ -183,5 +183,19 @@ config POWER_RESET_ZX > help > Reboot support for ZTE SoCs. > > +config REBOOT_MODE > + tristate > + > +config SYSCON_REBOOT_MODE > + bool "Generic SYSCON regmap reboot mode driver" Why not tristate? Beside that the patch looks good. Best regards, Krzysztof > + depends on OF > + select REBOOT_MODE > + select MFD_SYSCON > + help > + Say y here will enable reboot mode driver. This will > + get reboot mode arguments and store it in SYSCON mapped > + register, then the bootloader can read it to take different > + action according to the mode. > +