Messages in this thread | | | Date | Tue, 24 Jan 2012 11:58:55 +0000 | From | Mark Brown <> | Subject | Re: [PATCH V1] regulator: tps65910: Sleep control through external inputs |
| |
On Tue, Jan 24, 2012 at 02:35:19PM +0530, Laxman Dewangan wrote:
> + /* > + * Rail can not be control from all external input EN1, EN2 and EN3 > + * together. > + */ > + if ((ext_sleep_config & EXT_SLEEP_CONTROL) == EXT_SLEEP_CONTROL) { > + dev_err(mfd->dev, "External sleep control flag is not " > + " not proper\n"); > + return -EINVAL; > + }
Don't split log messages over multiple lines, it makes grepping the logs harder. Also, are combinations of two external enables valid?
> +static void tps65910_shutdown(struct platform_device *pdev) > +{ > + struct tps65910_reg *pmic = platform_get_drvdata(pdev); > + int i; > + int err; > + dev_err(&pdev->dev, "%s() is called\n", __func__); > + > + /* Remove all external control before shutting down the device */ > + for (i = 0; i < pmic->num_regulators; i++) { > + if (!pmic->rdev[i]) > + continue; > + > + err = tps65910_set_ext_sleep_config(pmic, i, 0); > + if (err < 0) > + dev_err(&pdev->dev, "Error in clearing external " > + "control\n"); > + }
Why?
> +/* > + * Regulator mode when rail is in sleep state which controlled by external > + * input. The regultor will be OFF if it is in sleep state by default but > + * can be set in LOW power mode by ORing following macro with any of > + * above exterenl input option. > + */ > +#define TPS65910_SLEEP_CONTROL_REG_LOW_POWER 0x10
There's the suspend mode API for configuring suspend modes.
> + > /** > * struct tps65910_board > * Board platform data may be used to initialize regulators. > @@ -779,6 +792,7 @@ struct tps65910_board { > int irq_base; > int vmbch_threshold; > int vmbch2_threshold; > + unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS];
I can't see anything in this code which will manage the enable signals?
| |