[prev in list] [next in list] [prev in thread] [next in thread]
List: rockbox-cvs
Subject: FS13257: Fix inconsistent defaults in the USB mode selection
From: rockbox-gerrit-noreply--- via rockbox-cvs <rockbox-cvs () cool ! haxx ! se>
Date: 2020-11-16 17:11:42
Message-ID: 202011161711.0AGHBgjD4136533 () stuffed ! shaftnet ! org
[Download RAW message or body]
commit 9c68c69cf029b22587f4a7225261a45e5391a242
Author: Solomon Peachy <pizza@shaftnet.org>
Date: Mon Nov 16 11:32:12 2020 -0500
FS13257: Fix inconsistent defaults in the USB mode selection
Change-Id: I44894d13f070313ad326ce68018556573e35aad9
diff --git a/apps/settings.c b/apps/settings.c
index b72808b510..59cb480c95 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -1025,6 +1025,10 @@ void settings_apply(bool read_disk)
usb_charging_enable(global_settings.usb_charging);
#endif
+#ifdef HAVE_USB_POWER
+ usb_set_mode(global_settings.usb_mode);
+#endif
+
#ifdef HAVE_TOUCHSCREEN
touchscreen_set_mode(global_settings.touch_mode);
memcpy(&calibration_parameters, &global_settings.ts_calibration_data, \
sizeof(struct touchscreen_parameter));
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 17720b5145..71085906ce 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -2161,7 +2161,7 @@ const struct settings_list settings[] = {
CHOICE_SETTING(0,
usb_mode,
LANG_USB_MODE,
- USB_MODE_MASS_STORAGE,
+ USBMODE_DEFAULT,
"usb mode",
"ask,mass storage,charge"
#if defined(DX50) || defined(DX90)
diff --git a/firmware/export/usb.h b/firmware/export/usb.h
index edc37bd5b6..2bcd95ef81 100644
--- a/firmware/export/usb.h
+++ b/firmware/export/usb.h
@@ -145,6 +145,13 @@ enum
#if !defined(USBPOWER_BTN_IGNORE)
#define USBPOWER_BTN_IGNORE 0
#endif
+
+#if defined(BOOTLOADER)
+#define USBMODE_DEFAULT USB_MODE_MASS_STORAGE
+#else
+#define USBMODE_DEFAULT USB_MODE_MASS_STORAGE
+#endif
+
#endif
#ifdef HAVE_USBSTACK
diff --git a/firmware/usb.c b/firmware/usb.c
index aca2683d58..8c6eae9b3f 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -95,8 +95,8 @@ static bool usb_host_present = false;
static int usb_num_acks_to_expect = 0;
static long usb_last_broadcast_tick = 0;
#ifdef HAVE_USB_POWER
-static int usb_mode = USB_MODE_ASK;
-static int new_usbmode = USB_MODE_ASK;
+static int usb_mode = USBMODE_DEFAULT;
+static int new_usbmode = USBMODE_DEFAULT;
#endif
static int usb_release_exclusive_storage(void);
@@ -476,6 +476,7 @@ static void NORETURN_ATTR usb_thread(void)
/* Power (charging-only) button */
#ifdef HAVE_USB_POWER
+ new_usbmode = usb_mode;
switch (usb_mode) {
case USB_MODE_CHARGE:
case USB_MODE_ADB:
@@ -491,7 +492,7 @@ static void NORETURN_ATTR usb_thread(void)
case USB_MODE_MASS_STORAGE:
if (button_status() & ~USBPOWER_BTN_IGNORE)
new_usbmode = USB_MODE_CHARGE;
- break;
+ break;
}
#ifndef BOOTLOADER
_______________________________________________
rockbox-cvs mailing list
rockbox-cvs@cool.haxx.se
https://cool.haxx.se/cgi-bin/mailman/listinfo/rockbox-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic