mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 07:00:48 +00:00
V4L/DVB (12235): em28xx: detects sensors also with the generic em2750/2750 entry
Webcams in general don't have eeprom. So, the sensor hint code should be called to properly detect what sensor is inside. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
8a2e6990f4
commit
8b220793d6
@ -20,7 +20,7 @@
|
|||||||
19 -> EM2860/SAA711X Reference Design (em2860)
|
19 -> EM2860/SAA711X Reference Design (em2860)
|
||||||
20 -> AMD ATI TV Wonder HD 600 (em2880) [0438:b002]
|
20 -> AMD ATI TV Wonder HD 600 (em2880) [0438:b002]
|
||||||
21 -> eMPIA Technology, Inc. GrabBeeX+ Video Encoder (em2800) [eb1a:2801]
|
21 -> eMPIA Technology, Inc. GrabBeeX+ Video Encoder (em2800) [eb1a:2801]
|
||||||
22 -> Unknown EM2750/EM2751 webcam grabber (em2750) [eb1a:2750,eb1a:2751]
|
22 -> EM2710/EM2750/EM2751 webcam grabber (em2750) [eb1a:2750,eb1a:2751]
|
||||||
23 -> Huaqi DLCW-130 (em2750)
|
23 -> Huaqi DLCW-130 (em2750)
|
||||||
24 -> D-Link DUB-T210 TV Tuner (em2820/em2840) [2001:f112]
|
24 -> D-Link DUB-T210 TV Tuner (em2820/em2840) [2001:f112]
|
||||||
25 -> Gadmei UTV310 (em2820/em2840)
|
25 -> Gadmei UTV310 (em2820/em2840)
|
||||||
|
@ -205,7 +205,7 @@ static struct em28xx_reg_seq silvercrest_reg_seq[] = {
|
|||||||
*/
|
*/
|
||||||
struct em28xx_board em28xx_boards[] = {
|
struct em28xx_board em28xx_boards[] = {
|
||||||
[EM2750_BOARD_UNKNOWN] = {
|
[EM2750_BOARD_UNKNOWN] = {
|
||||||
.name = "Unknown EM2750/EM2751 webcam grabber",
|
.name = "EM2710/EM2750/EM2751 webcam grabber",
|
||||||
.xclk = EM28XX_XCLK_FREQUENCY_48MHZ,
|
.xclk = EM28XX_XCLK_FREQUENCY_48MHZ,
|
||||||
.tuner_type = TUNER_ABSENT,
|
.tuner_type = TUNER_ABSENT,
|
||||||
.is_webcam = 1,
|
.is_webcam = 1,
|
||||||
@ -1720,7 +1720,8 @@ static int em28xx_hint_sensor(struct em28xx *dev)
|
|||||||
__be16 version_be;
|
__be16 version_be;
|
||||||
u16 version;
|
u16 version;
|
||||||
|
|
||||||
if (dev->model != EM2820_BOARD_UNKNOWN)
|
if (dev->model != EM2820_BOARD_UNKNOWN &&
|
||||||
|
dev->model != EM2750_BOARD_UNKNOWN)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
dev->i2c_client.addr = 0xba >> 1;
|
dev->i2c_client.addr = 0xba >> 1;
|
||||||
@ -1738,11 +1739,11 @@ static int em28xx_hint_sensor(struct em28xx *dev)
|
|||||||
sensor_name = "mt9v011";
|
sensor_name = "mt9v011";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printk("Unknown Sensor 0x%04x\n", be16_to_cpu(version));
|
printk("Unknown Micron Sensor 0x%04x\n", be16_to_cpu(version));
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
em28xx_errdev("Sensor is %s, assuming that webcam is %s\n",
|
em28xx_errdev("Sensor is %s, using model %s entry.\n",
|
||||||
sensor_name, em28xx_boards[dev->model].name);
|
sensor_name, em28xx_boards[dev->model].name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user