Skip to contentSkip to conversation

gspca pac7302/pac7311: generalize reg_w_var

PATCH In review Németh Márton 1 participant 1 message Oct 31, 2009 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 18/21 gspca pac7302/pac7311: generalize reg_w_var

From: Márton Németh <[email protected]>

The original implementation of reg_w_var contains direct references to pac7302 and 7311 specific structures. Move these references to the parameter list.

Cc Thomas Kaiser <[email protected]>
Cc Theodore Kilgore <[email protected]>
Cc Kyle Guinn <[email protected]>

---

drivers/media/video/gspca/pac7311.c +11 -5
diff -uprN r/drivers/media/video/gspca/pac7311.c s/drivers/media/video/gspca/pac7311.c
@@ -602,7 +602,9 @@ static void reg_w_page(struct gspca_dev
 
 /* output a variable sequence */
 static void reg_w_var(struct gspca_dev *gspca_dev,
-			const __u8 *seq)
+			const __u8 *seq,
+			const __u8 *page3, unsigned int page3_len,
+			const __u8 *page4, unsigned int page4_len)
 {
 	int index, len;
 
@@ -613,10 +615,10 @@ static void reg_w_var(struct gspca_dev *
 		case END_OF_SEQUENCE:
 			return;
 		case LOAD_PAGE4:
-			reg_w_page(gspca_dev, page4_7311, sizeof page4_7311);
+			reg_w_page(gspca_dev, page4, page4_len);
 			break;
 		case LOAD_PAGE3:
-			reg_w_page(gspca_dev, page3_7302, sizeof page3_7302);
+			reg_w_page(gspca_dev, page3, page3_len);
 			break;
 		default:
 			if (len > USB_BUF_SZ) {
@@ -874,7 +876,9 @@ static int pac7302_sd_start(struct gspca
 
 	sd->sof_read = 0;
 
-	reg_w_var(gspca_dev, start_7302);
+	reg_w_var(gspca_dev, start_7302,
+		page3_7302, sizeof(page3_7302),
+		NULL, 0);
 	pac7302_setbrightcont(gspca_dev);
 	pac7302_setcolors(gspca_dev);
 	pac7302_setgain(gspca_dev);
@@ -900,7 +904,9 @@ static int pac7311_sd_start(struct gspca
 
 	sd->sof_read = 0;
 
-	reg_w_var(gspca_dev, start_7311);
+	reg_w_var(gspca_dev, start_7311,
+		NULL, 0,
+		page4_7311, sizeof(page4_7311));
 	pac7311_setcontrast(gspca_dev);
 	pac7311_setgain(gspca_dev);
 	pac7311_setexposure(gspca_dev);