[media] go7007: go7007: add device_caps and bus_info support to querycap
authorHans Verkuil <hans.verkuil@cisco.com>
Sat, 9 Mar 2013 12:38:03 +0000 (09:38 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 24 Mar 2013 15:40:25 +0000 (12:40 -0300)
And don't set the version field, the core does that for you.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/staging/media/go7007/go7007-priv.h
drivers/staging/media/go7007/go7007-usb.c
drivers/staging/media/go7007/go7007-v4l2.c
drivers/staging/media/go7007/saa7134-go7007.c

index 898eb5b8ec2763730112525800cd6169f65f023b..1c4b049bd55102861d222a33d08eaf8d095d0a10 100644 (file)
@@ -171,6 +171,7 @@ enum go7007_parser_state {
 
 struct go7007 {
        struct device *dev;
+       u8 bus_info[32];
        struct go7007_board_info *board_info;
        unsigned int board_id;
        int tuner_type;
index 5e3e5a02a34c822338290d923c42c8f811bdec8d..0b1af508cd2ba65b62a071906f1e8abd440bdd25 100644 (file)
@@ -1087,6 +1087,7 @@ static int go7007_usb_probe(struct usb_interface *intf,
                goto allocfail;
        usb->board = board;
        usb->usbdev = usbdev;
+       usb_make_path(usbdev, go->bus_info, sizeof(go->bus_info));
        go->board_id = id->driver_info;
        strncpy(go->name, name, sizeof(go->name));
        if (board->flags & GO7007_USB_EZUSB)
index a7307812b0de91fce360c8ef07a0db7a0cb0d6c6..e9196bbc21ee147a188fe7a9a20abce26446e8ee 100644 (file)
@@ -602,19 +602,15 @@ static int vidioc_querycap(struct file *file, void  *priv,
 
        strlcpy(cap->driver, "go7007", sizeof(cap->driver));
        strlcpy(cap->card, go->name, sizeof(cap->card));
-#if 0
-       strlcpy(cap->bus_info, dev_name(&dev->udev->dev), sizeof(cap->bus_info));
-#endif
-
-       cap->version = KERNEL_VERSION(0, 9, 8);
+       strlcpy(cap->bus_info, go->bus_info, sizeof(cap->bus_info));
 
        cap->capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
 
        if (go->board_info->num_aud_inputs)
                cap->device_caps |= V4L2_CAP_AUDIO;
        if (go->board_info->flags & GO7007_BOARD_HAS_TUNER)
-               cap->capabilities |= V4L2_CAP_TUNER;
-
+               cap->device_caps |= V4L2_CAP_TUNER;
+       cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
        return 0;
 }
 
index e037a39f4a6553ff4b8ef4567a862a67842b9ddd..d65e17ace4955160115dbf01330a86ffbc03c792 100644 (file)
@@ -456,6 +456,7 @@ static int saa7134_go7007_init(struct saa7134_dev *dev)
        if (go == NULL)
                goto allocfail;
        go->board_id = GO7007_BOARDID_PCI_VOYAGER;
+       snprintf(go->bus_info, sizeof(go->bus_info), "PCI:%s", pci_name(dev->pci));
        strncpy(go->name, saa7134_boards[dev->board].name, sizeof(go->name));
        go->hpi_ops = &saa7134_go7007_hpi_ops;
        go->hpi_context = saa;