mcu_display: bypass display_select level config if level unchange Bypass display_select pin level configuration if the level unchanged. Bug: 351058559 Test: manual test Change-Id: I9237ebddc94dc7167d8daf8a169f6381164b73c9 Signed-off-by: William Tai <williamtai@google.com> (cherry picked from commit 0dc294d7c5baeda705a877b838d41c678b4140a3)
diff --git a/mcu_display/main.c b/mcu_display/main.c index 16b4c05..9662a09 100644 --- a/mcu_display/main.c +++ b/mcu_display/main.c
@@ -35,8 +35,8 @@ struct mcu_display_data { struct device *display_comms_dev; - u32 display_select_gpio; struct blocking_notifier_head panel_power_notifier; + u32 display_select_gpio; }; static struct class *mcu_display_class; @@ -115,6 +115,10 @@ unsigned long value = simple_strtoul(buf, NULL, 0); struct mcu_display_data *pdata = dev_get_drvdata(dev); + if (gpio_get_value(pdata->display_select_gpio) == value) { + return count; + } + if (value == 0) { gpio_set_value(pdata->display_select_gpio, 0); } else if (value == 1) {