summaryrefslogtreecommitdiff
path: root/common/tablet_mode.c
diff options
context:
space:
mode:
authorYH Lin <yueherngl@chromium.org>2022-12-03 00:19:30 +0000
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-12-05 17:43:05 +0000
commitc8af732351cc5c7167f27e8390e26f0556f53a5a (patch)
treebdff671e5ad3e71e30ab56f4f084f34a2fd72e28 /common/tablet_mode.c
parentaf25602b15b22b9ef5821dcba9934311f2157c48 (diff)
downloadchrome-ec-factory-brya-14517.B-main.tar.gz
Revert "Merge remote-tracking branch cros/main into factory-brya-14517.B-main"factory-brya-14517.B-main
This reverts commit af25602b15b22b9ef5821dcba9934311f2157c48. Reason for revert: broken build due to ec-utils. Original change's description: > Merge remote-tracking branch cros/main into factory-brya-14517.B-main > > Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file > baseboard/brya/relevant-paths.txt factory-brya-14517.B-main > > Relevant changes: > > git log --oneline 54462f034b..aa40b859b3 -- baseboard/brya board/agah > board/anahera board/banshee board/brya board/crota board/felwinter > board/gimble board/kano board/mithrax board/osiris board/primus > board/redrix board/taeko board/taniks board/vell board/volmar > driver/bc12/pi3usb9201_public.* driver/charger/bq25710.* > driver/ppc/nx20p348x.* driver/ppc/syv682x_public.* > driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.* > driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake* > include/intel_x86.h power/alderlake* power/intel_x86.c > util/getversion.sh > > e6da633c38 driver: Sort header files > 234a87ae2d tcpci: Add FRS enable to driver structure > a56be59ccd tcpm_header: add test for tcpm_dump_registers > 57b3256963 Rename CONFIG_CHARGER_INPUT_CURRENT to _CHARGER_DEFAULT_CURRENT_LIMIT > e420c8ff9a marasov: Modify TypeC and TypeA configuration. > 43b53e0045 Add default implementation of board_set_charge_limit > b75dc90677 Add CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT > f1b563c350 baseboard: Sort header files > 7d01b1e58d driver/retimer/ps8818.h: Add I2C ADDR FLAGS 0x30, 0x58, 0x70 > ec31407993 Add CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT > 8f89f69a5b crota: disable lid angle sensor for clamshell > > BRANCH=None > BUG=b:259002141 b:255184961 b:247100970 b:259354679 b:260630630 > BUG=b:163093572 b:254328661 > TEST=`emerge-brya chromeos-ec` > > Force-Relevant-Builds: all > Change-Id: Ia85a701fbf6b8e67ec214b9e25e0e55e980a6f47 > Signed-off-by: YH Lin <yueherngl@google.com> Bug: b:259002141 b:255184961 b:247100970 b:259354679 b:260630630 Bug: b:163093572 b:254328661 Change-Id: I48d5aa4cc67a69ee1f6ac9255ac3087d34da4c72 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4077248 Tested-by: YH Lin <yueherngl@chromium.org> Commit-Queue: YH Lin <yueherngl@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com> Auto-Submit: YH Lin <yueherngl@chromium.org>
Diffstat (limited to 'common/tablet_mode.c')
-rw-r--r--common/tablet_mode.c85
1 files changed, 12 insertions, 73 deletions
diff --git a/common/tablet_mode.c b/common/tablet_mode.c
index 18e97e91db..576e80c0ef 100644
--- a/common/tablet_mode.c
+++ b/common/tablet_mode.c
@@ -28,12 +28,6 @@ static uint32_t tablet_mode;
*/
static bool tablet_mode_forced;
-/*
- * Console command can force the value of tablet_mode. If tablet_mode_force is
- * false, use stored tablet mode value before it was (possibly) overridden.
- */
-static uint32_t tablet_mode_store;
-
/* True if GMR sensor is reporting 360 degrees. */
static bool gmr_sensor_at_360;
@@ -68,51 +62,27 @@ static void notify_tablet_mode_change(void)
void tablet_set_mode(int mode, uint32_t trigger)
{
- uint32_t new_mode = tablet_mode_forced ? tablet_mode_store :
- tablet_mode;
- uint32_t old_mode = 0;
+ uint32_t old_mode = tablet_mode;
+
+ /* If tablet_mode is forced via a console command, ignore set. */
+ if (tablet_mode_forced)
+ return;
if (disabled) {
- /*
- * If tablet mode is being forced by the user, then this logging
- * would be misleading since the mode wouldn't change anyway, so
- * skip it.
- */
- if (!tablet_mode_forced)
- CPRINTS("Tablet mode set while disabled (ignoring)!");
+ CPRINTS("Tablet mode set while disabled (ignoring)!");
return;
}
if (gmr_sensor_at_360 && !mode) {
- /*
- * If tablet mode is being forced by the user, then this logging
- * would be misleading since the mode wouldn't change anyway, so
- * skip it.
- */
- if (!tablet_mode_forced)
- CPRINTS("Ignoring tablet mode exit while gmr sensor "
- "reports 360-degree tablet mode.");
+ CPRINTS("Ignoring tablet mode exit while gmr sensor "
+ "reports 360-degree tablet mode.");
return;
}
if (mode)
- new_mode |= trigger;
+ tablet_mode |= trigger;
else
- new_mode &= ~trigger;
-
- if (tablet_mode_forced) {
- /*
- * Save the current mode based on the HW orientation, so we
- * apply the correct mode if tablet mode no longer forced in the
- * future. Don't notify of the tablet mode change yet, since
- * that will be done as part of handling 'tabletmode reset'.
- */
- tablet_mode_store = new_mode;
- return;
- }
-
- old_mode = tablet_mode;
- tablet_mode = new_mode;
+ tablet_mode &= ~trigger;
/* Boolean comparison */
if (!tablet_mode == !old_mode)
@@ -203,42 +173,11 @@ void gmr_tablet_switch_disable(void)
}
#endif
-static enum ec_status tablet_mode_command(struct host_cmd_handler_args *args)
-{
- const struct ec_params_set_tablet_mode *p = args->params;
-
- if (tablet_mode_forced == false)
- tablet_mode_store = tablet_mode;
-
- switch (p->tablet_mode) {
- case TABLET_MODE_DEFAULT:
- tablet_mode = tablet_mode_store;
- tablet_mode_forced = false;
- break;
- case TABLET_MODE_FORCE_TABLET:
- tablet_mode = TABLET_TRIGGER_LID;
- tablet_mode_forced = true;
- break;
- case TABLET_MODE_FORCE_CLAMSHELL:
- tablet_mode = 0;
- tablet_mode_forced = true;
- break;
- default:
- CPRINTS("Invalid EC_CMD_SET_TABLET_MODE parameter: %d",
- p->tablet_mode);
- return EC_RES_INVALID_PARAM;
- }
-
- notify_tablet_mode_change();
-
- return EC_RES_SUCCESS;
-}
-DECLARE_HOST_COMMAND(EC_CMD_SET_TABLET_MODE, tablet_mode_command,
- EC_VER_MASK(0) | EC_VER_MASK(1));
-
#ifdef CONFIG_TABLET_MODE
static int command_settabletmode(int argc, const char **argv)
{
+ static uint32_t tablet_mode_store;
+
if (argc == 1) {
print_tablet_mode();
return EC_SUCCESS;