[media] siano: use generic function to create MC device
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 16 Feb 2016 10:07:43 +0000 (08:07 -0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 16 Feb 2016 11:30:46 +0000 (09:30 -0200)
Currently, it is initializing the driver name using the wrong
name ("usb"). Use the generic function, as its logic works
best, and avoids repeating the very same code everywhere.

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

index 9fac9779f616d738ec0ed545528dd7ee03569aa8..4dac499ed28e710536d262182b156348bad33a9c 100644 (file)
@@ -27,6 +27,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include <linux/firmware.h>
 #include <linux/slab.h>
 #include <linux/module.h>
+#include <media/v4l2-mc.h>
 
 #include "sms-cards.h"
 #include "smsendian.h"
@@ -366,20 +367,10 @@ static void *siano_media_device_register(struct smsusb_device_t *dev,
        struct sms_board *board = sms_get_board(board_id);
        int ret;
 
-       mdev = kzalloc(sizeof(*mdev), GFP_KERNEL);
+       mdev = v4l2_mc_usb_media_device_init(udev, board->name);
        if (!mdev)
                return NULL;
 
-       mdev->dev = &udev->dev;
-       strlcpy(mdev->model, board->name, sizeof(mdev->model));
-       if (udev->serial)
-               strlcpy(mdev->serial, udev->serial, sizeof(mdev->serial));
-       strcpy(mdev->bus_info, udev->devpath);
-       mdev->hw_revision = le16_to_cpu(udev->descriptor.bcdDevice);
-       mdev->driver_version = LINUX_VERSION_CODE;
-
-       media_device_init(mdev);
-
        ret = media_device_register(mdev);
        if (ret) {
                media_device_cleanup(mdev);