Hi Mark, Thank you for the review. > SPDX headers need to be C++ comments - please make the entire comment > block a C++ one so it looks more intentional. I sent a new patch (v4) with the modified comment. >> +#ifdef CONFIG_SUSPEND >> +static int mcp16502_suspend(struct device *dev) >> +{ >> + struct i2c_client *client = to_i2c_client(dev); >> + struct mcp16502 *mcp = i2c_get_clientdata(client); >> + >> + mcp16502_gpio_set_mode(mcp, MCP16502_OPMODE_LPM); >> + >> + return 0; >> +} > This puts the device into low power mode when the suspend function gets > called but this might not be safe - devices using the regulator may not > be suspended yet so could still need full regulation. Normally a GPIO > triggered transition like this would be being done by hardware as part > of the process of suspending the SoC. Is there some reason to do this > manually? There is a line from the MPU (SHDN) which goes low only when the MPU turns off. That line is already connected to the PMIC and it differentiates between suspend-to-mem and standby. To switch to low-power, the PMIC must be controlled by the GPIO pin LPM. The suspend sequence is: - LPM pin goes high (PMIC enters Low-Power <-> Linux standby) - SHDN goes low (if target suspend state is mem) and then PMIC enters HIBERNATE Best regards, Andrei