gspca - sonixj: Add a flag in the driver_info table
PATCH 3/6 gspca - sonixj: Add a flag in the driver_info table
Signed-off-by Jean-François Moine <[email protected]>
drivers/media/video/gspca/sonixj.c +11 -2
@@ -64,6 +64,7 @@ struct sd {u8 jpegqual;/* webcam quality */ u8 reg18; +u8 flags;s8 ag_cnt;#define AG_CNT_START 13
@@ -96,6 +97,9 @@ enum sensors { SENSOR_SP80708, }; +/* device flags */ +#define PDN_INV 1/* inverse pin S_PWR_DN / sn_xxx tables */ +/* V4L2 controls supported by the driver */ static void setbrightness (struct gspca_dev *gspca_dev);static void setcontrast (struct gspca_dev *gspca_dev);
@@ -1763,7 +1767,8 @@ static int sd_config(struct gspca_dev *gspca_dev,struct cam *cam; sd->bridge = id->driver_info >>16 ; - sd->sensor = id->driver_info; + sd->sensor = id->driver_info >>8 ; + sd->flags = id->driver_info; cam = &gspca_dev->cam;if (sd->sensor ==SENSOR_ADCM1700 ) {
@@ -2947,7 +2952,11 @@ static const struct sd_desc sd_desc = {/* -- module initialisation -- */ #define BS (bridge, sensor) \ .driver_info = (BRIDGE_ ## bridge << 16) \ - | SENSOR_ ## sensor + | (SENSOR_ ## sensor << 8) +#define BSF (bridge, sensor, flags) \ + .driver_info = (BRIDGE_ ## bridge << 16) \ + | (SENSOR_ ## sensor << 8) \ + | flagsstatic const __devinitdata struct usb_device_id device_table[] = { #if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE {USB_DEVICE(0x0458, 0x7025), BS(SN9C120, MI0360)},
Signature · 5 lines
1.7.2.3 -- Ken ar c'hentañ | ** Breizh ha Linux atav! ** Jef | http://moinejf.free.fr/
Em 13-12-2010 11:03, Jean-Francois Moine escreveu:
Quoted 36 lines
Signed-off-by Jean-François Moine <[email protected]>drivers/media/video/gspca/sonixj.c +6
-1@@ -64,6 +64,7 @@ struct sd {u8 jpegqual;/* webcam quality */ u8 reg18; +u8 flags;s8 ag_cnt;#define AG_CNT_START 13@@ -96,6 +97,9 @@ enum sensors { SENSOR_SP80708, }; +/* device flags */ +#define PDN_INV 1/* inverse pin S_PWR_DN / sn_xxx tables */ +/* V4L2 controls supported by the driver */ static void setbrightness (struct gspca_dev *gspca_dev);static void setcontrast (struct gspca_dev *gspca_dev);@@ -1763,7 +1767,8 @@ static int sd_config(struct gspca_dev *gspca_dev,struct cam *cam; sd->bridge = id->driver_info >>16 ; - sd->sensor = id->driver_info; + sd->sensor = id->driver_info >>8 ; + sd->flags = id->driver_info; cam = &gspca_dev->cam;if (sd->sensor ==SENSOR_ADCM1700 ) {
drivers/media/video/gspca/sonixj.c static const struct sd_desc sd_desc = { · line 2959
Quoted 9 lines
drivers/media/video/gspca/sonixj.c +5
-1@@ -2947,7 +2952,11 @@ static const struct sd_desc sd_desc = {/* -- module initialisation -- */ #define BS (bridge, sensor) \ .driver_info = (BRIDGE_ ## bridge << 16) \ - | SENSOR_ ## sensor + | (SENSOR_ ## sensor << 8) +#define BSF (bridge, sensor, flags) \ + .driver_info = (BRIDGE_ ## bridge << 16) \ + | (SENSOR_ ## sensor << 8) \ + | flags
As "flags" come from a macro, please use "(flags)" instead. This will avoid the risk of having something bad happening here, if we add some more complex flags logic.
Quoted 3 lines
drivers/media/video/gspca/sonixj.c +0
-0static const __devinitdata struct usb_device_id device_table[] = { #if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE {USB_DEVICE(0x0458, 0x7025), BS(SN9C120, MI0360)},