Commit e6e48378 authored by Antonio Ospite's avatar Antonio Ospite Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (9883): gspca - ov534: Show sensor ID.



The original version of sccb_read_reg() is from Jim Paris.

NOTE: as it is now reading sensor ID won't work for sensors on different
i2c slave address.

Signed-off-by: default avatarAntonio Ospite <ospite@studenti.unina.it>
Signed-off-by: default avatarJean-Francois Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 15e3209a
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -149,6 +149,20 @@ static void sccb_reg_write(struct usb_device *udev, u16 reg, u8 val)
		PDEBUG(D_ERR, "sccb_reg_write failed");
}

static u8 sccb_reg_read(struct usb_device *udev, u16 reg)
{
	ov534_reg_write(udev, OV534_REG_SUBADDR, reg);
	ov534_reg_write(udev, OV534_REG_OPERATION, OV534_OP_WRITE_2);
	if (!sccb_check_status(udev))
		PDEBUG(D_ERR, "sccb_reg_read failed 1");

	ov534_reg_write(udev, OV534_REG_OPERATION, OV534_OP_READ_2);
	if (!sccb_check_status(udev))
		PDEBUG(D_ERR, "sccb_reg_read failed 2");

	return ov534_reg_read(udev, OV534_REG_READ);
}

static const __u8 ov534_reg_initdata[][2] = {
	{ 0xe7, 0x3a },

@@ -339,6 +353,9 @@ static void ov534_setup(struct usb_device *udev)
		ov534_reg_write(udev, ov534_reg_initdata[i][0],
				ov534_reg_initdata[i][1]);

	PDEBUG(D_PROBE, "sensor is ov%02x%02x",
		sccb_reg_read(udev, 0x0a), sccb_reg_read(udev, 0x0b));

	ov534_set_led(udev, 1);

	/* Initialize sensor */