drm/i2c/ch7006: Fix load detection false positives right after system init.
authorFrancisco Jerez <currojerez@riseup.net>
Tue, 15 Dec 2009 00:34:42 +0000 (01:34 +0100)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 16 Dec 2009 07:04:45 +0000 (17:04 +1000)
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/i2c/ch7006_drv.c
drivers/gpu/drm/i2c/ch7006_mode.c

index 9422a74c8b54148b881b6dac265339194ba24ece..81681a07a8060cbdb980765fca9edfc3a270d7ca 100644 (file)
@@ -408,6 +408,11 @@ static int ch7006_probe(struct i2c_client *client, const struct i2c_device_id *i
 
        ch7006_info(client, "Detected version ID: %x\n", val);
 
+       /* I don't know what this is for, but otherwise I get no
+        * signal.
+        */
+       ch7006_write(client, 0x3d, 0x0);
+
        return 0;
 
 fail:
index 87f5445092e84198d303d35b9ac7a2d956b2b149..e447dfb63890c91d948b634a27084ba0ba784293 100644 (file)
@@ -427,11 +427,6 @@ void ch7006_state_load(struct i2c_client *client,
        ch7006_load_reg(client, state, CH7006_SUBC_INC7);
        ch7006_load_reg(client, state, CH7006_PLL_CONTROL);
        ch7006_load_reg(client, state, CH7006_CALC_SUBC_INC0);
-
-       /* I don't know what this is for, but otherwise I get no
-        * signal.
-        */
-       ch7006_write(client, 0x3d, 0x0);
 }
 
 void ch7006_state_save(struct i2c_client *client,