aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/uvc/uvc_driver.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@skynet.be>2008-11-08 17:14:50 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-29 14:53:31 -0500
commit44f0079ec74330b457d990072c13cbe28b0f1abf (patch)
treea5af6ae41c4ff9dabc882d08cfda79a791d56430 /drivers/media/video/uvc/uvc_driver.c
parent7e21fda17e7f6156e2ad66ca4f76abcbe1063eb2 (diff)
V4L/DVB (9570): uvcvideo: Handle failed video GET_{MIN|MAX|DEF} requests more gracefully
Failed requests will now generate a one-time warning message instead of the usual "Failed to query..." error, which should be more user-friendly. The driver will also recover automatically from failed GET_MIN/GET_MAX requests when the device is half-broken without requiring the MINMAX quirk (fully broken devices still need the quirk). Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/uvc/uvc_driver.c')
-rw-r--r--drivers/media/video/uvc/uvc_driver.c126
1 files changed, 0 insertions, 126 deletions
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
index 11398ee66320..1e3b4fe5ae93 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -1726,24 +1726,6 @@ static int uvc_reset_resume(struct usb_interface *intf)
1726 * though they are compliant. 1726 * though they are compliant.
1727 */ 1727 */
1728static struct usb_device_id uvc_ids[] = { 1728static struct usb_device_id uvc_ids[] = {
1729 /* ALi M5606 (Clevo M540SR) */
1730 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1731 | USB_DEVICE_ID_MATCH_INT_INFO,
1732 .idVendor = 0x0402,
1733 .idProduct = 0x5606,
1734 .bInterfaceClass = USB_CLASS_VIDEO,
1735 .bInterfaceSubClass = 1,
1736 .bInterfaceProtocol = 0,
1737 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1738 /* Creative Live! Optia */
1739 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1740 | USB_DEVICE_ID_MATCH_INT_INFO,
1741 .idVendor = 0x041e,
1742 .idProduct = 0x4057,
1743 .bInterfaceClass = USB_CLASS_VIDEO,
1744 .bInterfaceSubClass = 1,
1745 .bInterfaceProtocol = 0,
1746 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1747 /* Microsoft Lifecam NX-6000 */ 1729 /* Microsoft Lifecam NX-6000 */
1748 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE 1730 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1749 | USB_DEVICE_ID_MATCH_INT_INFO, 1731 | USB_DEVICE_ID_MATCH_INT_INFO,
@@ -1829,15 +1811,6 @@ static struct usb_device_id uvc_ids[] = {
1829 .bInterfaceSubClass = 1, 1811 .bInterfaceSubClass = 1,
1830 .bInterfaceProtocol = 0, 1812 .bInterfaceProtocol = 0,
1831 .driver_info = UVC_QUIRK_STREAM_NO_FID }, 1813 .driver_info = UVC_QUIRK_STREAM_NO_FID },
1832 /* Silicon Motion SM371 */
1833 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1834 | USB_DEVICE_ID_MATCH_INT_INFO,
1835 .idVendor = 0x090c,
1836 .idProduct = 0xb371,
1837 .bInterfaceClass = USB_CLASS_VIDEO,
1838 .bInterfaceSubClass = 1,
1839 .bInterfaceProtocol = 0,
1840 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1841 /* MT6227 */ 1814 /* MT6227 */
1842 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE 1815 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1843 | USB_DEVICE_ID_MATCH_INT_INFO, 1816 | USB_DEVICE_ID_MATCH_INT_INFO,
@@ -1922,105 +1895,6 @@ static struct usb_device_id uvc_ids[] = {
1922 .bInterfaceProtocol = 0, 1895 .bInterfaceProtocol = 0,
1923 .driver_info = UVC_QUIRK_PROBE_MINMAX 1896 .driver_info = UVC_QUIRK_PROBE_MINMAX
1924 | UVC_QUIRK_IGNORE_SELECTOR_UNIT}, 1897 | UVC_QUIRK_IGNORE_SELECTOR_UNIT},
1925 /* Acer OEM Webcam - Unknown vendor */
1926 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1927 | USB_DEVICE_ID_MATCH_INT_INFO,
1928 .idVendor = 0x5986,
1929 .idProduct = 0x0100,
1930 .bInterfaceClass = USB_CLASS_VIDEO,
1931 .bInterfaceSubClass = 1,
1932 .bInterfaceProtocol = 0,
1933 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1934 /* Packard Bell OEM Webcam - Bison Electronics */
1935 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1936 | USB_DEVICE_ID_MATCH_INT_INFO,
1937 .idVendor = 0x5986,
1938 .idProduct = 0x0101,
1939 .bInterfaceClass = USB_CLASS_VIDEO,
1940 .bInterfaceSubClass = 1,
1941 .bInterfaceProtocol = 0,
1942 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1943 /* Acer Crystal Eye webcam - Bison Electronics */
1944 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1945 | USB_DEVICE_ID_MATCH_INT_INFO,
1946 .idVendor = 0x5986,
1947 .idProduct = 0x0102,
1948 .bInterfaceClass = USB_CLASS_VIDEO,
1949 .bInterfaceSubClass = 1,
1950 .bInterfaceProtocol = 0,
1951 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1952 /* Compaq Presario B1200 - Bison Electronics */
1953 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1954 | USB_DEVICE_ID_MATCH_INT_INFO,
1955 .idVendor = 0x5986,
1956 .idProduct = 0x0104,
1957 .bInterfaceClass = USB_CLASS_VIDEO,
1958 .bInterfaceSubClass = 1,
1959 .bInterfaceProtocol = 0,
1960 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1961 /* Acer Travelmate 7720 - Bison Electronics */
1962 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1963 | USB_DEVICE_ID_MATCH_INT_INFO,
1964 .idVendor = 0x5986,
1965 .idProduct = 0x0105,
1966 .bInterfaceClass = USB_CLASS_VIDEO,
1967 .bInterfaceSubClass = 1,
1968 .bInterfaceProtocol = 0,
1969 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1970 /* Medion Akoya Mini E1210 - Bison Electronics */
1971 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1972 | USB_DEVICE_ID_MATCH_INT_INFO,
1973 .idVendor = 0x5986,
1974 .idProduct = 0x0141,
1975 .bInterfaceClass = USB_CLASS_VIDEO,
1976 .bInterfaceSubClass = 1,
1977 .bInterfaceProtocol = 0,
1978 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1979 /* Acer OrbiCam - Bison Electronics */
1980 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1981 | USB_DEVICE_ID_MATCH_INT_INFO,
1982 .idVendor = 0x5986,
1983 .idProduct = 0x0200,
1984 .bInterfaceClass = USB_CLASS_VIDEO,
1985 .bInterfaceSubClass = 1,
1986 .bInterfaceProtocol = 0,
1987 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1988 /* Fujitsu Amilo SI2636 - Bison Electronics */
1989 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1990 | USB_DEVICE_ID_MATCH_INT_INFO,
1991 .idVendor = 0x5986,
1992 .idProduct = 0x0202,
1993 .bInterfaceClass = USB_CLASS_VIDEO,
1994 .bInterfaceSubClass = 1,
1995 .bInterfaceProtocol = 0,
1996 .driver_info = UVC_QUIRK_PROBE_MINMAX },
1997 /* Advent 4211 - Bison Electronics */
1998 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1999 | USB_DEVICE_ID_MATCH_INT_INFO,
2000 .idVendor = 0x5986,
2001 .idProduct = 0x0203,
2002 .bInterfaceClass = USB_CLASS_VIDEO,
2003 .bInterfaceSubClass = 1,
2004 .bInterfaceProtocol = 0,
2005 .driver_info = UVC_QUIRK_PROBE_MINMAX },
2006 /* Bison Electronics */
2007 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
2008 | USB_DEVICE_ID_MATCH_INT_INFO,
2009 .idVendor = 0x5986,
2010 .idProduct = 0x0300,
2011 .bInterfaceClass = USB_CLASS_VIDEO,
2012 .bInterfaceSubClass = 1,
2013 .bInterfaceProtocol = 0,
2014 .driver_info = UVC_QUIRK_PROBE_MINMAX },
2015 /* Clevo M570TU - Bison Electronics */
2016 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
2017 | USB_DEVICE_ID_MATCH_INT_INFO,
2018 .idVendor = 0x5986,
2019 .idProduct = 0x0303,
2020 .bInterfaceClass = USB_CLASS_VIDEO,
2021 .bInterfaceSubClass = 1,
2022 .bInterfaceProtocol = 0,
2023 .driver_info = UVC_QUIRK_PROBE_MINMAX },
2024 /* Generic USB Video Class */ 1898 /* Generic USB Video Class */
2025 { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) }, 1899 { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) },
2026 {} 1900 {}