From: Aurelien Jarno <aurelien@aurel32.net>
To: Yixun Lan <dlan@gentoo.org>
Cc: linux-kernel@vger.kernel.org, Lee Jones <lee@kernel.org>,
Sebastian Reichel <sre@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
"open list:SYSTEM RESET/SHUTDOWN DRIVERS"
<linux-pm@vger.kernel.org>,
"open list:RISC-V SPACEMIT SoC Support"
<linux-riscv@lists.infradead.org>,
"open list:RISC-V SPACEMIT SoC Support"
<spacemit@lists.linux.dev>
Subject: Re: [PATCH 1/2] driver: reset: spacemit-p1: add driver for poweroff/reboot
Date: Sun, 28 Sep 2025 20:01:01 +0200 [thread overview]
Message-ID: <aNl33eHpr7gd8HJz@aurel32.net> (raw)
In-Reply-To: <20250928000255-GYA1342640@gentoo.org>
Hi Yixun,
On 2025-09-28 08:02, Yixun Lan wrote:
> Hi Aurelien,
>
> On 00:07 Sun 28 Sep , Aurelien Jarno wrote:
> > This driver implements poweroff/reboot support for the SpacemiT P1 PMIC
> > chip, which is commonly paired with the SpacemiT K1 SoC.
> >
> > The SpacemiT P1 support is implemented as a MFD driver, so the access is
> > done directly through the regmap interface. Reboot or poweroff is
> > triggered by setting a specific bit in a control register, which is
> > automatically cleared by the hardware afterwards.
> >
> > Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> > ---
> > drivers/power/reset/Kconfig | 9 +++
> > drivers/power/reset/Makefile | 1 +
> > drivers/power/reset/spacemit-p1-reboot.c | 88 ++++++++++++++++++++++++
> > 3 files changed, 98 insertions(+)
> > create mode 100644 drivers/power/reset/spacemit-p1-reboot.c
> >
> > diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
> > index 77ea3129c7080..5afef049760d6 100644
> > --- a/drivers/power/reset/Kconfig
> > +++ b/drivers/power/reset/Kconfig
> [snip]..
> > +
> > +static int spacemit_p1_reboot_probe(struct platform_device *pdev)
> > +{
> > + struct device *dev = &pdev->dev;
> > + struct regmap *regmap;
> > + int ret;
> > +
> > + regmap = dev_get_regmap(dev->parent, NULL);
> > + if (!regmap)
> > + return -ENODEV;
> > +
> > + ret = devm_register_power_off_handler(dev, &spacemit_p1_pwroff_handler, regmap);
> > + if (ret) {
> > + dev_err(dev, "Failed to register power off handler: %d\n", ret);
> > + return ret;
> suggest to simplify with dev_err_probe(), which will save few lines
> > + }
> > +
> > + ret = devm_register_restart_handler(dev, spacemit_p1_restart_handler, regmap);
> > + if (ret) {
> > + dev_err(dev, "Failed to register restart handler: %d\n", ret);
> > + return ret;
> ditto
Thanks for the hint, that'll be in the next version.
Regards
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://aurel32.net
WARNING: multiple messages have this Message-ID (diff)
From: Aurelien Jarno <aurelien@aurel32.net>
To: Yixun Lan <dlan@gentoo.org>
Cc: linux-kernel@vger.kernel.org, Lee Jones <lee@kernel.org>,
Sebastian Reichel <sre@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
"open list:SYSTEM RESET/SHUTDOWN DRIVERS"
<linux-pm@vger.kernel.org>,
"open list:RISC-V SPACEMIT SoC Support"
<linux-riscv@lists.infradead.org>,
"open list:RISC-V SPACEMIT SoC Support"
<spacemit@lists.linux.dev>
Subject: Re: [PATCH 1/2] driver: reset: spacemit-p1: add driver for poweroff/reboot
Date: Sun, 28 Sep 2025 20:01:01 +0200 [thread overview]
Message-ID: <aNl33eHpr7gd8HJz@aurel32.net> (raw)
In-Reply-To: <20250928000255-GYA1342640@gentoo.org>
Hi Yixun,
On 2025-09-28 08:02, Yixun Lan wrote:
> Hi Aurelien,
>
> On 00:07 Sun 28 Sep , Aurelien Jarno wrote:
> > This driver implements poweroff/reboot support for the SpacemiT P1 PMIC
> > chip, which is commonly paired with the SpacemiT K1 SoC.
> >
> > The SpacemiT P1 support is implemented as a MFD driver, so the access is
> > done directly through the regmap interface. Reboot or poweroff is
> > triggered by setting a specific bit in a control register, which is
> > automatically cleared by the hardware afterwards.
> >
> > Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> > ---
> > drivers/power/reset/Kconfig | 9 +++
> > drivers/power/reset/Makefile | 1 +
> > drivers/power/reset/spacemit-p1-reboot.c | 88 ++++++++++++++++++++++++
> > 3 files changed, 98 insertions(+)
> > create mode 100644 drivers/power/reset/spacemit-p1-reboot.c
> >
> > diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
> > index 77ea3129c7080..5afef049760d6 100644
> > --- a/drivers/power/reset/Kconfig
> > +++ b/drivers/power/reset/Kconfig
> [snip]..
> > +
> > +static int spacemit_p1_reboot_probe(struct platform_device *pdev)
> > +{
> > + struct device *dev = &pdev->dev;
> > + struct regmap *regmap;
> > + int ret;
> > +
> > + regmap = dev_get_regmap(dev->parent, NULL);
> > + if (!regmap)
> > + return -ENODEV;
> > +
> > + ret = devm_register_power_off_handler(dev, &spacemit_p1_pwroff_handler, regmap);
> > + if (ret) {
> > + dev_err(dev, "Failed to register power off handler: %d\n", ret);
> > + return ret;
> suggest to simplify with dev_err_probe(), which will save few lines
> > + }
> > +
> > + ret = devm_register_restart_handler(dev, spacemit_p1_restart_handler, regmap);
> > + if (ret) {
> > + dev_err(dev, "Failed to register restart handler: %d\n", ret);
> > + return ret;
> ditto
Thanks for the hint, that'll be in the next version.
Regards
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://aurel32.net
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2025-09-28 18:01 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-27 22:07 driver: reset: spacemit-p1: add driver for poweroff/reboot Aurelien Jarno
2025-09-27 22:07 ` Aurelien Jarno
2025-09-27 22:07 ` [PATCH 1/2] " Aurelien Jarno
2025-09-27 22:07 ` Aurelien Jarno
2025-09-28 0:02 ` Yixun Lan
2025-09-28 0:02 ` Yixun Lan
2025-09-28 18:01 ` Aurelien Jarno [this message]
2025-09-28 18:01 ` Aurelien Jarno
2025-09-28 2:10 ` Troy Mitchell
2025-09-28 2:10 ` Troy Mitchell
2025-09-29 6:35 ` Troy Mitchell
2025-09-29 6:35 ` Troy Mitchell
2025-09-27 22:07 ` [PATCH 2/2] mfd: simple-mfd-i2c: add a reboot cell for the SpacemiT P1 chip Aurelien Jarno
2025-09-27 22:07 ` Aurelien Jarno
2025-09-28 2:08 ` Troy Mitchell
2025-09-28 2:08 ` Troy Mitchell
2025-09-28 21:01 ` Aurelien Jarno
2025-09-28 21:01 ` Aurelien Jarno
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=aNl33eHpr7gd8HJz@aurel32.net \
--to=aurelien@aurel32.net \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=dlan@gentoo.org \
--cc=lee@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=spacemit@lists.linux.dev \
--cc=sre@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.