Change usb_cur_mode from bitOR to index. 05/224505/7
authorINSUN PYO <insun.pyo@samsung.com>
Tue, 11 Feb 2020 06:15:23 +0000 (15:15 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Wed, 12 Feb 2020 04:42:07 +0000 (04:42 +0000)
commit1a192acea1ecefbdbdab5a4d2711807feaef3b64
tree643d7a1c4b28f567964051be7006036b8ee0c246
parentacfd11ae99ee916a7fc5d95c14014b17f08a1c2e
Change usb_cur_mode from bitOR to index.

In MCD 4.0, VCONFKEY_USB_SEL_MODE has been changed to usb function index instead of bitOR of USB_FUNCTION_OOO.
Deviced works internally as bitOR of USB_FUNCTION_OOO, so you must convert it when you read/write from vconf.
Since these two values are not 1:1 mapping, so you have to be careful when you convert bitOR to usb function index.

Mapping table
//////////////////////////////////////////////////////////////////////////////////////////////
[SET_USB_NONE]            = USB_FUNCTION_NONE
[SET_USB_DEFAULT]         = USB_FUNCTION_MTP | USB_FUNCTION_ACM
[SET_USB_SDB]             = USB_FUNCTION_MTP | USB_FUNCTION_ACM | USB_FUNCTION_SDB
[SET_USB_SDB_DIAG]        = USB_FUNCTION_MTP | USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_DIAG
[SET_USB_RNDIS_TETHERING] = USB_FUNCTION_RNDIS | USB_FUNCTION_SDB | USB_FUNCTION_ACM
[SET_USB_RNDIS]           = USB_FUNCTION_RNDIS
[SET_USB_RNDIS_SDB]       = USB_FUNCTION_RNDIS | USB_FUNCTION_SDB | USB_FUNCTION_ACM
[SET_USB_DIAG_SDB]        = USB_FUNCTION_MTP | USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_DIAG
[SET_USB_RNDIS_DIAG]      = USB_FUNCTION_RNDIS | USB_FUNCTION_DIAG
[SET_USB_DIAG_RMNET]      = USB_FUNCTION_DIAG | USB_FUNCTION_RMNET
[SET_USB_ACM_SDB_DM]      = USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_DM
[SET_USB_RNDIS_SDB_ACM]   = USB_FUNCTION_RNDIS | USB_FUNCTION_ACM | USB_FUNCTION_SDB

Reverse mapping table
//////////////////////////////////////////////////////////////////////////////////////////////
USB_FUNCTION_NONE                                                          = SET_USB_NONE
USB_FUNCTION_RNDIS                                                         = SET_USB_RNDIS
USB_FUNCTION_MTP | USB_FUNCTION_ACM                                        = SET_USB_DEFAULT
USB_FUNCTION_DIAG | USB_FUNCTION_RNDIS                                     = SET_USB_RNDIS_DIAG
USB_FUNCTION_DIAG | USB_FUNCTION_RMNET                                     = SET_USB_DIAG_RMNET
USB_FUNCTION_MTP | USB_FUNCTION_ACM | USB_FUNCTION_SDB                     = SET_USB_SDB
USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_RNDIS                   = SET_USB_RNDIS_SDB
USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_DM                      = SET_USB_ACM_SDB_DM
USB_FUNCTION_MTP | USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_DIAG = SET_USB_SDB_DIAG

Mapping excluded from reverse table
//////////////////////////////////////////////////////////////////////////////////////////////
USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_RNDIS                   = SET_USB_RNDIS_TETHERING
USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_RNDIS                   = SET_USB_RNDIS_SDB_ACM
USB_FUNCTION_MTP | USB_FUNCTION_ACM | USB_FUNCTION_SDB | USB_FUNCTION_DIAG = SET_USB_DIAG_SDB

Change-Id: I3bd0227e274a45135218ae1b015926e13dd9469a
src/usb/usb-state.c