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)
...
Cc: stable@vger.kernel.org
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
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;
*/
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.max_speed = USB_SPEED_HIGH;