All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/7] Add basic microphone detection bindings
@ 2015-06-19 16:23 ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

This series adds basic microphone detection DT/ACPI bindings
using the device properties API.

The MFD parts and the extcon parts can go seperately through
there respective trees, but I sent them together so everyone
can see what is going on. There is no build dependency
although the MFD patch will fix a couple of Sparse warnings
that you get if using -Wsparse-all.

Changes since v1:
 - Removed double include of property.h

Changes since v2:
 - Removed check for CONFIG_OF to call
   arizona_extcon_device_get_pdata.
 - Add some defines for the pdata values of micd-dbtime.
 - Factor out the initial gpio level for the micd-pol-gpio.
 - Don't check if null before calling gpiod_set_value_cansleep.
 - Added a comment to explain why we can't use devm for gpiod.
 - Added patch to make some small corrections to the jack
   detection into this series to keep them all together for
   easy of applying.

Changes since v3:
 - Simplify the symantics of the pdata for micd_dbtime

Changes since v4:
 - Remove the gpio initial state patch added in v2

Thanks,
Charles

Charles Keepax (7):
  extcon: arizona: Simplify pdata symantics for micd_dbtime
  extcon: arizona: Update to use the new device properties API
  extcon: arizona: Add basic microphone detection DT/ACPI bindings
  extcon: arizona: Convert to gpiod
  extcon: arizona: Ensure variables are set for headphone detection
  mfd: arizona: Update DT doc for new mic detection bindings
  mfd: arizona: Update several pdata members to unsigned

 Documentation/devicetree/bindings/mfd/arizona.txt |   16 ++++
 drivers/extcon/extcon-arizona.c                   |   95 +++++++++++++++++----
 include/linux/mfd/arizona/pdata.h                 |   15 ++--
 3 files changed, 102 insertions(+), 24 deletions(-)

-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH v5 0/7] Add basic microphone detection bindings
@ 2015-06-19 16:23 ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

This series adds basic microphone detection DT/ACPI bindings
using the device properties API.

The MFD parts and the extcon parts can go seperately through
there respective trees, but I sent them together so everyone
can see what is going on. There is no build dependency
although the MFD patch will fix a couple of Sparse warnings
that you get if using -Wsparse-all.

Changes since v1:
 - Removed double include of property.h

Changes since v2:
 - Removed check for CONFIG_OF to call
   arizona_extcon_device_get_pdata.
 - Add some defines for the pdata values of micd-dbtime.
 - Factor out the initial gpio level for the micd-pol-gpio.
 - Don't check if null before calling gpiod_set_value_cansleep.
 - Added a comment to explain why we can't use devm for gpiod.
 - Added patch to make some small corrections to the jack
   detection into this series to keep them all together for
   easy of applying.

Changes since v3:
 - Simplify the symantics of the pdata for micd_dbtime

Changes since v4:
 - Remove the gpio initial state patch added in v2

Thanks,
Charles

Charles Keepax (7):
  extcon: arizona: Simplify pdata symantics for micd_dbtime
  extcon: arizona: Update to use the new device properties API
  extcon: arizona: Add basic microphone detection DT/ACPI bindings
  extcon: arizona: Convert to gpiod
  extcon: arizona: Ensure variables are set for headphone detection
  mfd: arizona: Update DT doc for new mic detection bindings
  mfd: arizona: Update several pdata members to unsigned

 Documentation/devicetree/bindings/mfd/arizona.txt |   16 ++++
 drivers/extcon/extcon-arizona.c                   |   95 +++++++++++++++++----
 include/linux/mfd/arizona/pdata.h                 |   15 ++--
 3 files changed, 102 insertions(+), 24 deletions(-)

-- 
1.7.2.5

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH v5 1/7] extcon: arizona: Simplify pdata symantics for micd_dbtime
  2015-06-19 16:23 ` Charles Keepax
@ 2015-06-19 16:23   ` Charles Keepax
  -1 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements,
or a greater than 16-bit value for 2 measurements. This patch simplifies
the symantics to 2 for 2 measurements, 4 for 4 measurements and any
other value for the default.

I am not super keen on changing the symantics of the pdata at this stage
in the drivers life, but acceptance of the DT binding for this field has
been made conditional on this happening.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c   |   14 +++++++++++---
 include/linux/mfd/arizona/pdata.h |    3 +++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 9262b45..1fbe3b4 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -1267,11 +1267,19 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 				   arizona->pdata.micd_rate
 				   << ARIZONA_MICD_RATE_SHIFT);
 
-	if (arizona->pdata.micd_dbtime)
+	switch (arizona->pdata.micd_dbtime) {
+	case ARIZONA_MICD_DBTIME_FOUR_READINGS:
 		regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
 				   ARIZONA_MICD_DBTIME_MASK,
-				   arizona->pdata.micd_dbtime
-				   << ARIZONA_MICD_DBTIME_SHIFT);
+				   ARIZONA_MICD_DBTIME);
+		break;
+	case ARIZONA_MICD_DBTIME_TWO_READINGS:
+		regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
+				   ARIZONA_MICD_DBTIME_MASK, 0);
+		break;
+	default:
+		break;
+	}
 
 	BUILD_BUG_ON(ARRAY_SIZE(arizona_micd_levels) != 0x40);
 
diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
index aa5c48b..bd68355 100644
--- a/include/linux/mfd/arizona/pdata.h
+++ b/include/linux/mfd/arizona/pdata.h
@@ -53,6 +53,9 @@
 
 #define ARIZONA_MAX_PDM_SPK 2
 
+#define ARIZONA_MICD_DBTIME_TWO_READINGS 2
+#define ARIZONA_MICD_DBTIME_FOUR_READINGS 4
+
 struct regulator_init_data;
 
 struct arizona_micbias {
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 1/7] extcon: arizona: Simplify pdata symantics for micd_dbtime
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements,
or a greater than 16-bit value for 2 measurements. This patch simplifies
the symantics to 2 for 2 measurements, 4 for 4 measurements and any
other value for the default.

I am not super keen on changing the symantics of the pdata at this stage
in the drivers life, but acceptance of the DT binding for this field has
been made conditional on this happening.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c   |   14 +++++++++++---
 include/linux/mfd/arizona/pdata.h |    3 +++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 9262b45..1fbe3b4 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -1267,11 +1267,19 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 				   arizona->pdata.micd_rate
 				   << ARIZONA_MICD_RATE_SHIFT);
 
-	if (arizona->pdata.micd_dbtime)
+	switch (arizona->pdata.micd_dbtime) {
+	case ARIZONA_MICD_DBTIME_FOUR_READINGS:
 		regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
 				   ARIZONA_MICD_DBTIME_MASK,
-				   arizona->pdata.micd_dbtime
-				   << ARIZONA_MICD_DBTIME_SHIFT);
+				   ARIZONA_MICD_DBTIME);
+		break;
+	case ARIZONA_MICD_DBTIME_TWO_READINGS:
+		regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
+				   ARIZONA_MICD_DBTIME_MASK, 0);
+		break;
+	default:
+		break;
+	}
 
 	BUILD_BUG_ON(ARRAY_SIZE(arizona_micd_levels) != 0x40);
 
diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
index aa5c48b..bd68355 100644
--- a/include/linux/mfd/arizona/pdata.h
+++ b/include/linux/mfd/arizona/pdata.h
@@ -53,6 +53,9 @@
 
 #define ARIZONA_MAX_PDM_SPK 2
 
+#define ARIZONA_MICD_DBTIME_TWO_READINGS 2
+#define ARIZONA_MICD_DBTIME_FOUR_READINGS 4
+
 struct regulator_init_data;
 
 struct arizona_micbias {
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 2/7] extcon: arizona: Update to use the new device properties API
  2015-06-19 16:23 ` Charles Keepax
@ 2015-06-19 16:23   ` Charles Keepax
  -1 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

The device properties API will load data from both device tree and ACPI,
update the binding to use this API instead of the OF API.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 1fbe3b4..57755e8 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -24,6 +24,7 @@
 #include <linux/input.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
+#include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/extcon.h>
 
@@ -1110,12 +1111,12 @@ static void arizona_micd_set_level(struct arizona *arizona, int index,
 	regmap_update_bits(arizona->regmap, reg, mask, level);
 }
 
