* [PATCH 3/6] gspca - sonixj: Add a flag in the driver_info table
@ 2010-12-13 13:03 Jean-Francois Moine
2010-12-13 13:29 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 3+ messages in thread
From: Jean-Francois Moine @ 2010-12-13 13:03 UTC (permalink / raw)
To: Linux Media Mailing List, Mauro Carvalho Chehab
Signed-off-by: Jean-François Moine <moinejf@free.fr>
diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c
index 5978676..bd5858e 100644
--- a/drivers/media/video/gspca/sonixj.c
+++ b/drivers/media/video/gspca/sonixj.c
@@ -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) \
+ | flags
static 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)},
--
1.7.2.3
--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 3/6] gspca - sonixj: Add a flag in the driver_info table
2010-12-13 13:03 [PATCH 3/6] gspca - sonixj: Add a flag in the driver_info table Jean-Francois Moine
@ 2010-12-13 13:29 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 3+ messages in thread
From: Mauro Carvalho Chehab @ 2010-12-13 13:29 UTC (permalink / raw)
To: Jean-Francois Moine; +Cc: Linux Media Mailing List
Em 13-12-2010 11:03, Jean-Francois Moine escreveu:
>
> Signed-off-by: Jean-François Moine <moinejf@free.fr>
>
> diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c
> index 5978676..bd5858e 100644
> --- a/drivers/media/video/gspca/sonixj.c
> +++ b/drivers/media/video/gspca/sonixj.c
> @@ -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) \
> + | 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.
> static 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)},
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 3/6] gspca - sonixj: Add a flag in the driver_info table
@ 2010-12-14 19:15 Jean-François Moine
0 siblings, 0 replies; 3+ messages in thread
From: Jean-François Moine @ 2010-12-14 19:15 UTC (permalink / raw)
To: Linux Media Mailing List, Mauro Carvalho Chehab
Signed-off-by: Jean-François Moine <moinejf@free.fr>
diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c
index 5978676..ed7349b 100644
--- a/drivers/media/video/gspca/sonixj.c
+++ b/drivers/media/video/gspca/sonixj.c
@@ -64,6 +64,7 @@ struct sd {
u8 jpegqual; /* webcam quality */
u8 reg18;
+ u8 flags;
s8 ag_cnt;
#define AG_CNT_START 13
@@ -1763,7 +1764,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 +2949,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)
static 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)},
--
1.7.2.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-12-14 19:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-13 13:03 [PATCH 3/6] gspca - sonixj: Add a flag in the driver_info table Jean-Francois Moine
2010-12-13 13:29 ` Mauro Carvalho Chehab
-- strict thread matches above, loose matches on Subject: below --
2010-12-14 19:15 Jean-François Moine
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox