gspca pac7302/pac7311: generalize reg_w_var
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.
Signed-off-by Márton Németh <[email protected]>
Cc Thomas Kaiser <[email protected]>
Cc Theodore Kilgore <[email protected]>
Cc Kyle Guinn <[email protected]>
---
drivers/media/video/gspca/pac7311.c +11 -5
@@ -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);