-static int arizona_extcon_of_get_pdata(struct arizona *arizona)
+static int arizona_extcon_device_get_pdata(struct arizona *arizona)
 {
 	struct arizona_pdata *pdata = &arizona->pdata;
 	unsigned int val = ARIZONA_ACCDET_MODE_HPL;
 
-	of_property_read_u32(arizona->dev->of_node, "wlf,hpdet-channel", &val);
+	device_property_read_u32(arizona->dev, "wlf,hpdet-channel", &val);
 	switch (val) {
 	case ARIZONA_ACCDET_MODE_HPL:
 	case ARIZONA_ACCDET_MODE_HPR:
@@ -1147,10 +1148,8 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 	if (!info)
 		return -ENOMEM;
 
-	if (IS_ENABLED(CONFIG_OF)) {
-		if (!dev_get_platdata(arizona->dev))
-			arizona_extcon_of_get_pdata(arizona);
-	}
+	if (!dev_get_platdata(arizona->dev))
+		arizona_extcon_device_get_pdata(arizona);
 
 	info->micvdd = devm_regulator_get(&pdev->dev, "MICVDD");
 	if (IS_ERR(info->micvdd)) {
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 2/7] extcon: arizona: Update to use the new device properties API
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

The device properties API will load data from both device tree and ACPI,
update the binding to use this API instead of the OF API.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 1fbe3b4..57755e8 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -24,6 +24,7 @@
 #include <linux/input.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
+#include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/extcon.h>
 
@@ -1110,12 +1111,12 @@ static void arizona_micd_set_level(struct arizona *arizona, int index,
 	regmap_update_bits(arizona->regmap, reg, mask, level);
 }
 
-static int arizona_extcon_of_get_pdata(struct arizona *arizona)
+static int arizona_extcon_device_get_pdata(struct arizona *arizona)
 {
 	struct arizona_pdata *pdata = &arizona->pdata;
 	unsigned int val = ARIZONA_ACCDET_MODE_HPL;
 
-	of_property_read_u32(arizona->dev->of_node, "wlf,hpdet-channel", &val);
+	device_property_read_u32(arizona->dev, "wlf,hpdet-channel", &val);
 	switch (val) {
 	case ARIZONA_ACCDET_MODE_HPL:
 	case ARIZONA_ACCDET_MODE_HPR:
@@ -1147,10 +1148,8 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 	if (!info)
 		return -ENOMEM;
 
-	if (IS_ENABLED(CONFIG_OF)) {
-		if (!dev_get_platdata(arizona->dev))
-			arizona_extcon_of_get_pdata(arizona);
-	}
+	if (!dev_get_platdata(arizona->dev))
+		arizona_extcon_device_get_pdata(arizona);
 
 	info->micvdd = devm_regulator_get(&pdev->dev, "MICVDD");
 	if (IS_ERR(info->micvdd)) {
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 3/7] extcon: arizona: Add basic microphone detection DT/ACPI bindings
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

This patch adds bindings for the basic microphone detection platform
data.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 57755e8..b364b8b 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -1128,6 +1128,24 @@ static int arizona_extcon_device_get_pdata(struct arizona *arizona)
 		pdata->hpdet_channel = ARIZONA_ACCDET_MODE_HPL;
 	}
 
+	device_property_read_u32(arizona->dev, "wlf,micd-detect-debounce",
+				 &pdata->micd_detect_debounce);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-bias-start-time",
+				 &pdata->micd_bias_start_time);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-rate",
+				 &pdata->micd_rate);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-dbtime",
+				 &pdata->micd_dbtime);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-timeout",
+				 &pdata->micd_timeout);
+
+	pdata->micd_force_micbias = device_property_read_bool(arizona->dev,
+						"wlf,micd-force-micbias");
+
 	return 0;
 }
 
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 3/7] extcon: arizona: Add basic microphone detection DT/ACPI bindings
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones-QSEj5FYQhm4dnm+yROfE0A, cw00.choi-Sze3O3UU22JBDgjK7y7TUQ
  Cc: myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ,
	sameo-VuQAYsv1563Yd54FQh9/CA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

This patch adds bindings for the basic microphone detection platform
data.

Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
---
 drivers/extcon/extcon-arizona.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 57755e8..b364b8b 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -1128,6 +1128,24 @@ static int arizona_extcon_device_get_pdata(struct arizona *arizona)
 		pdata->hpdet_channel = ARIZONA_ACCDET_MODE_HPL;
 	}
 
+	device_property_read_u32(arizona->dev, "wlf,micd-detect-debounce",
+				 &pdata->micd_detect_debounce);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-bias-start-time",
+				 &pdata->micd_bias_start_time);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-rate",
+				 &pdata->micd_rate);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-dbtime",
+				 &pdata->micd_dbtime);
+
+	device_property_read_u32(arizona->dev, "wlf,micd-timeout",
+				 &pdata->micd_timeout);
+
+	pdata->micd_force_micbias = device_property_read_bool(arizona->dev,
+						"wlf,micd-force-micbias");
+
 	return 0;
 }
 
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 4/7] extcon: arizona: Convert to gpiod
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

Convert to using the newer gpiod interface for the micd_pol_gpio.
Although we still carry support for the old gpio interface from pdata.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c |   41 ++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index b364b8b..8f0ef72 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -20,6 +20,7 @@
 #include <linux/slab.h>
 #include <linux/interrupt.h>
 #include <linux/err.h>
+#include <linux/gpio/consumer.h>
 #include <linux/gpio.h>
 #include <linux/input.h>
 #include <linux/platform_device.h>
@@ -95,6 +96,8 @@ struct arizona_extcon_info {
 	int hpdet_ip_version;
 
 	struct extcon_dev *edev;
+
+	struct gpio_desc *micd_pol_gpio;
 };
 
 static const struct arizona_micd_config micd_default_modes[] = {
@@ -205,6 +208,10 @@ static void arizona_extcon_set_mode(struct arizona_extcon_info *info, int mode)
 	if (arizona->pdata.micd_pol_gpio > 0)
 		gpio_set_value_cansleep(arizona->pdata.micd_pol_gpio,
 					info->micd_modes[mode].gpio);
+	else
+		gpiod_set_value_cansleep(info->micd_pol_gpio,
+					 info->micd_modes[mode].gpio);
+
 	regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
 			   ARIZONA_MICD_BIAS_SRC_MASK,
 			   info->micd_modes[mode].bias <<
@@ -1258,6 +1265,27 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 				arizona->pdata.micd_pol_gpio, ret);
 			goto err_register;
 		}
+	} else {
+		if (info->micd_modes[0].gpio)
+			mode = GPIOD_OUT_HIGH;
+		else
+			mode = GPIOD_OUT_LOW;
+
+		/* We can't use devm here because we need to do the get
+		 * against the MFD device, as that is where the of_node
+		 * will reside, but if we devm against that the GPIO
+		 * will not be freed if the extcon driver is unloaded.
+		 */
+		info->micd_pol_gpio = gpiod_get_optional(arizona->dev,
+							 "wlf,micd-pol",
+							 GPIOD_OUT_LOW);
+		if (IS_ERR(info->micd_pol_gpio)) {
+			ret = PTR_ERR(info->micd_pol_gpio);
+			dev_err(arizona->dev,
+				"Failed to get microphone polarity GPIO: %d\n",
+				ret);
+			goto err_register;
+		}
 	}
 
 	if (arizona->pdata.hpdet_id_gpio > 0) {
@@ -1268,7 +1296,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 		if (ret != 0) {
 			dev_err(arizona->dev, "Failed to request GPIO%d: %d\n",
 				arizona->pdata.hpdet_id_gpio, ret);
-			goto err_register;
+			goto err_gpio;
 		}
 	}
 
@@ -1320,7 +1348,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 				dev_err(arizona->dev,
 					"MICD ranges must be sorted\n");
 				ret = -EINVAL;
-				goto err_input;
+				goto err_gpio;
 			}
 		}
 	}
@@ -1339,7 +1367,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 			dev_err(arizona->dev, "Unsupported MICD level %d\n",
 				info->micd_ranges[i].max);
 			ret = -EINVAL;
