@@ -263,19 +263,11 @@ int media_snd_device_create(struct snd_usb_audio *chip,
mdev = media_device_get_devres(&usbdev->dev);
if (!mdev)
return -ENOMEM;
- if (!mdev->dev) {
- /* register media device */
- mdev->dev = &usbdev->dev;
- if (usbdev->product)
- strlcpy(mdev->model, usbdev->product,
- sizeof(mdev->model));
- if (usbdev->serial)
- strlcpy(mdev->serial, usbdev->serial,
- sizeof(mdev->serial));
- strcpy(mdev->bus_info, usbdev->devpath);
- mdev->hw_revision = le16_to_cpu(usbdev->descriptor.bcdDevice);
- media_device_init(mdev);
- }
+
+ /* Initialize media device */
+ if (!mdev->dev)
+ media_device_usb_init(mdev, usbdev, NULL);
+
if (!media_devnode_is_registered(&mdev->devnode)) {
ret = media_device_register(mdev);
if (ret) {
The media core has now a routine to initialize media_device for USB devices. Use it, instead of doing its own logic, as it warrants that all USB drivers will behave the same. It also warrants that the device will get the same data, no matter if it was initialized initially via snd-usb-audio or via some other driver, like au0828. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> --- sound/usb/media.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-)