lkml.org 
[lkml]   [2020]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 035/105] usb: ohci-omap: Fix descriptor conversion
    Date
    From: Linus Walleij <linus.walleij@linaro.org>

    [ Upstream commit 45c5775460f32ed8cdb7c16986ae1a2c254346b3 ]

    There were a bunch of issues with the patch converting the
    OMAP1 OSK board to use descriptors for controlling the USB
    host:

    - The chip label was incorrect
    - The GPIO offset was off-by-one
    - The code should use sleeping accessors

    This patch tries to fix all issues at the same time.

    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
    Fixes: 15d157e87443 ("usb: ohci-omap: Convert to use GPIO descriptors")
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://lore.kernel.org/r/20201130083033.29435-1-linus.walleij@linaro.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm/mach-omap1/board-osk.c | 2 +-
    drivers/usb/host/ohci-omap.c | 4 ++--
    2 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
    index 144b9caa935c4..a720259099edf 100644
    --- a/arch/arm/mach-omap1/board-osk.c
    +++ b/arch/arm/mach-omap1/board-osk.c
    @@ -288,7 +288,7 @@ static struct gpiod_lookup_table osk_usb_gpio_table = {
    .dev_id = "ohci",
    .table = {
    /* Power GPIO on the I2C-attached TPS65010 */
    - GPIO_LOOKUP("i2c-tps65010", 1, "power", GPIO_ACTIVE_HIGH),
    + GPIO_LOOKUP("tps65010", 0, "power", GPIO_ACTIVE_HIGH),
    GPIO_LOOKUP(OMAP_GPIO_LABEL, 9, "overcurrent",
    GPIO_ACTIVE_HIGH),
    },
    diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
    index 9ccdf2c216b51..6374501ba1390 100644
    --- a/drivers/usb/host/ohci-omap.c
    +++ b/drivers/usb/host/ohci-omap.c
    @@ -91,14 +91,14 @@ static int omap_ohci_transceiver_power(struct ohci_omap_priv *priv, int on)
    | ((1 << 5/*usb1*/) | (1 << 3/*usb2*/)),
    INNOVATOR_FPGA_CAM_USB_CONTROL);
    else if (priv->power)
    - gpiod_set_value(priv->power, 0);
    + gpiod_set_value_cansleep(priv->power, 0);
    } else {
    if (machine_is_omap_innovator() && cpu_is_omap1510())
    __raw_writeb(__raw_readb(INNOVATOR_FPGA_CAM_USB_CONTROL)
    & ~((1 << 5/*usb1*/) | (1 << 3/*usb2*/)),
    INNOVATOR_FPGA_CAM_USB_CONTROL);
    else if (priv->power)
    - gpiod_set_value(priv->power, 1);
    + gpiod_set_value_cansleep(priv->power, 1);
    }

    return 0;
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-14 20:01    [W:3.962 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site