-			goto err_input;
+			goto err_gpio;
 		}
 
 		dev_dbg(arizona->dev, "%d ohms for MICD threshold %d\n",
@@ -1412,7 +1440,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 	if (ret != 0) {
 		dev_err(&pdev->dev, "Failed to get JACKDET rise IRQ: %d\n",
 			ret);
-		goto err_input;
+		goto err_gpio;
 	}
 
 	ret = arizona_set_irq_wake(arizona, jack_irq_rise, 1);
@@ -1483,7 +1511,8 @@ err_rise_wake:
 	arizona_set_irq_wake(arizona, jack_irq_rise, 0);
 err_rise:
 	arizona_free_irq(arizona, jack_irq_rise, info);
-err_input:
+err_gpio:
+	gpiod_put(info->micd_pol_gpio);
 err_register:
 	pm_runtime_disable(&pdev->dev);
 	return ret;
@@ -1495,6 +1524,8 @@ static int arizona_extcon_remove(struct platform_device *pdev)
 	struct arizona *arizona = info->arizona;
 	int jack_irq_rise, jack_irq_fall;
 
+	gpiod_put(info->micd_pol_gpio);
+
 	pm_runtime_disable(&pdev->dev);
 
 	regmap_update_bits(arizona->regmap,
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 4/7] extcon: arizona: Convert to gpiod
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones-QSEj5FYQhm4dnm+yROfE0A, cw00.choi-Sze3O3UU22JBDgjK7y7TUQ
  Cc: myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ,
	sameo-VuQAYsv1563Yd54FQh9/CA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

Convert to using the newer gpiod interface for the micd_pol_gpio.
Although we still carry support for the old gpio interface from pdata.

Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
---
 drivers/extcon/extcon-arizona.c |   41 ++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index b364b8b..8f0ef72 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -20,6 +20,7 @@
 #include <linux/slab.h>
 #include <linux/interrupt.h>
 #include <linux/err.h>
+#include <linux/gpio/consumer.h>
 #include <linux/gpio.h>
 #include <linux/input.h>
 #include <linux/platform_device.h>
@@ -95,6 +96,8 @@ struct arizona_extcon_info {
 	int hpdet_ip_version;
 
 	struct extcon_dev *edev;
+
+	struct gpio_desc *micd_pol_gpio;
 };
 
 static const struct arizona_micd_config micd_default_modes[] = {
@@ -205,6 +208,10 @@ static void arizona_extcon_set_mode(struct arizona_extcon_info *info, int mode)
 	if (arizona->pdata.micd_pol_gpio > 0)
 		gpio_set_value_cansleep(arizona->pdata.micd_pol_gpio,
 					info->micd_modes[mode].gpio);
+	else
+		gpiod_set_value_cansleep(info->micd_pol_gpio,
+					 info->micd_modes[mode].gpio);
+
 	regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
 			   ARIZONA_MICD_BIAS_SRC_MASK,
 			   info->micd_modes[mode].bias <<
@@ -1258,6 +1265,27 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 				arizona->pdata.micd_pol_gpio, ret);
 			goto err_register;
 		}
+	} else {
+		if (info->micd_modes[0].gpio)
+			mode = GPIOD_OUT_HIGH;
+		else
+			mode = GPIOD_OUT_LOW;
+
+		/* We can't use devm here because we need to do the get
+		 * against the MFD device, as that is where the of_node
+		 * will reside, but if we devm against that the GPIO
+		 * will not be freed if the extcon driver is unloaded.
+		 */
+		info->micd_pol_gpio = gpiod_get_optional(arizona->dev,
+							 "wlf,micd-pol",
+							 GPIOD_OUT_LOW);
+		if (IS_ERR(info->micd_pol_gpio)) {
+			ret = PTR_ERR(info->micd_pol_gpio);
+			dev_err(arizona->dev,
+				"Failed to get microphone polarity GPIO: %d\n",
+				ret);
+			goto err_register;
+		}
 	}
 
 	if (arizona->pdata.hpdet_id_gpio > 0) {
@@ -1268,7 +1296,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 		if (ret != 0) {
 			dev_err(arizona->dev, "Failed to request GPIO%d: %d\n",
 				arizona->pdata.hpdet_id_gpio, ret);
-			goto err_register;
+			goto err_gpio;
 		}
 	}
 
@@ -1320,7 +1348,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 				dev_err(arizona->dev,
 					"MICD ranges must be sorted\n");
 				ret = -EINVAL;
-				goto err_input;
+				goto err_gpio;
 			}
 		}
 	}
@@ -1339,7 +1367,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 			dev_err(arizona->dev, "Unsupported MICD level %d\n",
 				info->micd_ranges[i].max);
 			ret = -EINVAL;
-			goto err_input;
+			goto err_gpio;
 		}
 
 		dev_dbg(arizona->dev, "%d ohms for MICD threshold %d\n",
@@ -1412,7 +1440,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
 	if (ret != 0) {
 		dev_err(&pdev->dev, "Failed to get JACKDET rise IRQ: %d\n",
 			ret);
-		goto err_input;
+		goto err_gpio;
 	}
 
 	ret = arizona_set_irq_wake(arizona, jack_irq_rise, 1);
@@ -1483,7 +1511,8 @@ err_rise_wake:
 	arizona_set_irq_wake(arizona, jack_irq_rise, 0);
 err_rise:
 	arizona_free_irq(arizona, jack_irq_rise, info);
-err_input:
+err_gpio:
+	gpiod_put(info->micd_pol_gpio);
 err_register:
 	pm_runtime_disable(&pdev->dev);
 	return ret;
@@ -1495,6 +1524,8 @@ static int arizona_extcon_remove(struct platform_device *pdev)
 	struct arizona *arizona = info->arizona;
 	int jack_irq_rise, jack_irq_fall;
 
+	gpiod_put(info->micd_pol_gpio);
+
 	pm_runtime_disable(&pdev->dev);
 
 	regmap_update_bits(arizona->regmap,
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 5/7] extcon: arizona: Ensure variables are set for headphone detection
  2015-06-19 16:23 ` Charles Keepax
@ 2015-06-19 16:23   ` Charles Keepax
  -1 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

The detecting flag really refers to the microphone detection stage and
as such should be cleared before arizona_identify_headphones is called.
Also the mic flag should be set before identify headphones is called as
well.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 8f0ef72..4c47eb2 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -765,10 +765,11 @@ static void arizona_micd_timeout_work(struct work_struct *work)
 	mutex_lock(&info->lock);
 
 	dev_dbg(info->arizona->dev, "MICD timed out, reporting HP\n");
-	arizona_identify_headphone(info);
 
 	info->detecting = false;
 
+	arizona_identify_headphone(info);
+
 	arizona_stop_mic(info);
 
 	mutex_unlock(&info->lock);
@@ -834,6 +835,9 @@ static void arizona_micd_detect(struct work_struct *work)
 
 	/* If we got a high impedence we should have a headset, report it. */
 	if (info->detecting && (val & ARIZONA_MICD_LVL_8)) {
+		info->mic = true;
+		info->detecting = false;
+
 		arizona_identify_headphone(info);
 
 		ret = extcon_set_cable_state_(info->edev,
@@ -849,8 +853,6 @@ static void arizona_micd_detect(struct work_struct *work)
 				ret);
 		}
 
-		info->mic = true;
-		info->detecting = false;
 		goto handled;
 	}
 
@@ -863,10 +865,11 @@ static void arizona_micd_detect(struct work_struct *work)
 	if (info->detecting && (val & MICD_LVL_1_TO_7)) {
 		if (info->jack_flips >= info->micd_num_modes * 10) {
 			dev_dbg(arizona->dev, "Detected HP/line\n");
-			arizona_identify_headphone(info);
 
 			info->detecting = false;
 
+			arizona_identify_headphone(info);
+
 			arizona_stop_mic(info);
 		} else {
 			info->micd_mode++;
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 5/7] extcon: arizona: Ensure variables are set for headphone detection
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

The detecting flag really refers to the microphone detection stage and
as such should be cleared before arizona_identify_headphones is called.
Also the mic flag should be set before identify headphones is called as
well.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 8f0ef72..4c47eb2 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -765,10 +765,11 @@ static void arizona_micd_timeout_work(struct work_struct *work)
 	mutex_lock(&info->lock);
 
 	dev_dbg(info->arizona->dev, "MICD timed out, reporting HP\n");
-	arizona_identify_headphone(info);
 
 	info->detecting = false;
 
+	arizona_identify_headphone(info);
+
 	arizona_stop_mic(info);
 
 	mutex_unlock(&info->lock);
@@ -834,6 +835,9 @@ static void arizona_micd_detect(struct work_struct *work)
 
 	/* If we got a high impedence we should have a headset, report it. */
 	if (info->detecting && (val & ARIZONA_MICD_LVL_8)) {
+		info->mic = true;
+		info->detecting = false;
+
 		arizona_identify_headphone(info);
 
 		ret = extcon_set_cable_state_(info->edev,
@@ -849,8 +853,6 @@ static void arizona_micd_detect(struct work_struct *work)
 				ret);
 		}
 
-		info->mic = true;
-		info->detecting = false;
 		goto handled;
 	}
 
