Index: m5602_s5k4aa.c
===================================================================
--- m5602_s5k4aa.c	(révision 357)
+++ m5602_s5k4aa.c	(copie de travail)
@@ -20,7 +20,8 @@
 
 static int s5k4aa_probe(struct m5602_camera *cam)
 {
-	u8 prod_id;
+	u8 prod_id[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+	u8 expected_prod_id[6] = {0x00, 0x10, 0x00, 0x4b, 0x33, 0x75};
 	int i, err = 0;
 
 	if (force_sensor) {
@@ -63,11 +64,11 @@
 		}
 	}
 
-	/* Test a read-only register, but we don't know its exact meaning yet */
-	if (s5k4aa_read_sensor(cam, 0x00, &prod_id, 1))
+	/* Test the first 6 registers, but we don't know their exact meaning yet */
+	if (s5k4aa_read_sensor(cam, 0x00, prod_id, sizeof(prod_id)))
 		return -ENODEV;
 
-	if (prod_id != 0x24)
+	if (memcmp(prod_id, expected_prod_id, sizeof(prod_id)))
 		return -ENODEV;
 	else
 		info("Detected a s5k4aa sensor");
Index: m5602_s5k4aa.h
===================================================================
--- m5602_s5k4aa.h	(révision 357)
+++ m5602_s5k4aa.h	(copie de travail)
@@ -143,7 +143,7 @@
 	{BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
 	{BRIDGE, M5602_XB_I2C_CLK_DIV, 0x20, 0x00},
 
-	{SENSOR, S5K4AA_PAGE_MAP, 0x0c, 0x00}
+	{SENSOR, S5K4AA_PAGE_MAP, 0x00, 0x00}
 };
 
 static const unsigned char init_s5k4aa[][4] =
