[media] Revert "[media] media: au0828 change to use Managed Media Controller API"
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 31 Mar 2016 13:54:05 +0000 (10:54 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 31 Mar 2016 18:09:04 +0000 (15:09 -0300)
Extending the lifetime of the media_device struct is not handled well
by the core, as it will erase some data from the struct, when
media_device_cleanup() is called after unregistering it.

While we have a fixup patch for it already, the usage of those new
functions are needed only when we share data with other drivers.

So, better to revert the changes.

This reverts commit 182dde7c5d4c ("[media] media: au0828 change
to use Managed Media Controller API")

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/usb/au0828/au0828-core.c

index a40958ad8341b22b99333f0a67600019187bbbf9..cc22b32776ad1c5159bb4d04b22228fca1aab3ed 100644 (file)
@@ -144,6 +144,7 @@ static void au0828_unregister_media_device(struct au0828_dev *dev)
 
                media_device_unregister(dev->media_dev);
                media_device_cleanup(dev->media_dev);
+               kfree(dev->media_dev);
                dev->media_dev = NULL;
        }
 #endif
@@ -197,7 +198,7 @@ static int au0828_media_device_init(struct au0828_dev *dev,
 #ifdef CONFIG_MEDIA_CONTROLLER
        struct media_device *mdev;
 
-       mdev = media_device_get_devres(&udev->dev);
+       mdev = kzalloc(sizeof(*mdev), GFP_KERNEL);
        if (!mdev)
                return -ENOMEM;