Paul, On Wed, Jun 11, 2014 at 3:37 AM, Paul Bolle <pebolle@xxxxxxxxxx> wrote: > On Tue, 2014-05-20 at 09:46 +0100, Lee Jones wrote: >> On Wed, 30 Apr 2014, Doug Anderson wrote: >> > From: Bill Richardson <wfrichar@xxxxxxxxxxxx> >> > >> > This just updates include/linux/mfd/cros_ec_commands.h to match the >> > latest EC version (which is the One True Source for such things). See >> > <https://chromium.googlesource.com/chromiumos/platform/ec> I believe most of your questions are answered by checking out the git tree referenced above. ...but see below for details. This header is a common interface between the kernel and the EC. >> > [dianders: took today's ToT version from the Chromium OS EC; deleted >> > references to cros_ec_dev and cros_ec_lpc since those aren't upstream >> > yet] >> > >> > Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> >> > Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> >> > Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> >> > Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> >> > Tested-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> >> > Tested-by: Stephen Warren <swarren@xxxxxxxxxx> >> > --- >> > Changes in v3: None >> > Changes in v2: None >> > >> > drivers/mfd/cros_ec.c | 2 +- >> > include/linux/mfd/cros_ec.h | 4 +- >> > include/linux/mfd/cros_ec_commands.h | 1128 +++++++++++++++++++++++++++++++--- >> > 3 files changed, 1059 insertions(+), 75 deletions(-) >> >> Applied, thanks. > > This patch is included in linux-next since next-20140521. I'm not sure > why I waited three weeks before sending this question... > >> > [...] >> > diff --git a/include/linux/mfd/cros_ec_commands.h b/include/linux/mfd/cros_ec_commands.h >> > index 86fd069..7853a64 100644 >> > --- a/include/linux/mfd/cros_ec_commands.h >> > +++ b/include/linux/mfd/cros_ec_commands.h >>> [...] >> > @@ -1206,14 +1865,231 @@ struct ec_params_force_idle { >> > [...] >> > +/* >> > + * Known param numbers are defined here. Ranges are reserved for board-specific >> > + * params, which are handled by the particular implementations. >> > + */ >> > +enum charge_state_params { >> > + CS_PARAM_CHG_VOLTAGE, /* charger voltage limit */ >> > + CS_PARAM_CHG_CURRENT, /* charger current limit */ >> > + CS_PARAM_CHG_INPUT_CURRENT, /* charger input current limit */ >> > + CS_PARAM_CHG_STATUS, /* charger-specific status */ >> > + CS_PARAM_CHG_OPTION, /* charger-specific options */ >> > + /* How many so far? */ >> > + CS_NUM_BASE_PARAMS, >> > + >> > + /* Range for CONFIG_CHARGER_PROFILE_OVERRIDE params */ > > CONFIG_CHARGER_PROFILE_OVERRIDE doesn't match anything in linux-next. Is > a Kconfig symbol CHARGER_PROFILE_OVERRIDE perhaps queued somewhere? This is a config option on the ChromeOS EC <https://chromium.googlesource.com/chromiumos/platform/ec>. Doing a grep there: board/samus/board.h:#define CONFIG_CHARGER_PROFILE_OVERRIDE common/charge_state_v2.c:#ifdef CONFIG_CHARGER_PROFILE_OVERRIDE common/charge_state_v2.c:#ifdef CONFIG_CHARGER_PROFILE_OVERRIDE common/charge_state_v2.c:#ifdef CONFIG_CHARGER_PROFILE_OVERRIDE driver/battery/samus.c:#ifdef CONFIG_CHARGER_PROFILE_OVERRIDE driver/battery/samus.c:#endif /* CONFIG_CHARGER_PROFILE_OVERRIDE */ include/config.h:#undef CONFIG_CHARGER_PROFILE_OVERRIDE include/ec_commands.h: /* Range for CONFIG_CHARGER_PROFILE_OVERRIDE params */ test/test_config.h:#define CONFIG_CHARGER_PROFILE_OVERRIDE >> > + CS_PARAM_CUSTOM_PROFILE_MIN = 0x10000, >> > + CS_PARAM_CUSTOM_PROFILE_MAX = 0x1ffff, >> > + > > I guess so, because these two constants aren't used anywhere. A grep from the EC sources: common/charge_state_v2.c: if (in->get_param.param >= CS_PARAM_CUSTOM_PROFILE_MIN && common/charge_state_v2.c: if (in->set_param.param >= CS_PARAM_CUSTOM_PROFILE_MIN && driver/battery/samus.c:#define PARAM_FASTCHARGE (CS_PARAM_CUSTOM_PROFILE_MIN + 0) include/ec_commands.h: CS_PARAM_CUSTOM_PROFILE_MIN = 0x10000, test/sbs_charging_v2.c: if (param == CS_PARAM_CUSTOM_PROFILE_MIN) { test/sbs_charging_v2.c: if (param == CS_PARAM_CUSTOM_PROFILE_MIN) { test/sbs_charging_v2.c: params.get_param.param = CS_PARAM_CUSTOM_PROFILE_MIN; test/sbs_charging_v2.c: params.set_param.param = CS_PARAM_CUSTOM_PROFILE_MIN; util/ectool.c: printf(" 0x%x - 0x%x\n", CS_PARAM_CUSTOM_PROFILE_MIN, -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html