@@ -863,10 +865,11 @@ static void arizona_micd_detect(struct work_struct *work)
 	if (info->detecting && (val & MICD_LVL_1_TO_7)) {
 		if (info->jack_flips >= info->micd_num_modes * 10) {
 			dev_dbg(arizona->dev, "Detected HP/line\n");
-			arizona_identify_headphone(info);
 
 			info->detecting = false;
 
+			arizona_identify_headphone(info);
+
 			arizona_stop_mic(info);
 		} else {
 			info->micd_mode++;
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 6/7] mfd: arizona: Update DT doc for new mic detection bindings
  2015-06-19 16:23 ` Charles Keepax
@ 2015-06-19 16:23   ` Charles Keepax
  -1 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 Documentation/devicetree/bindings/mfd/arizona.txt |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt
index 32a71b7..8d92c92 100644
--- a/Documentation/devicetree/bindings/mfd/arizona.txt
+++ b/Documentation/devicetree/bindings/mfd/arizona.txt
@@ -68,6 +68,22 @@ Optional properties:
     If this node is not mentioned or if the value is unknown, then
     headphone detection mode is set to HPDETL.
 
+  - wlf,micd-detect-debounce : Additional software microphone detection
+    debounce specified in milliseconds.
+  - wlf,micd-pol-gpio : GPIO specifier for the GPIO controlling the headset
+    polarity if one exists.
+  - wlf,micd-bias-start-time : Time allowed for MICBIAS to startup prior to
+    performing microphone detection, specified as per the ARIZONA_MICD_TIME_XXX
+    defines.
+  - wlf,micd-rate : Delay between successive microphone detection measurements,
+    specified as per the ARIZONA_MICD_TIME_XXX defines.
+  - wlf,micd-dbtime : Microphone detection hardware debounces specified as the
+    number of measurements to take, valid values being 2 and 4.
+  - wlf,micd-timeout : Timeout for microphone detection, specified in
+    milliseconds.
+  - wlf,micd-force-micbias : Force MICBIAS continuously on during microphone
+    detection.
+
   - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
     they are being externally supplied. As covered in
     Documentation/devicetree/bindings/regulator/regulator.txt
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 6/7] mfd: arizona: Update DT doc for new mic detection bindings
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 Documentation/devicetree/bindings/mfd/arizona.txt |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt
index 32a71b7..8d92c92 100644
--- a/Documentation/devicetree/bindings/mfd/arizona.txt
+++ b/Documentation/devicetree/bindings/mfd/arizona.txt
@@ -68,6 +68,22 @@ Optional properties:
     If this node is not mentioned or if the value is unknown, then
     headphone detection mode is set to HPDETL.
 
+  - wlf,micd-detect-debounce : Additional software microphone detection
+    debounce specified in milliseconds.
+  - wlf,micd-pol-gpio : GPIO specifier for the GPIO controlling the headset
+    polarity if one exists.
+  - wlf,micd-bias-start-time : Time allowed for MICBIAS to startup prior to
+    performing microphone detection, specified as per the ARIZONA_MICD_TIME_XXX
+    defines.
+  - wlf,micd-rate : Delay between successive microphone detection measurements,
+    specified as per the ARIZONA_MICD_TIME_XXX defines.
+  - wlf,micd-dbtime : Microphone detection hardware debounces specified as the
+    number of measurements to take, valid values being 2 and 4.
+  - wlf,micd-timeout : Timeout for microphone detection, specified in
+    milliseconds.
+  - wlf,micd-force-micbias : Force MICBIAS continuously on during microphone
+    detection.
+
   - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
     they are being externally supplied. As covered in
     Documentation/devicetree/bindings/regulator/regulator.txt
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 7/7] mfd: arizona: Update several pdata members to unsigned
  2015-06-19 16:23 ` Charles Keepax
@ 2015-06-19 16:23   ` Charles Keepax
  -1 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

