diff --git a/drivers/ccic/usbpd_manager.c b/drivers/ccic/usbpd_manager.c index f1df4a7395bf..06be341fee32 100644 --- a/drivers/ccic/usbpd_manager.c +++ b/drivers/ccic/usbpd_manager.c @@ -3,6 +3,7 @@ */ #include +#include #include #include #include @@ -38,6 +39,9 @@ #include #endif +bool force_dex_mode = false; +module_param(force_dex_mode, bool, 0755); + #if defined(CONFIG_SWITCH) static struct switch_dev switch_dock = { .name = "ccic_dock", @@ -494,10 +498,12 @@ static int usbpd_manager_check_accessory(struct usbpd_manager_data *manager) uint16_t pid = manager->Product_ID; uint16_t acc_type = CCIC_DOCK_DETACHED; - if (((pid < GEARVR_PRODUCT_ID) || (pid > GEARVR_PRODUCT_ID_5)) && (acc_type != CCIC_DOCK_NEW)) { - vid = SAMSUNG_VENDOR_ID; - pid = DEXDOCK_PRODUCT_ID; - } + if (force_dex_mode) { + if (((pid < GEARVR_PRODUCT_ID) || (pid > GEARVR_PRODUCT_ID_5)) && (acc_type != CCIC_DOCK_NEW)) { + vid = SAMSUNG_VENDOR_ID; + pid = DEXDOCK_PRODUCT_ID; + } + } /* detect Gear VR */ if (manager->acc_type == CCIC_DOCK_DETACHED) {