usb: gadget: function: uac2: add a release method
devices are required to provide a release method. This
patch fixes the following WARN():
[ 42.611159] ------------[ cut here ]------------
[ 42.616025] WARNING: CPU: 0 PID: 1453 at drivers/base/core.c:250 device_release+0x94/0xa0()
[ 42.624820] Device 'snd_uac2.0' does not have a release() function, it is broken and must be fixed.
[ 42.634328] Modules linked in: usb_f_uac2 g_audio(-) libcomposite configfs xhci_hcd snd_soc_davinci_mcasp snd_soc_edma snd_soc_tlv320aic3x snd_soc_omap snd_soc_evm snd_soc_core dwc3 snd_compress omapdrm snd_pcm_dmaengine snd_pcm snd_timer snd fb_sys_fops lis3lv02d_i2c matrix_keypad dwc3_omap lis3lv02d panel_dpi input_polldev soundcore
[ 42.665687] CPU: 0 PID: 1453 Comm: modprobe Tainted: G D 3.17.0-rc6-00448-g9f3d0ec-dirty #188
[ 42.675756] [<
c0017338>] (unwind_backtrace) from [<
c0012fdc>] (show_stack+0x20/0x24)
[ 42.683911] [<
c0012fdc>] (show_stack) from [<
c0647fbc>] (dump_stack+0x8c/0xa4)
[ 42.691526] [<
c0647fbc>] (dump_stack) from [<
c0049950>] (warn_slowpath_common+0x7c/0xa0)
[ 42.700004] [<
c0049950>] (warn_slowpath_common) from [<
c00499b4>] (warn_slowpath_fmt+0x40/0x48)
[ 42.709194] [<
c00499b4>] (warn_slowpath_fmt) from [<
c0405f7c>] (device_release+0x94/0xa0)
[ 42.717794] [<
c0405f7c>] (device_release) from [<
c032e8e8>] (kobject_cleanup+0x4c/0x7c)
[ 42.726189] [<
c032e8e8>] (kobject_cleanup) from [<
c032e7c8>] (kobject_put+0x60/0x90)
[ 42.734316] [<
c032e7c8>] (kobject_put) from [<
c0406320>] (put_device+0x24/0x28)
[ 42.741995] [<
c0406320>] (put_device) from [<
c040c008>] (platform_device_unregister+0x2c/0x30)
[ 42.751061] [<
c040c008>] (platform_device_unregister) from [<
bf2b6b70>] (afunc_unbind+0x2c/0x68 [usb_f_uac2])
[ 42.761523] [<
bf2b6b70>] (afunc_unbind [usb_f_uac2]) from [<
bf29dbec>] (remove_config.isra.8+0xe8/0x100 [libcomposite])
[ 42.772868] [<
bf29dbec>] (remove_config.isra.8 [libcomposite]) from [<
bf29f9a4>] (__composite_unbind+0x48/0xb0 [libcomposite])
[ 42.784855] [<
bf29f9a4>] (__composite_unbind [libcomposite]) from [<
bf29fa28>] (composite_unbind+0x1c/0x20 [libcomposite])
[ 42.796446] [<
bf29fa28>] (composite_unbind [libcomposite]) from [<
c04d229c>] (usb_gadget_remove_driver+0x78/0xb0)
[ 42.807224] [<
c04d229c>] (usb_gadget_remove_driver) from [<
c04d2348>] (usb_gadget_unregister_driver+0x74/0xb8)
[ 42.817742] [<
c04d2348>] (usb_gadget_unregister_driver) from [<
bf29db00>] (usb_composite_unregister+0x1c/0x20 [libcomposite])
[ 42.829632] [<
bf29db00>] (usb_composite_unregister [libcomposite]) from [<
bf2b1084>] (audio_driver_exit+0x14/0x1c [g_audio])
[ 42.841430] [<
bf2b1084>] (audio_driver_exit [g_audio]) from [<
c00c0fe0>] (SyS_delete_module+0x120/0x1b0)
[ 42.851415] [<
c00c0fe0>] (SyS_delete_module) from [<
c000ed40>] (ret_fast_syscall+0x0/0x48)
[ 42.860075] ---[ end trace
bb22e678d8d6db7b ]---
root@saruman:~#
Signed-off-by: Felipe Balbi <balbi@ti.com>