Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
[pandora-kernel.git] / drivers / media / video / gspca / cpia1.c
index 3dbc7a1..9b12168 100644 (file)
@@ -380,6 +380,7 @@ static int sd_getilluminator2(struct gspca_dev *gspca_dev, __s32 *val);
 
 static const struct ctrl sd_ctrls[] = {
        {
+#define BRIGHTNESS_IDX 0
            {
                .id      = V4L2_CID_BRIGHTNESS,
                .type    = V4L2_CTRL_TYPE_INTEGER,
@@ -394,6 +395,7 @@ static const struct ctrl sd_ctrls[] = {
            .set = sd_setbrightness,
            .get = sd_getbrightness,
        },
+#define CONTRAST_IDX 1
        {
            {
                .id      = V4L2_CID_CONTRAST,
@@ -408,6 +410,7 @@ static const struct ctrl sd_ctrls[] = {
            .set = sd_setcontrast,
            .get = sd_getcontrast,
        },
+#define SATURATION_IDX 2
        {
            {
                .id      = V4L2_CID_SATURATION,
@@ -422,6 +425,7 @@ static const struct ctrl sd_ctrls[] = {
            .set = sd_setsaturation,
            .get = sd_getsaturation,
        },
+#define POWER_LINE_FREQUENCY_IDX 3
        {
                {
                        .id      = V4L2_CID_POWER_LINE_FREQUENCY,
@@ -436,6 +440,7 @@ static const struct ctrl sd_ctrls[] = {
                .set = sd_setfreq,
                .get = sd_getfreq,
        },
+#define ILLUMINATORS_1_IDX 4
        {
                {
                        .id      = V4L2_CID_ILLUMINATORS_1,
@@ -450,6 +455,7 @@ static const struct ctrl sd_ctrls[] = {
                .set = sd_setilluminator1,
                .get = sd_getilluminator1,
        },
+#define ILLUMINATORS_2_IDX 5
        {
                {
                        .id      = V4L2_CID_ILLUMINATORS_2,
@@ -464,6 +470,7 @@ static const struct ctrl sd_ctrls[] = {
                .set = sd_setilluminator2,
                .get = sd_getilluminator2,
        },
+#define COMP_TARGET_IDX 6
        {
                {
 #define V4L2_CID_COMP_TARGET V4L2_CID_PRIVATE_BASE
@@ -1746,7 +1753,9 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
 /* this function is called at probe and resume time */
 static int sd_init(struct gspca_dev *gspca_dev)
 {
+#ifdef GSPCA_DEBUG
        struct sd *sd = (struct sd *) gspca_dev;
+#endif
        int ret;
 
        /* Start / Stop the camera to make sure we are talking to
@@ -1756,9 +1765,13 @@ static int sd_init(struct gspca_dev *gspca_dev)
        if (ret)
                return ret;
 
-       /* Ensure the QX3 illuminators' states are restored upon resume */
+       /* Ensure the QX3 illuminators' states are restored upon resume,
+          or disable the illuminator controls, if this isn't a QX3 */
        if (sd->params.qx3.qx3_detected)
                command_setlights(gspca_dev);
+       else
+               gspca_dev->ctrl_dis |=
+                       ((1 << ILLUMINATORS_1_IDX) | (1 << ILLUMINATORS_2_IDX));
 
        sd_stopN(gspca_dev);