Device tree and ACPI primarily deal with unsigned ints, many of the
pdata members in the Arizona driver are signed ints but are only ever
assigned positive values. Changing these pdata fields to unsigned ints
avoids us having to choose between overly verbose code and Sparse
warnings.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 include/linux/mfd/arizona/pdata.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
index bd68355..85b132c 100644
--- a/include/linux/mfd/arizona/pdata.h
+++ b/include/linux/mfd/arizona/pdata.h
@@ -104,7 +104,7 @@ struct arizona_pdata {
 	 * useful for systems where and I2S bus with multiple data
 	 * lines is mastered.
 	 */
-	int max_channels_clocked[ARIZONA_MAX_AIF];
+	unsigned int max_channels_clocked[ARIZONA_MAX_AIF];
 
 	/** GPIO5 is used for jack detection */
 	bool jd_gpio5;
@@ -128,22 +128,22 @@ struct arizona_pdata {
 	unsigned int hpdet_channel;
 
 	/** Extra debounce timeout used during initial mic detection (ms) */
-	int micd_detect_debounce;
+	unsigned int micd_detect_debounce;
 
 	/** GPIO for mic detection polarity */
 	int micd_pol_gpio;
 
 	/** Mic detect ramp rate */
-	int micd_bias_start_time;
+	unsigned int micd_bias_start_time;
 
 	/** Mic detect sample rate */
-	int micd_rate;
+	unsigned int micd_rate;
 
 	/** Mic detect debounce level */
-	int micd_dbtime;
+	unsigned int micd_dbtime;
 
 	/** Mic detect timeout (ms) */
-	int micd_timeout;
+	unsigned int micd_timeout;
 
 	/** Force MICBIAS on for mic detect */
 	bool micd_force_micbias;
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v5 7/7] mfd: arizona: Update several pdata members to unsigned
@ 2015-06-19 16:23   ` Charles Keepax
  0 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-19 16:23 UTC (permalink / raw)
  To: lee.jones, cw00.choi
  Cc: myungjoo.ham, sameo, devicetree, linux-kernel, patches

Device tree and ACPI primarily deal with unsigned ints, many of the
pdata members in the Arizona driver are signed ints but are only ever
assigned positive values. Changing these pdata fields to unsigned ints
avoids us having to choose between overly verbose code and Sparse
warnings.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 include/linux/mfd/arizona/pdata.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
index bd68355..85b132c 100644
--- a/include/linux/mfd/arizona/pdata.h
+++ b/include/linux/mfd/arizona/pdata.h
@@ -104,7 +104,7 @@ struct arizona_pdata {
 	 * useful for systems where and I2S bus with multiple data
 	 * lines is mastered.
 	 */
-	int max_channels_clocked[ARIZONA_MAX_AIF];
+	unsigned int max_channels_clocked[ARIZONA_MAX_AIF];
 
 	/** GPIO5 is used for jack detection */
 	bool jd_gpio5;
@@ -128,22 +128,22 @@ struct arizona_pdata {
 	unsigned int hpdet_channel;
 
 	/** Extra debounce timeout used during initial mic detection (ms) */
-	int micd_detect_debounce;
+	unsigned int micd_detect_debounce;
 
 	/** GPIO for mic detection polarity */
 	int micd_pol_gpio;
 
 	/** Mic detect ramp rate */
-	int micd_bias_start_time;
+	unsigned int micd_bias_start_time;
 
 	/** Mic detect sample rate */
-	int micd_rate;
+	unsigned int micd_rate;
 
 	/** Mic detect debounce level */
-	int micd_dbtime;
+	unsigned int micd_dbtime;
 
 	/** Mic detect timeout (ms) */
-	int micd_timeout;
+	unsigned int micd_timeout;
 
 	/** Force MICBIAS on for mic detect */
 	bool micd_force_micbias;
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 1/7] extcon: arizona: Simplify pdata symantics for micd_dbtime
@ 2015-06-21 14:17     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:17 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham, Samuel Ortiz, devicetree, linux-kernel, patches

Hi Charles,

Looks good go me. But you need the review from MFD maintainer
before appling it.

Thanks,
Chanwoo Choi

On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax@opensource.wolfsonmicro.com> wrote:
> Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements,
> or a greater than 16-bit value for 2 measurements. This patch simplifies
> the symantics to 2 for 2 measurements, 4 for 4 measurements and any
> other value for the default.
>
> I am not super keen on changing the symantics of the pdata at this stage
> in the drivers life, but acceptance of the DT binding for this field has
> been made conditional on this happening.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
>  drivers/extcon/extcon-arizona.c   |   14 +++++++++++---
>  include/linux/mfd/arizona/pdata.h |    3 +++
>  2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 9262b45..1fbe3b4 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -1267,11 +1267,19 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>                                    arizona->pdata.micd_rate
>                                    << ARIZONA_MICD_RATE_SHIFT);
>
> -       if (arizona->pdata.micd_dbtime)
> +       switch (arizona->pdata.micd_dbtime) {
> +       case ARIZONA_MICD_DBTIME_FOUR_READINGS:
>                 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
>                                    ARIZONA_MICD_DBTIME_MASK,
> -                                  arizona->pdata.micd_dbtime
> -                                  << ARIZONA_MICD_DBTIME_SHIFT);
> +                                  ARIZONA_MICD_DBTIME);
> +               break;
> +       case ARIZONA_MICD_DBTIME_TWO_READINGS:
> +               regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
> +                                  ARIZONA_MICD_DBTIME_MASK, 0);
> +               break;
> +       default:
> +               break;
> +       }
>
>         BUILD_BUG_ON(ARRAY_SIZE(arizona_micd_levels) != 0x40);
>
> diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
> index aa5c48b..bd68355 100644
> --- a/include/linux/mfd/arizona/pdata.h
> +++ b/include/linux/mfd/arizona/pdata.h
> @@ -53,6 +53,9 @@
>
>  #define ARIZONA_MAX_PDM_SPK 2
>
> +#define ARIZONA_MICD_DBTIME_TWO_READINGS 2
> +#define ARIZONA_MICD_DBTIME_FOUR_READINGS 4
> +
>  struct regulator_init_data;
>
>  struct arizona_micbias {
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 1/7] extcon: arizona: Simplify pdata symantics for micd_dbtime
@ 2015-06-21 14:17     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:17 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ, Samuel Ortiz,
	devicetree, linux-kernel,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

Hi Charles,

Looks good go me. But you need the review from MFD maintainer
before appling it.

Thanks,
Chanwoo Choi

On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> wrote:
> Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements,
> or a greater than 16-bit value for 2 measurements. This patch simplifies
> the symantics to 2 for 2 measurements, 4 for 4 measurements and any
> other value for the default.
>
> I am not super keen on changing the symantics of the pdata at this stage
> in the drivers life, but acceptance of the DT binding for this field has
> been made conditional on this happening.
>
> Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> ---
>  drivers/extcon/extcon-arizona.c   |   14 +++++++++++---
>  include/linux/mfd/arizona/pdata.h |    3 +++
>  2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 9262b45..1fbe3b4 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -1267,11 +1267,19 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>                                    arizona->pdata.micd_rate
>                                    << ARIZONA_MICD_RATE_SHIFT);
>
> -       if (arizona->pdata.micd_dbtime)
> +       switch (arizona->pdata.micd_dbtime) {
> +       case ARIZONA_MICD_DBTIME_FOUR_READINGS:
>                 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
>                                    ARIZONA_MICD_DBTIME_MASK,
> -                                  arizona->pdata.micd_dbtime
> -                                  << ARIZONA_MICD_DBTIME_SHIFT);
> +                                  ARIZONA_MICD_DBTIME);
> +               break;
> +       case ARIZONA_MICD_DBTIME_TWO_READINGS:
> +               regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
> +                                  ARIZONA_MICD_DBTIME_MASK, 0);
> +               break;
> +       default:
> +               break;
> +       }
>
>         BUILD_BUG_ON(ARRAY_SIZE(arizona_micd_levels) != 0x40);
>
> diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
> index aa5c48b..bd68355 100644
> --- a/include/linux/mfd/arizona/pdata.h
> +++ b/include/linux/mfd/arizona/pdata.h
> @@ -53,6 +53,9 @@
>
>  #define ARIZONA_MAX_PDM_SPK 2
>
> +#define ARIZONA_MICD_DBTIME_TWO_READINGS 2
> +#define ARIZONA_MICD_DBTIME_FOUR_READINGS 4
> +
>  struct regulator_init_data;
>
>  struct arizona_micbias {
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 3/7] extcon: arizona: Add basic microphone detection DT/ACPI bindings
@ 2015-06-21 14:18     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:18 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham, Samuel Ortiz, devicetree, linux-kernel, patches

Hi Charles,

Applied it.

Thanks,
Chanwoo Choi


On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax@opensource.wolfsonmicro.com> wrote:
> This patch adds bindings for the basic microphone detection platform
> data.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
>  drivers/extcon/extcon-arizona.c |   18 ++++++++++++++++++
>  1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 57755e8..b364b8b 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -1128,6 +1128,24 @@ static int arizona_extcon_device_get_pdata(struct arizona *arizona)
>                 pdata->hpdet_channel = ARIZONA_ACCDET_MODE_HPL;
>         }
>
> +       device_property_read_u32(arizona->dev, "wlf,micd-detect-debounce",
> +                                &pdata->micd_detect_debounce);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-bias-start-time",
> +                                &pdata->micd_bias_start_time);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-rate",
> +                                &pdata->micd_rate);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-dbtime",
> +                                &pdata->micd_dbtime);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-timeout",
> +                                &pdata->micd_timeout);
> +
> +       pdata->micd_force_micbias = device_property_read_bool(arizona->dev,
> +                                               "wlf,micd-force-micbias");
> +
>         return 0;
>  }
>
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 3/7] extcon: arizona: Add basic microphone detection DT/ACPI bindings
@ 2015-06-21 14:18     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:18 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ, Samuel Ortiz,
	devicetree, linux-kernel,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

Hi Charles,

Applied it.

Thanks,
Chanwoo Choi


On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> wrote:
> This patch adds bindings for the basic microphone detection platform
> data.
>
> Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> ---
>  drivers/extcon/extcon-arizona.c |   18 ++++++++++++++++++
>  1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 57755e8..b364b8b 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -1128,6 +1128,24 @@ static int arizona_extcon_device_get_pdata(struct arizona *arizona)
>                 pdata->hpdet_channel = ARIZONA_ACCDET_MODE_HPL;
>         }
>
> +       device_property_read_u32(arizona->dev, "wlf,micd-detect-debounce",
> +                                &pdata->micd_detect_debounce);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-bias-start-time",
> +                                &pdata->micd_bias_start_time);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-rate",
> +                                &pdata->micd_rate);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-dbtime",
> +                                &pdata->micd_dbtime);
> +
> +       device_property_read_u32(arizona->dev, "wlf,micd-timeout",
> +                                &pdata->micd_timeout);
> +
> +       pdata->micd_force_micbias = device_property_read_bool(arizona->dev,
> +                                               "wlf,micd-force-micbias");
> +
>         return 0;
>  }
>
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 2/7] extcon: arizona: Update to use the new device properties API
@ 2015-06-21 14:18     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:18 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham, Samuel Ortiz, devicetree, linux-kernel, patches

Hi Charles,

Applied it.

Thanks,
Chanwoo Choi


On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax@opensource.wolfsonmicro.com> wrote:
> The device properties API will load data from both device tree and ACPI,
> update the binding to use this API instead of the OF API.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
>  drivers/extcon/extcon-arizona.c |   11 +++++------
>  1 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 1fbe3b4..57755e8 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -24,6 +24,7 @@
>  #include <linux/input.h>
>  #include <linux/platform_device.h>
>  #include <linux/pm_runtime.h>
> +#include <linux/property.h>
>  #include <linux/regulator/consumer.h>
>  #include <linux/extcon.h>
>
> @@ -1110,12 +1111,12 @@ static void arizona_micd_set_level(struct arizona *arizona, int index,
>         regmap_update_bits(arizona->regmap, reg, mask, level);
>  }
>
> -static int arizona_extcon_of_get_pdata(struct arizona *arizona)
> +static int arizona_extcon_device_get_pdata(struct arizona *arizona)
>  {
>         struct arizona_pdata *pdata = &arizona->pdata;
>         unsigned int val = ARIZONA_ACCDET_MODE_HPL;
>
> -       of_property_read_u32(arizona->dev->of_node, "wlf,hpdet-channel", &val);
> +       device_property_read_u32(arizona->dev, "wlf,hpdet-channel", &val);
>         switch (val) {
>         case ARIZONA_ACCDET_MODE_HPL:
>         case ARIZONA_ACCDET_MODE_HPR:
> @@ -1147,10 +1148,8 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>         if (!info)
>                 return -ENOMEM;
>
> -       if (IS_ENABLED(CONFIG_OF)) {
> -               if (!dev_get_platdata(arizona->dev))
> -                       arizona_extcon_of_get_pdata(arizona);
> -       }
> +       if (!dev_get_platdata(arizona->dev))
> +               arizona_extcon_device_get_pdata(arizona);
>
>         info->micvdd = devm_regulator_get(&pdev->dev, "MICVDD");
>         if (IS_ERR(info->micvdd)) {
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 2/7] extcon: arizona: Update to use the new device properties API
@ 2015-06-21 14:18     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:18 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ, Samuel Ortiz,
	devicetree, linux-kernel,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

Hi Charles,

Applied it.

Thanks,
Chanwoo Choi


On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> wrote:
> The device properties API will load data from both device tree and ACPI,
> update the binding to use this API instead of the OF API.
>
> Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> ---
>  drivers/extcon/extcon-arizona.c |   11 +++++------
>  1 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 1fbe3b4..57755e8 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -24,6 +24,7 @@
>  #include <linux/input.h>
>  #include <linux/platform_device.h>
>  #include <linux/pm_runtime.h>
> +#include <linux/property.h>
>  #include <linux/regulator/consumer.h>
>  #include <linux/extcon.h>
>
> @@ -1110,12 +1111,12 @@ static void arizona_micd_set_level(struct arizona *arizona, int index,
>         regmap_update_bits(arizona->regmap, reg, mask, level);
>  }
>
> -static int arizona_extcon_of_get_pdata(struct arizona *arizona)
> +static int arizona_extcon_device_get_pdata(struct arizona *arizona)
>  {
>         struct arizona_pdata *pdata = &arizona->pdata;
>         unsigned int val = ARIZONA_ACCDET_MODE_HPL;
>
> -       of_property_read_u32(arizona->dev->of_node, "wlf,hpdet-channel", &val);
> +       device_property_read_u32(arizona->dev, "wlf,hpdet-channel", &val);
>         switch (val) {
>         case ARIZONA_ACCDET_MODE_HPL:
>         case ARIZONA_ACCDET_MODE_HPR:
> @@ -1147,10 +1148,8 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>         if (!info)
>                 return -ENOMEM;
>
> -       if (IS_ENABLED(CONFIG_OF)) {
> -               if (!dev_get_platdata(arizona->dev))
> -                       arizona_extcon_of_get_pdata(arizona);
> -       }
> +       if (!dev_get_platdata(arizona->dev))
> +               arizona_extcon_device_get_pdata(arizona);
>
>         info->micvdd = devm_regulator_get(&pdev->dev, "MICVDD");
>         if (IS_ERR(info->micvdd)) {
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 5/7] extcon: arizona: Ensure variables are set for headphone detection
@ 2015-06-21 14:19     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:19 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham, Samuel Ortiz, devicetree, linux-kernel, patches

Hi Charles,

Applied it.

Thanks,
Chanwoo Choi


On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax@opensource.wolfsonmicro.com> wrote:
> The detecting flag really refers to the microphone detection stage and
> as such should be cleared before arizona_identify_headphones is called.
> Also the mic flag should be set before identify headphones is called as
> well.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
>  drivers/extcon/extcon-arizona.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 8f0ef72..4c47eb2 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -765,10 +765,11 @@ static void arizona_micd_timeout_work(struct work_struct *work)
>         mutex_lock(&info->lock);
>
>         dev_dbg(info->arizona->dev, "MICD timed out, reporting HP\n");
> -       arizona_identify_headphone(info);
>
>         info->detecting = false;
>
> +       arizona_identify_headphone(info);
> +
>         arizona_stop_mic(info);
>
>         mutex_unlock(&info->lock);
> @@ -834,6 +835,9 @@ static void arizona_micd_detect(struct work_struct *work)
>
>         /* If we got a high impedence we should have a headset, report it. */
>         if (info->detecting && (val & ARIZONA_MICD_LVL_8)) {
> +               info->mic = true;
> +               info->detecting = false;
> +
>                 arizona_identify_headphone(info);
>
>                 ret = extcon_set_cable_state_(info->edev,
> @@ -849,8 +853,6 @@ static void arizona_micd_detect(struct work_struct *work)
>                                 ret);
>                 }
>
> -               info->mic = true;
> -               info->detecting = false;
>                 goto handled;
>         }
>
> @@ -863,10 +865,11 @@ static void arizona_micd_detect(struct work_struct *work)
>         if (info->detecting && (val & MICD_LVL_1_TO_7)) {
>                 if (info->jack_flips >= info->micd_num_modes * 10) {
>                         dev_dbg(arizona->dev, "Detected HP/line\n");
> -                       arizona_identify_headphone(info);
>
>                         info->detecting = false;
>
> +                       arizona_identify_headphone(info);
> +
>                         arizona_stop_mic(info);
>                 } else {
>                         info->micd_mode++;
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 5/7] extcon: arizona: Ensure variables are set for headphone detection
@ 2015-06-21 14:19     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-21 14:19 UTC (permalink / raw)
  To: Charles Keepax
  Cc: Lee Jones, myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ, Samuel Ortiz,
	devicetree, linux-kernel,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

Hi Charles,

Applied it.

Thanks,
Chanwoo Choi


On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
<ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> wrote:
> The detecting flag really refers to the microphone detection stage and
> as such should be cleared before arizona_identify_headphones is called.
> Also the mic flag should be set before identify headphones is called as
> well.
>
> Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> ---
>  drivers/extcon/extcon-arizona.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 8f0ef72..4c47eb2 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -765,10 +765,11 @@ static void arizona_micd_timeout_work(struct work_struct *work)
>         mutex_lock(&info->lock);
>
>         dev_dbg(info->arizona->dev, "MICD timed out, reporting HP\n");
> -       arizona_identify_headphone(info);
>
>         info->detecting = false;
>
> +       arizona_identify_headphone(info);
> +
>         arizona_stop_mic(info);
>
>         mutex_unlock(&info->lock);
> @@ -834,6 +835,9 @@ static void arizona_micd_detect(struct work_struct *work)
>
>         /* If we got a high impedence we should have a headset, report it. */
>         if (info->detecting && (val & ARIZONA_MICD_LVL_8)) {
> +               info->mic = true;
> +               info->detecting = false;
> +
>                 arizona_identify_headphone(info);
>
>                 ret = extcon_set_cable_state_(info->edev,
> @@ -849,8 +853,6 @@ static void arizona_micd_detect(struct work_struct *work)
>                                 ret);
>                 }
>
> -               info->mic = true;
> -               info->detecting = false;
>                 goto handled;
>         }
>
> @@ -863,10 +865,11 @@ static void arizona_micd_detect(struct work_struct *work)
>         if (info->detecting && (val & MICD_LVL_1_TO_7)) {
>                 if (info->jack_flips >= info->micd_num_modes * 10) {
>                         dev_dbg(arizona->dev, "Detected HP/line\n");
> -                       arizona_identify_headphone(info);
>
>                         info->detecting = false;
>
> +                       arizona_identify_headphone(info);
> +
>                         arizona_stop_mic(info);
>                 } else {
>                         info->micd_mode++;
> --
> 1.7.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 6/7] mfd: arizona: Update DT doc for new mic detection bindings
@ 2015-06-24 14:19     ` Lee Jones
  0 siblings, 0 replies; 29+ messages in thread
From: Lee Jones @ 2015-06-24 14:19 UTC (permalink / raw)
  To: Charles Keepax
  Cc: cw00.choi, myungjoo.ham, sameo, devicetree, linux-kernel, patches

Ah, you did Cc the DT guys on this version.

DT Ack please.

> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
>  Documentation/devicetree/bindings/mfd/arizona.txt |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt
> index 32a71b7..8d92c92 100644
> --- a/Documentation/devicetree/bindings/mfd/arizona.txt
> +++ b/Documentation/devicetree/bindings/mfd/arizona.txt
> @@ -68,6 +68,22 @@ Optional properties:
>      If this node is not mentioned or if the value is unknown, then
>      headphone detection mode is set to HPDETL.
>  
> +  - wlf,micd-detect-debounce : Additional software microphone detection
> +    debounce specified in milliseconds.
> +  - wlf,micd-pol-gpio : GPIO specifier for the GPIO controlling the headset
> +    polarity if one exists.
> +  - wlf,micd-bias-start-time : Time allowed for MICBIAS to startup prior to
> +    performing microphone detection, specified as per the ARIZONA_MICD_TIME_XXX
> +    defines.
> +  - wlf,micd-rate : Delay between successive microphone detection measurements,
> +    specified as per the ARIZONA_MICD_TIME_XXX defines.
> +  - wlf,micd-dbtime : Microphone detection hardware debounces specified as the
> +    number of measurements to take, valid values being 2 and 4.
> +  - wlf,micd-timeout : Timeout for microphone detection, specified in
> +    milliseconds.
> +  - wlf,micd-force-micbias : Force MICBIAS continuously on during microphone
> +    detection.
> +
>    - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
>      they are being externally supplied. As covered in
>      Documentation/devicetree/bindings/regulator/regulator.txt

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 6/7] mfd: arizona: Update DT doc for new mic detection bindings
@ 2015-06-24 14:19     ` Lee Jones
  0 siblings, 0 replies; 29+ messages in thread
From: Lee Jones @ 2015-06-24 14:19 UTC (permalink / raw)
  To: Charles Keepax
  Cc: cw00.choi-Sze3O3UU22JBDgjK7y7TUQ,
	myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ,
	sameo-VuQAYsv1563Yd54FQh9/CA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

Ah, you did Cc the DT guys on this version.

DT Ack please.

> Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> ---
>  Documentation/devicetree/bindings/mfd/arizona.txt |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt
> index 32a71b7..8d92c92 100644
> --- a/Documentation/devicetree/bindings/mfd/arizona.txt
> +++ b/Documentation/devicetree/bindings/mfd/arizona.txt
> @@ -68,6 +68,22 @@ Optional properties:
>      If this node is not mentioned or if the value is unknown, then
>      headphone detection mode is set to HPDETL.
>  
> +  - wlf,micd-detect-debounce : Additional software microphone detection
> +    debounce specified in milliseconds.
> +  - wlf,micd-pol-gpio : GPIO specifier for the GPIO controlling the headset
> +    polarity if one exists.
> +  - wlf,micd-bias-start-time : Time allowed for MICBIAS to startup prior to
> +    performing microphone detection, specified as per the ARIZONA_MICD_TIME_XXX
> +    defines.
> +  - wlf,micd-rate : Delay between successive microphone detection measurements,
> +    specified as per the ARIZONA_MICD_TIME_XXX defines.
> +  - wlf,micd-dbtime : Microphone detection hardware debounces specified as the
> +    number of measurements to take, valid values being 2 and 4.
> +  - wlf,micd-timeout : Timeout for microphone detection, specified in
> +    milliseconds.
> +  - wlf,micd-force-micbias : Force MICBIAS continuously on during microphone
> +    detection.
> +
>    - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
>      they are being externally supplied. As covered in
>      Documentation/devicetree/bindings/regulator/regulator.txt

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 4/7] extcon: arizona: Convert to gpiod
@ 2015-06-25  0:13     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-25  0:13 UTC (permalink / raw)
  To: Charles Keepax
  Cc: lee.jones, myungjoo.ham, sameo, devicetree, linux-kernel, patches

Hi,

Applied it.

Thanks,
Chanwoo Choi

On 06/20/2015 01:23 AM, Charles Keepax wrote:
> Convert to using the newer gpiod interface for the micd_pol_gpio.
> Although we still carry support for the old gpio interface from pdata.
> 
> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
>  drivers/extcon/extcon-arizona.c |   41 ++++++++++++++++++++++++++++++++++----
>  1 files changed, 36 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index b364b8b..8f0ef72 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -20,6 +20,7 @@
>  #include <linux/slab.h>
>  #include <linux/interrupt.h>
>  #include <linux/err.h>
> +#include <linux/gpio/consumer.h>
>  #include <linux/gpio.h>
>  #include <linux/input.h>
>  #include <linux/platform_device.h>
> @@ -95,6 +96,8 @@ struct arizona_extcon_info {
>  	int hpdet_ip_version;
>  
>  	struct extcon_dev *edev;
> +
> +	struct gpio_desc *micd_pol_gpio;
>  };
>  
>  static const struct arizona_micd_config micd_default_modes[] = {
> @@ -205,6 +208,10 @@ static void arizona_extcon_set_mode(struct arizona_extcon_info *info, int mode)
>  	if (arizona->pdata.micd_pol_gpio > 0)
>  		gpio_set_value_cansleep(arizona->pdata.micd_pol_gpio,
>  					info->micd_modes[mode].gpio);
> +	else
> +		gpiod_set_value_cansleep(info->micd_pol_gpio,
> +					 info->micd_modes[mode].gpio);
> +
>  	regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
>  			   ARIZONA_MICD_BIAS_SRC_MASK,
>  			   info->micd_modes[mode].bias <<
> @@ -1258,6 +1265,27 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  				arizona->pdata.micd_pol_gpio, ret);
>  			goto err_register;
>  		}
> +	} else {
> +		if (info->micd_modes[0].gpio)
> +			mode = GPIOD_OUT_HIGH;
> +		else
> +			mode = GPIOD_OUT_LOW;
> +
> +		/* We can't use devm here because we need to do the get
> +		 * against the MFD device, as that is where the of_node
> +		 * will reside, but if we devm against that the GPIO
> +		 * will not be freed if the extcon driver is unloaded.
> +		 */
> +		info->micd_pol_gpio = gpiod_get_optional(arizona->dev,
> +							 "wlf,micd-pol",
> +							 GPIOD_OUT_LOW);
> +		if (IS_ERR(info->micd_pol_gpio)) {
> +			ret = PTR_ERR(info->micd_pol_gpio);
> +			dev_err(arizona->dev,
> +				"Failed to get microphone polarity GPIO: %d\n",
> +				ret);
> +			goto err_register;
> +		}
>  	}
>  
>  	if (arizona->pdata.hpdet_id_gpio > 0) {
> @@ -1268,7 +1296,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  		if (ret != 0) {
>  			dev_err(arizona->dev, "Failed to request GPIO%d: %d\n",
>  				arizona->pdata.hpdet_id_gpio, ret);
> -			goto err_register;
> +			goto err_gpio;
>  		}
>  	}
>  
> @@ -1320,7 +1348,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  				dev_err(arizona->dev,
>  					"MICD ranges must be sorted\n");
>  				ret = -EINVAL;
> -				goto err_input;
> +				goto err_gpio;
>  			}
>  		}
>  	}
> @@ -1339,7 +1367,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  			dev_err(arizona->dev, "Unsupported MICD level %d\n",
>  				info->micd_ranges[i].max);
>  			ret = -EINVAL;
> -			goto err_input;
> +			goto err_gpio;
>  		}
>  
>  		dev_dbg(arizona->dev, "%d ohms for MICD threshold %d\n",
> @@ -1412,7 +1440,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  	if (ret != 0) {
>  		dev_err(&pdev->dev, "Failed to get JACKDET rise IRQ: %d\n",
>  			ret);
> -		goto err_input;
> +		goto err_gpio;
>  	}
>  
>  	ret = arizona_set_irq_wake(arizona, jack_irq_rise, 1);
> @@ -1483,7 +1511,8 @@ err_rise_wake:
>  	arizona_set_irq_wake(arizona, jack_irq_rise, 0);
>  err_rise:
>  	arizona_free_irq(arizona, jack_irq_rise, info);
> -err_input:
> +err_gpio:
> +	gpiod_put(info->micd_pol_gpio);
>  err_register:
>  	pm_runtime_disable(&pdev->dev);
>  	return ret;
> @@ -1495,6 +1524,8 @@ static int arizona_extcon_remove(struct platform_device *pdev)
>  	struct arizona *arizona = info->arizona;
>  	int jack_irq_rise, jack_irq_fall;
>  
> +	gpiod_put(info->micd_pol_gpio);
> +
>  	pm_runtime_disable(&pdev->dev);
>  
>  	regmap_update_bits(arizona->regmap,
> 


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 4/7] extcon: arizona: Convert to gpiod
@ 2015-06-25  0:13     ` Chanwoo Choi
  0 siblings, 0 replies; 29+ messages in thread
