diff options
Diffstat (limited to 'drivers/usb/media/sn9c102_tas5110c1b.c')
-rw-r--r-- | drivers/usb/media/sn9c102_tas5110c1b.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/usb/media/sn9c102_tas5110c1b.c b/drivers/usb/media/sn9c102_tas5110c1b.c index 32ddf236cafe..2e08c552f40a 100644 --- a/drivers/usb/media/sn9c102_tas5110c1b.c +++ b/drivers/usb/media/sn9c102_tas5110c1b.c | |||
@@ -142,14 +142,18 @@ static struct sn9c102_sensor tas5110c1b = { | |||
142 | 142 | ||
143 | int sn9c102_probe_tas5110c1b(struct sn9c102_device* cam) | 143 | int sn9c102_probe_tas5110c1b(struct sn9c102_device* cam) |
144 | { | 144 | { |
145 | /* This sensor has no identifiers, so let's attach it anyway */ | 145 | const struct usb_device_id tas5110c1b_id_table[] = { |
146 | sn9c102_attach_sensor(cam, &tas5110c1b); | 146 | { USB_DEVICE(0x0c45, 0x6001), }, |
147 | { USB_DEVICE(0x0c45, 0x6005), }, | ||
148 | { USB_DEVICE(0x0c45, 0x60ab), }, | ||
149 | { } | ||
150 | }; | ||
147 | 151 | ||
148 | /* Sensor detection is based on USB pid/vid */ | 152 | /* Sensor detection is based on USB pid/vid */ |
149 | if (le16_to_cpu(tas5110c1b.usbdev->descriptor.idProduct) != 0x6001 && | 153 | if (!sn9c102_match_id(cam, tas5110c1b_id_table)) |
150 | le16_to_cpu(tas5110c1b.usbdev->descriptor.idProduct) != 0x6005 && | ||
151 | le16_to_cpu(tas5110c1b.usbdev->descriptor.idProduct) != 0x60ab) | ||
152 | return -ENODEV; | 154 | return -ENODEV; |
153 | 155 | ||
156 | sn9c102_attach_sensor(cam, &tas5110c1b); | ||
157 | |||
154 | return 0; | 158 | return 0; |
155 | } | 159 | } |