extcon: arizona: Always take the first HPDET reading as the final one
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 5 Feb 2013 17:48:49 +0000 (17:48 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 11 Feb 2013 16:06:25 +0000 (16:06 +0000)
This should always be the most accurate reading for supported accessory
configurations.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/extcon/extcon-arizona.c

index aeaf217..d991842 100644 (file)
@@ -451,6 +451,10 @@ static int arizona_hpdet_do_id(struct arizona_extcon_info *info, int *reading)
                        info->hpdet_res[0], info->hpdet_res[1],
                        info->hpdet_res[2]);
 
+
+               /* Take the headphone impedance for the main report */
+               *reading = info->hpdet_res[0];
+
                /*
                 * Either the two grounds measure differently or we
                 * measure the mic as high impedance.
@@ -466,9 +470,6 @@ static int arizona_hpdet_do_id(struct arizona_extcon_info *info, int *reading)
                                dev_err(arizona->dev,
                                        "Failed to report mic: %d\n", ret);
                        }
-
-                       /* Take the headphone impedance for the main report */
-                       *reading = info->hpdet_res[1];
                } else {
                        dev_dbg(arizona->dev, "Detected headphone\n");
                }