lkml.org 
[lkml]   [2015]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/7][v4]usb:fsl:otg: Signal host drv when host is otg
    Date
    Set is_otg boolean flag to signal host driver when host
    is running in context of otg host suspend/resume.

    Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
    ---
    drivers/usb/phy/phy-fsl-usb.c | 7 ++++++-
    include/linux/usb.h | 1 +
    2 files changed, 7 insertions(+), 1 deletion(-)

    diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c
    index 4e58aee..815c22c 100644
    --- a/drivers/usb/phy/phy-fsl-usb.c
    +++ b/drivers/usb/phy/phy-fsl-usb.c
    @@ -463,6 +463,7 @@ void otg_reset_controller(void)
    int fsl_otg_start_host(struct otg_fsm *fsm, int on)
    {
    struct usb_otg *otg = fsm->otg;
    + struct usb_bus *host = otg->host;
    struct device *dev;
    struct fsl_otg *otg_dev =
    container_of(otg->usb_phy, struct fsl_otg, phy);
    @@ -485,6 +486,7 @@ int fsl_otg_start_host(struct otg_fsm *fsm, int on)
    else {
    otg_reset_controller();
    VDBG("host on......\n");
    + host->is_otg = 1;
    if (dev->driver->pm && dev->driver->pm->resume) {
    retval = dev->driver->pm->resume(dev);
    if (fsm->id) {
    @@ -510,8 +512,11 @@ int fsl_otg_start_host(struct otg_fsm *fsm, int on)
    else {
    VDBG("host off......\n");
    if (dev && dev->driver) {
    - if (dev->driver->pm && dev->driver->pm->suspend)
    + if (dev->driver->pm &&
    + dev->driver->pm->suspend) {
    + host->is_otg = 1;
    retval = dev->driver->pm->suspend(dev);
    + }
    if (fsm->id)
    /* default-b */
    fsl_otg_drv_vbus(fsm, 0);
    diff --git a/include/linux/usb.h b/include/linux/usb.h
    index 447fe29..2208822 100644
    --- a/include/linux/usb.h
    +++ b/include/linux/usb.h
    @@ -355,6 +355,7 @@ struct usb_bus {
    * for control transfers?
    */
    u8 otg_port; /* 0, or number of OTG/HNP port */
    + unsigned is_otg:1; /* true when host is also otg */
    unsigned is_b_host:1; /* true during some HNP roleswitches */
    unsigned b_hnp_enable:1; /* OTG: did A-Host enable HNP? */
    unsigned no_stop_on_short:1; /*
    --
    1.8.3.1


    \
     
     \ /
      Last update: 2015-08-27 18:41    [W:4.263 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site