• Eugeniu Rosca's avatar
    usb: renesas_usbhs: simplify usbhs_status_get_device_state() · d2802865
    Eugeniu Rosca authored
    Similar to usbhs_status_get_ctrl_stage(), *_get_device_state() is not
    supposed to return any error code since its return value is the DVSQ
    bitfield of the INTSTS0 register. According to SoC HW manual rev1.00,
    every single value of DVSQ[2:0] is valid and none is an error:
    
    ----8<----
    Device State
    000: Powered state
    001: Default state
    010: Address state
    011: Configuration state
    1xx: Suspended state
    ----8<----
    
    Hence, simplify the function body. The motivation behind dropping the
    switch/case construct is being able to implement reading the suspended
    state. The latter (based on the above DVSQ[2:0] description) doesn't
    have a unique value, but is rather a list of states (which makes
    switch/case less suitable for reading/validating it):
    
    100: (Suspended) Powered state
    101: (Suspended) Default state
    110: (Suspended) Address state
    111: (Suspended) Configuration state
    Signed-off-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
    Signed-off-by: default avatarVeeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com>
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
    d2802865
mod.c 8.42 KB