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) {