From: Chanwoo Choi @ 2015-06-25  0:13 UTC (permalink / raw)
  To: Charles Keepax
  Cc: lee.jones-QSEj5FYQhm4dnm+yROfE0A,
	myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ,
	sameo-VuQAYsv1563Yd54FQh9/CA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E

Hi,

Applied it.

Thanks,
Chanwoo Choi

On 06/20/2015 01:23 AM, Charles Keepax wrote:
> Convert to using the newer gpiod interface for the micd_pol_gpio.
> Although we still carry support for the old gpio interface from pdata.
> 
> Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> ---
>  drivers/extcon/extcon-arizona.c |   41 ++++++++++++++++++++++++++++++++++----
>  1 files changed, 36 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index b364b8b..8f0ef72 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -20,6 +20,7 @@
>  #include <linux/slab.h>
>  #include <linux/interrupt.h>
>  #include <linux/err.h>
> +#include <linux/gpio/consumer.h>
>  #include <linux/gpio.h>
>  #include <linux/input.h>
>  #include <linux/platform_device.h>
> @@ -95,6 +96,8 @@ struct arizona_extcon_info {
>  	int hpdet_ip_version;
>  
>  	struct extcon_dev *edev;
> +
> +	struct gpio_desc *micd_pol_gpio;
>  };
>  
>  static const struct arizona_micd_config micd_default_modes[] = {
> @@ -205,6 +208,10 @@ static void arizona_extcon_set_mode(struct arizona_extcon_info *info, int mode)
>  	if (arizona->pdata.micd_pol_gpio > 0)
>  		gpio_set_value_cansleep(arizona->pdata.micd_pol_gpio,
>  					info->micd_modes[mode].gpio);
> +	else
> +		gpiod_set_value_cansleep(info->micd_pol_gpio,
> +					 info->micd_modes[mode].gpio);
> +
>  	regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
>  			   ARIZONA_MICD_BIAS_SRC_MASK,
>  			   info->micd_modes[mode].bias <<
> @@ -1258,6 +1265,27 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  				arizona->pdata.micd_pol_gpio, ret);
>  			goto err_register;
>  		}
> +	} else {
> +		if (info->micd_modes[0].gpio)
> +			mode = GPIOD_OUT_HIGH;
> +		else
> +			mode = GPIOD_OUT_LOW;
> +
> +		/* We can't use devm here because we need to do the get
> +		 * against the MFD device, as that is where the of_node
> +		 * will reside, but if we devm against that the GPIO
> +		 * will not be freed if the extcon driver is unloaded.
> +		 */
> +		info->micd_pol_gpio = gpiod_get_optional(arizona->dev,
> +							 "wlf,micd-pol",
> +							 GPIOD_OUT_LOW);
> +		if (IS_ERR(info->micd_pol_gpio)) {
> +			ret = PTR_ERR(info->micd_pol_gpio);
> +			dev_err(arizona->dev,
> +				"Failed to get microphone polarity GPIO: %d\n",
> +				ret);
> +			goto err_register;
> +		}
>  	}
>  
>  	if (arizona->pdata.hpdet_id_gpio > 0) {
> @@ -1268,7 +1296,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  		if (ret != 0) {
>  			dev_err(arizona->dev, "Failed to request GPIO%d: %d\n",
>  				arizona->pdata.hpdet_id_gpio, ret);
> -			goto err_register;
> +			goto err_gpio;
>  		}
>  	}
>  
> @@ -1320,7 +1348,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  				dev_err(arizona->dev,
>  					"MICD ranges must be sorted\n");
>  				ret = -EINVAL;
> -				goto err_input;
> +				goto err_gpio;
>  			}
>  		}
>  	}
> @@ -1339,7 +1367,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  			dev_err(arizona->dev, "Unsupported MICD level %d\n",
>  				info->micd_ranges[i].max);
>  			ret = -EINVAL;
> -			goto err_input;
> +			goto err_gpio;
>  		}
>  
>  		dev_dbg(arizona->dev, "%d ohms for MICD threshold %d\n",
> @@ -1412,7 +1440,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
>  	if (ret != 0) {
>  		dev_err(&pdev->dev, "Failed to get JACKDET rise IRQ: %d\n",
>  			ret);
> -		goto err_input;
> +		goto err_gpio;
>  	}
>  
>  	ret = arizona_set_irq_wake(arizona, jack_irq_rise, 1);
> @@ -1483,7 +1511,8 @@ err_rise_wake:
>  	arizona_set_irq_wake(arizona, jack_irq_rise, 0);
>  err_rise:
>  	arizona_free_irq(arizona, jack_irq_rise, info);
> -err_input:
> +err_gpio:
> +	gpiod_put(info->micd_pol_gpio);
>  err_register:
>  	pm_runtime_disable(&pdev->dev);
>  	return ret;
> @@ -1495,6 +1524,8 @@ static int arizona_extcon_remove(struct platform_device *pdev)
>  	struct arizona *arizona = info->arizona;
>  	int jack_irq_rise, jack_irq_fall;
>  
> +	gpiod_put(info->micd_pol_gpio);
> +
>  	pm_runtime_disable(&pdev->dev);
>  
>  	regmap_update_bits(arizona->regmap,
> 

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v5 1/7] extcon: arizona: Simplify pdata symantics for micd_dbtime
  2015-06-21 14:17     ` Chanwoo Choi
  (?)
@ 2015-06-30 10:51     ` Charles Keepax
  -1 siblings, 0 replies; 29+ messages in thread
From: Charles Keepax @ 2015-06-30 10:51 UTC (permalink / raw)
  To: cw00.choi
  Cc: Lee Jones, myungjoo.ham, Samuel Ortiz, devicetree, linux-kernel, patches

On Sun, Jun 21, 2015 at 11:17:56PM +0900, Chanwoo Choi wrote:
> Hi Charles,
> 
> Looks good go me. But you need the review from MFD maintainer
> before appling it.
> 
> Thanks,
> Chanwoo Choi
> 
> On Sat, Jun 20, 2015 at 1:23 AM, Charles Keepax
> <ckeepax@opensource.wolfsonmicro.com> wrote:
> > Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements,
> > or a greater than 16-bit value for 2 measurements. This patch simplifies
> > the symantics to 2 for 2 measurements, 4 for 4 measurements and any
> > other value for the default.
> >
> > I am not super keen on changing the symantics of the pdata at this stage
> > in the drivers life, but acceptance of the DT binding for this field has
> > been made conditional on this happening.
> >
> > Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> > ---
> > diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
> > index aa5c48b..bd68355 100644
> > --- a/include/linux/mfd/arizona/pdata.h
> > +++ b/include/linux/mfd/arizona/pdata.h
> > @@ -53,6 +53,9 @@
> >
> >  #define ARIZONA_MAX_PDM_SPK 2
> >
> > +#define ARIZONA_MICD_DBTIME_TWO_READINGS 2
> > +#define ARIZONA_MICD_DBTIME_FOUR_READINGS 4
> > +

I am gonna respin and move these into the extcon driver itself,
should allow us to get the patch merged and their use in the
pdata header is probably minimal.

Thanks,
Charles

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-06-30 10:51 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-19 16:23 [PATCH v5 0/7] Add basic microphone detection bindings Charles Keepax
2015-06-19 16:23 ` Charles Keepax
2015-06-19 16:23 ` [PATCH v5 1/7] extcon: arizona: Simplify pdata symantics for micd_dbtime Charles Keepax
2015-06-19 16:23   ` Charles Keepax
2015-06-21 14:17   ` Chanwoo Choi
2015-06-21 14:17     ` Chanwoo Choi
2015-06-30 10:51     ` Charles Keepax
2015-06-19 16:23 ` [PATCH v5 2/7] extcon: arizona: Update to use the new device properties API Charles Keepax
2015-06-19 16:23   ` Charles Keepax
2015-06-21 14:18   ` Chanwoo Choi
2015-06-21 14:18     ` Chanwoo Choi
2015-06-19 16:23 ` [PATCH v5 3/7] extcon: arizona: Add basic microphone detection DT/ACPI bindings Charles Keepax
2015-06-19 16:23   ` Charles Keepax
2015-06-21 14:18   ` Chanwoo Choi
2015-06-21 14:18     ` Chanwoo Choi
2015-06-19 16:23 ` [PATCH v5 4/7] extcon: arizona: Convert to gpiod Charles Keepax
2015-06-19 16:23   ` Charles Keepax
2015-06-25  0:13   ` Chanwoo Choi
2015-06-25  0:13     ` Chanwoo Choi
2015-06-19 16:23 ` [PATCH v5 5/7] extcon: arizona: Ensure variables are set for headphone detection Charles Keepax
2015-06-19 16:23   ` Charles Keepax
2015-06-21 14:19   ` Chanwoo Choi
2015-06-21 14:19     ` Chanwoo Choi
2015-06-19 16:23 ` [PATCH v5 6/7] mfd: arizona: Update DT doc for new mic detection bindings Charles Keepax
2015-06-19 16:23   ` Charles Keepax
2015-06-24 14:19   ` Lee Jones
2015-06-24 14:19     ` Lee Jones
2015-06-19 16:23 ` [PATCH v5 7/7] mfd: arizona: Update several pdata members to unsigned Charles Keepax
2015-06-19 16:23   ` Charles Keepax

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.