lkml.org 
[lkml]   [2012]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 019/149] usb: renesas_usbhs: bugfix: add .release function to gpriv->gadget.dev
    3.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

    commit 3b2a2e47174cd978258bbb0fdf2e2b1b5ec2144c upstream.

    This patch fixup below warning on device_unregister()

    renesas_usbhs renesas_usbhs.1: host probed
    renesas_usbhs renesas_usbhs.1: gadget probed
    renesas_usbhs renesas_usbhs.1: irq request err
    ------------[ cut here ]------------
    WARNING: at ${LINUX}/drivers/base/core.c:1)
    Device 'gadget' does not have a release() function, it is broken and must be fi.
    Modules linked in:
    [<c000e25c>] (unwind_backtrace+0x0/0xe4) from [<c0016960>] (warn_slowpath_commo)
    [<c0016960>] (warn_slowpath_common+0x4c/0x64) from [<c00169f8>] (warn_slowpath_)
    [<c00169f8>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0185b80>] (device_release+0x)
    [<c0185b80>] (device_release+0x70/0x84) from [<c013e300>] (kobject_cleanup+0x58)
    [<c013e300>] (kobject_cleanup+0x58/0x6c) from [<c01cba14>] (usbhs_mod_gadget_re)
    [<c01cba14>] (usbhs_mod_gadget_remove+0x3c/0x6c) from [<c01c8384>] (usbhs_mod_p)
    [<c01c8384>] (usbhs_mod_probe+0x68/0x80) from [<c01c7f84>] (usbhs_probe+0x1cc/0)
    ...

    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/usb/renesas_usbhs/mod_gadget.c | 6 ++++++
    1 file changed, 6 insertions(+)

    --- a/drivers/usb/renesas_usbhs/mod_gadget.c
    +++ b/drivers/usb/renesas_usbhs/mod_gadget.c
    @@ -816,6 +816,11 @@ static int usbhsg_stop(struct usbhs_priv
    return usbhsg_try_stop(priv, USBHSG_STATUS_STARTED);
    }

    +static void usbhs_mod_gadget_release(struct device *pdev)
    +{
    + /* do nothing */
    +}
    +
    int usbhs_mod_gadget_probe(struct usbhs_priv *priv)
    {
    struct usbhsg_gpriv *gpriv;
    @@ -864,6 +869,7 @@ int usbhs_mod_gadget_probe(struct usbhs_
    */
    dev_set_name(&gpriv->gadget.dev, "gadget");
    gpriv->gadget.dev.parent = dev;
    + gpriv->gadget.dev.release = usbhs_mod_gadget_release;
    gpriv->gadget.name = "renesas_usbhs_udc";
    gpriv->gadget.ops = &usbhsg_gadget_ops;
    gpriv->gadget.is_dualspeed = 1;



    \
     
     \ /
      Last update: 2012-03-31 00:35    [W:0.023 / U:61.568 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site