On Wed, 31 May 2017 08:14:56 +0200 Oleksij Rempel <o.rem...@pengutronix.de> 
wrote:

> On some boards the SoC can use one pin "PMIC_STBY_REQ" to notify th PMIC
> about state changes. In this case internal state of PMIC must be
> preconfigured for upcomming state change.
> It works fine with the current regulator framework, except with the
> power-off case.
> 
> This patch is providing an optional pm_power_off_prepare handler
> which will configure the PMIC_StandBy state to disable all power lines.
> 
> In my power consumption test on RIoTBoard, I got the following results:
> poweroff without this patch:  320 mA
> poweroff with this patch:     2   mA
> suspend to ram:                       40  mA
> 
> ...
>
> +static int pfuze_poweroff_pre_init(struct pfuze_chip *pfuze_chip)
> +{
> +     if (pfuze_chip->chip_id != PFUZE100) {
> +             dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare 
> handler for not supoorted chip\n");
> +             return -ENODEV;
> +     }
> +
> +     if (pm_power_off_prepare) {
> +             dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already 
> registred.\n");
> +             return -EBUSY;
> +     }
> +
> +     syspm_pfuze_chip = pfuze_chip;
> +     pm_power_off_prepare = pfuze_poweroff_pre;
> +
> +     return 0;
> +}
> +

Ah, there it is.

This looks a bit dodgy.  What happens after someone does rmmod on this
driver?

(typo in comment: "supoorted")

(I wish we could get "poweroff" and "power_off" consistent)

Reply via email to