All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
To: Shawn Guo <shawn.guo@linaro.org>, Jean Delvare <khali@linux-fr.org>
Cc: jimwall@q.com, brian@crystalfontz.com,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	Grant Likely <grant.likely@linaro.org>,
	Rob Herring <rob.herring@calxeda.com>,
	Rob Landley <rob@landley.net>, Guenter Roeck <linux@roeck-us.net>,
	Russell King <linux@arm.linux.org.uk>,
	devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org,
	linux-arm-kernel@lists.infradead.org,
	Alexandre Belloni <alexandre.belloni@free-electrons.com>
Subject: [PATCH 3/4] hwmon: Add a simple driver to read the MXS SoC temperature
Date: Wed, 26 Jun 2013 10:51:12 +0200	[thread overview]
Message-ID: <1372236673-20725-4-git-send-email-alexandre.belloni@free-electrons.com> (raw)
In-Reply-To: <1372236673-20725-1-git-send-email-alexandre.belloni@free-electrons.com>

The low resolution ADC of the mxs is able to read an internal temperature
sensor, expose that using hwmon.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 .../devicetree/bindings/hwmon/mxs-cputemp.txt      |  18 +++
 Documentation/hwmon/mxs-cputemp                    |  29 +++++
 drivers/hwmon/Kconfig                              |  10 ++
 drivers/hwmon/Makefile                             |   1 +
 drivers/hwmon/mxs-cputemp.c                        | 132 +++++++++++++++++++++
 5 files changed, 190 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt
 create mode 100644 Documentation/hwmon/mxs-cputemp
 create mode 100644 drivers/hwmon/mxs-cputemp.c

diff --git a/Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt b/Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt
new file mode 100644
index 0000000..7d3ae47
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt
@@ -0,0 +1,18 @@
+mxs cputemp hwmon sensors
+-------------------------
+
+See: Documentation/hwmon/mxs-cputemp
+
+Required properties:
+- compatible: should be "fsl,mxs-internal-temp"
+- io-channels: should list the two adc channels needed to calculate the
+	       temperature
+- io-channel-names: should map the previously listed adc channels to the "min"
+		    and "max" value
+
+Example:
+	temp {
+		compatible = "fsl,mxs-internal-temp";
+		io-channels = <&lradc 8>, <&lradc 9>;
+		io-channel-names = "min", "max";
+	};
diff --git a/Documentation/hwmon/mxs-cputemp b/Documentation/hwmon/mxs-cputemp
new file mode 100644
index 0000000..6c6201f
--- /dev/null
+++ b/Documentation/hwmon/mxs-cputemp
@@ -0,0 +1,29 @@
+Kernel driver mxs-cputemp
+=========================
+
+Supported chips:
+  * Freescale i.mx28
+    Datasheet: i.MX28 Applications Processor Reference Manual, Rev. 1, 2010
+    	       http://cache.freescale.com/files/dsp/doc/ref_manual/MCIMX28RM.pdf
+
+Author: Alexandre Belloni
+
+Description
+-----------
+This driver permits reading the internal die temperature sensor embedded inside
+Freescale i.mx28 SoCs. This sensor is read through two channels of the on chip
+Low-Resolution ADC. After calculation, the three-sigma error of the temperature
+sensor should be within ± 1.5% in degrees Kelvin. Additionally, the temperature
+sampling has a three-sigma sample-to-sample variation of 2 degrees Kelvin. If
+desired, this error can be removed by oversampling and averaging the temperature
+result.
+
+The formula is:
+	(Channel9 – Channel8) * Gain_correction/4
+
+As recommended by the datasheet, Gain_correction is equal to 1.012.
+
+sysfs entries
+-------------
+temp1_input	Measured and corrected temperature in millidegrees Celsius
+
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 0428e8a..2daf794 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -929,6 +929,16 @@ config SENSORS_MCP3021
 	  This driver can also be built as a module.  If so, the module
 	  will be called mcp3021.
 
+config SENSORS_MXS_CPU
+	tristate "MXS internal CPU temperature sensor"
+	depends on MXS_LRADC
+	help
+	  If you say yes here you get support for the i.mx28 internal
+	  temperature sensor.
+
+	  This driver can also be built as a module.  If so, the module
+	  will be called mxs-cputemp
+
 config SENSORS_NCT6775
 	tristate "Nuvoton NCT6775F and compatibles"
 	depends on !PPC
diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
index d17d3e6..366c92d 100644
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
@@ -108,6 +108,7 @@ obj-$(CONFIG_SENSORS_MAX6650)	+= max6650.o
 obj-$(CONFIG_SENSORS_MAX6697)	+= max6697.o
 obj-$(CONFIG_SENSORS_MC13783_ADC)+= mc13783-adc.o
 obj-$(CONFIG_SENSORS_MCP3021)	+= mcp3021.o
+obj-$(CONFIG_SENSORS_MXS_CPU)	+= mxs-cputemp.o
 obj-$(CONFIG_SENSORS_NCT6775)	+= nct6775.o
 obj-$(CONFIG_SENSORS_NTC_THERMISTOR)	+= ntc_thermistor.o
 obj-$(CONFIG_SENSORS_PC87360)	+= pc87360.o
diff --git a/drivers/hwmon/mxs-cputemp.c b/drivers/hwmon/mxs-cputemp.c
new file mode 100644
index 0000000..a312fb5
--- /dev/null
+++ b/drivers/hwmon/mxs-cputemp.c
@@ -0,0 +1,132 @@
+/*
+ * Driver for the mxs internal temperature sensor
+ *
+ * Copyright 2013 Free Electrons
+ *
+ * Licensed under the GPLv2 or later.
+ */
+
+#define DRVNAME "mxs-hwmon"
+
+#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/hwmon.h>
+#include <linux/hwmon-sysfs.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/platform_device.h>
+#include <linux/iio/consumer.h>
+
+#define GAIN_CORRECTION 1012
+
+/* The value we calculate from the ADCs is in Kelvins, don't forget to convert
+ * it to Celsius */
+#define VALUES_TO_MILLIC(min, max) ((max - min) * GAIN_CORRECTION / 4 - 272150)
+
+struct mxs_hwmon_data {
+	struct device *hwmon_dev;
+	struct iio_channel *chan_min;
+	struct iio_channel *chan_max;
+};
+
+static int mxs_hwmon_show_temp(struct device *dev,
+			       struct device_attribute *attr, char *buf)
+{
+	int err, val_min, val_max;
+
+	struct mxs_hwmon_data *data = dev_get_drvdata(dev);
+
+	err = iio_read_channel_raw(data->chan_min, &val_min);
+	if (err < 0)
+		return err;
+
+	err = iio_read_channel_raw(data->chan_max, &val_max);
+	if (err < 0)
+		return err;
+
+	return sprintf(buf, "%u\n", VALUES_TO_MILLIC(val_min, val_max));
+}
+
+static DEVICE_ATTR(temp1_input, S_IRUGO, mxs_hwmon_show_temp, NULL);
+
+static int mxs_hwmon_probe(struct platform_device *pdev)
+{
+	int err;
+	struct mxs_hwmon_data *data;
+
+	data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+	if (!data)
+		return -ENOMEM;
+
+	platform_set_drvdata(pdev, data);
+
+	err = device_create_file(&pdev->dev, &dev_attr_temp1_input);
+	if (err)
+		return err;
+
+	data->chan_min = iio_channel_get(&pdev->dev, "min");
+	if (IS_ERR(data->chan_min)) {
+		err = PTR_ERR(data->chan_min);
+		goto error_chan_min;
+	}
+
+	data->chan_max = iio_channel_get(&pdev->dev, "max");
+	if (IS_ERR(data->chan_max)) {
+		err = PTR_ERR(data->chan_max);
+		goto error_chan_max;
+	}
+
+	data->hwmon_dev = hwmon_device_register(&pdev->dev);
+	if (IS_ERR(data->hwmon_dev)) {
+		err = PTR_ERR(data->hwmon_dev);
+		goto error_hwmon;
+	}
+
+	return 0;
+
+error_hwmon:
+	iio_channel_release(data->chan_max);
+error_chan_max:
+	iio_channel_release(data->chan_min);
+error_chan_min:
+	device_remove_file(&pdev->dev, &dev_attr_temp1_input);
+
+	return err;
+}
+
+static int mxs_hwmon_remove(struct platform_device *pdev)
+{
+	struct mxs_hwmon_data *data = platform_get_drvdata(pdev);
+
+	iio_channel_release(data->chan_min);
+	iio_channel_release(data->chan_max);
+	hwmon_device_unregister(data->hwmon_dev);
+
+	device_remove_file(&pdev->dev, &dev_attr_temp1_input);
+
+	return 0;
+}
+
+static struct of_device_id mxs_hwmon_of_match[] = {
+	{ .compatible = "fsl,mxs-internal-temp", },
+	{}
+};
+MODULE_DEVICE_TABLE(of, mxs_hwmon_of_match);
+
+static struct platform_driver mxs_hwmon_driver = {
+	.probe = mxs_hwmon_probe,
+	.remove = mxs_hwmon_remove,
+	.driver	= {
+		.name = DRVNAME,
+		.owner = THIS_MODULE,
+		.of_match_table = mxs_hwmon_of_match,
+	},
+};
+
+module_platform_driver(mxs_hwmon_driver);
+
+MODULE_AUTHOR("Alexandre Belloni <alexandre.belloni@free-electrons.com>");
+MODULE_DESCRIPTION("Freescale i.MX28 hwmon sensor driver");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:mxs-hwmon");
-- 
1.8.1.2


WARNING: multiple messages have this Message-ID (diff)
From: alexandre.belloni@free-electrons.com (Alexandre Belloni)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] hwmon: Add a simple driver to read the MXS SoC temperature
Date: Wed, 26 Jun 2013 10:51:12 +0200	[thread overview]
Message-ID: <1372236673-20725-4-git-send-email-alexandre.belloni@free-electrons.com> (raw)
In-Reply-To: <1372236673-20725-1-git-send-email-alexandre.belloni@free-electrons.com>

The low resolution ADC of the mxs is able to read an internal temperature
sensor, expose that using hwmon.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 .../devicetree/bindings/hwmon/mxs-cputemp.txt      |  18 +++
 Documentation/hwmon/mxs-cputemp                    |  29 +++++
 drivers/hwmon/Kconfig                              |  10 ++
 drivers/hwmon/Makefile                             |   1 +
 drivers/hwmon/mxs-cputemp.c                        | 132 +++++++++++++++++++++
 5 files changed, 190 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt
 create mode 100644 Documentation/hwmon/mxs-cputemp
 create mode 100644 drivers/hwmon/mxs-cputemp.c

diff --git a/Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt b/Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt
new file mode 100644
index 0000000..7d3ae47
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/mxs-cputemp.txt
@@ -0,0 +1,18 @@
+mxs cputemp hwmon sensors
+-------------------------
+
+See: Documentation/hwmon/mxs-cputemp
+
+Required properties:
+- compatible: should be "fsl,mxs-internal-temp"
+- io-channels: should list the two adc channels needed to calculate the
+	       temperature
+- io-channel-names: should map the previously listed adc channels to the "min"
+		    and "max" value
+
+Example:
+	temp {
+		compatible = "fsl,mxs-internal-temp";
+		io-channels = <&lradc 8>, <&lradc 9>;
+		io-channel-names = "min", "max";
+	};
diff --git a/Documentation/hwmon/mxs-cputemp b/Documentation/hwmon/mxs-cputemp
new file mode 100644
index 0000000..6c6201f
--- /dev/null
+++ b/Documentation/hwmon/mxs-cputemp
@@ -0,0 +1,29 @@
+Kernel driver mxs-cputemp
+=========================
+
+Supported chips:
+  * Freescale i.mx28
+    Datasheet: i.MX28 Applications Processor Reference Manual, Rev. 1, 2010
+    	       http://cache.freescale.com/files/dsp/doc/ref_manual/MCIMX28RM.pdf
+
+Author: Alexandre Belloni
+
+Description
+-----------
+This driver permits reading the internal die temperature sensor embedded inside
+Freescale i.mx28 SoCs. This sensor is read through two channels of the on chip
+Low-Resolution ADC. After calculation, the three-sigma error of the temperature
+sensor should be within ? 1.5% in degrees Kelvin. Additionally, the temperature
+sampling has a three-sigma sample-to-sample variation of 2 degrees Kelvin. If
+desired, this error can be removed by oversampling and averaging the temperature
+result.
+
+The formula is:
+	(Channel9 ? Channel8) * Gain_correction/4
+
+As recommended by the datasheet, Gain_correction is equal to 1.012.
+
+sysfs entries
+-------------
+temp1_input	Measured and corrected temperature in millidegrees Celsius
+
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 0428e8a..2daf794 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -929,6 +929,16 @@ config SENSORS_MCP3021
 	  This driver can also be built as a module.  If so, the module
 	  will be called mcp3021.
 
+config SENSORS_MXS_CPU
+	tristate "MXS internal CPU temperature sensor"
+	depends on MXS_LRADC
+	help
+	  If you say yes here you get support for the i.mx28 internal
+	  temperature sensor.
+
+	  This driver can also be built as a module.  If so, the module
+	  will be called mxs-cputemp
+
 config SENSORS_NCT6775
 	tristate "Nuvoton NCT6775F and compatibles"
 	depends on !PPC
diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
index d17d3e6..366c92d 100644
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
@@ -108,6 +108,7 @@ obj-$(CONFIG_SENSORS_MAX6650)	+= max6650.o
 obj-$(CONFIG_SENSORS_MAX6697)	+= max6697.o
 obj-$(CONFIG_SENSORS_MC13783_ADC)+= mc13783-adc.o
 obj-$(CONFIG_SENSORS_MCP3021)	+= mcp3021.o
+obj-$(CONFIG_SENSORS_MXS_CPU)	+= mxs-cputemp.o
 obj-$(CONFIG_SENSORS_NCT6775)	+= nct6775.o
 obj-$(CONFIG_SENSORS_NTC_THERMISTOR)	+= ntc_thermistor.o
 obj-$(CONFIG_SENSORS_PC87360)	+= pc87360.o
diff --git a/drivers/hwmon/mxs-cputemp.c b/drivers/hwmon/mxs-cputemp.c
new file mode 100644
index 0000000..a312fb5
--- /dev/null
+++ b/drivers/hwmon/mxs-cputemp.c
@@ -0,0 +1,132 @@
+/*
+ * Driver for the mxs internal temperature sensor
+ *
+ * Copyright 2013 Free Electrons
+ *
+ * Licensed under the GPLv2 or later.
+ */
+
+#define DRVNAME "mxs-hwmon"
+
+#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/hwmon.h>
+#include <linux/hwmon-sysfs.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/platform_device.h>
+#include <linux/iio/consumer.h>
+
+#define GAIN_CORRECTION 1012
+
+/* The value we calculate from the ADCs is in Kelvins, don't forget to convert
+ * it to Celsius */
+#define VALUES_TO_MILLIC(min, max) ((max - min) * GAIN_CORRECTION / 4 - 272150)
+
+struct mxs_hwmon_data {
+	struct device *hwmon_dev;
+	struct iio_channel *chan_min;
+	struct iio_channel *chan_max;
+};
+
+static int mxs_hwmon_show_temp(struct device *dev,
+			       struct device_attribute *attr, char *buf)
+{
+	int err, val_min, val_max;
+
+	struct mxs_hwmon_data *data = dev_get_drvdata(dev);
+
+	err = iio_read_channel_raw(data->chan_min, &val_min);
+	if (err < 0)
+		return err;
+
+	err = iio_read_channel_raw(data->chan_max, &val_max);
+	if (err < 0)
+		return err;
+
+	return sprintf(buf, "%u\n", VALUES_TO_MILLIC(val_min, val_max));
+}
+
+static DEVICE_ATTR(temp1_input, S_IRUGO, mxs_hwmon_show_temp, NULL);
+
+static int mxs_hwmon_probe(struct platform_device *pdev)
+{
+	int err;
+	struct mxs_hwmon_data *data;
+
+	data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+	if (!data)
+		return -ENOMEM;
+
+	platform_set_drvdata(pdev, data);
+
+	err = device_create_file(&pdev->dev, &dev_attr_temp1_input);
+	if (err)
+		return err;
+
+	data->chan_min = iio_channel_get(&pdev->dev, "min");
+	if (IS_ERR(data->chan_min)) {
+		err = PTR_ERR(data->chan_min);
+		goto error_chan_min;
+	}
+
+	data->chan_max = iio_channel_get(&pdev->dev, "max");
+	if (IS_ERR(data->chan_max)) {
+		err = PTR_ERR(data->chan_max);
+		goto error_chan_max;
+	}
+
+	data->hwmon_dev = hwmon_device_register(&pdev->dev);
+	if (IS_ERR(data->hwmon_dev)) {
+		err = PTR_ERR(data->hwmon_dev);
+		goto error_hwmon;
+	}
+
+	return 0;
+
+error_hwmon:
+	iio_channel_release(data->chan_max);
+error_chan_max:
+	iio_channel_release(data->chan_min);
+error_chan_min:
+	device_remove_file(&pdev->dev, &dev_attr_temp1_input);
+
+	return err;
+}
+
+static int mxs_hwmon_remove(struct platform_device *pdev)
+{
+	struct mxs_hwmon_data *data = platform_get_drvdata(pdev);
+
+	iio_channel_release(data->chan_min);
+	iio_channel_release(data->chan_max);
+	hwmon_device_unregister(data->hwmon_dev);
+
+	device_remove_file(&pdev->dev, &dev_attr_temp1_input);
+
+	return 0;
+}
+
+static struct of_device_id mxs_hwmon_of_match[] = {
+	{ .compatible = "fsl,mxs-internal-temp", },
+	{}
+};
+MODULE_DEVICE_TABLE(of, mxs_hwmon_of_match);
+
+static struct platform_driver mxs_hwmon_driver = {
+	.probe = mxs_hwmon_probe,
+	.remove = mxs_hwmon_remove,
+	.driver	= {
+		.name = DRVNAME,
+		.owner = THIS_MODULE,
+		.of_match_table = mxs_hwmon_of_match,
+	},
+};
+
+module_platform_driver(mxs_hwmon_driver);
+
+MODULE_AUTHOR("Alexandre Belloni <alexandre.belloni@free-electrons.com>");
+MODULE_DESCRIPTION("Freescale i.MX28 hwmon sensor driver");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:mxs-hwmon");
-- 
1.8.1.2

WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
To: Shawn Guo <shawn.guo@linaro.org>, Jean Delvare <khali@linux-fr.org>
Cc: jimwall@q.com, brian@crystalfontz.com,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	Grant Likely <grant.likely@linaro.org>,
	Rob Herring <rob.herring@calxeda.com>,
	Rob Landley <rob@landley.net>, Guenter Roeck <linux@roeck-us.net>,
	Russell King <linux@arm.linux.org.uk>,
	devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org,
	linux-arm-kernel@lists.infradead.org,
	Alexandre Belloni <alexandre.belloni@free-electrons.com>
Subject: [lm-sensors] [PATCH 3/4] hwmon: Add a simple driver to read the MXS SoC temperature
Date: Wed, 26 Jun 2013 08:51:12 +0000	[thread overview]
Message-ID: <1372236673-20725-4-git-send-email-alexandre.belloni@free-electrons.com> (raw)
In-Reply-To: <1372236673-20725-1-git-send-email-alexandre.belloni@free-electrons.com>

VGhlIGxvdyByZXNvbHV0aW9uIEFEQyBvZiB0aGUgbXhzIGlzIGFibGUgdG8gcmVhZCBhbiBpbnRl
cm5hbCB0ZW1wZXJhdHVyZQpzZW5zb3IsIGV4cG9zZSB0aGF0IHVzaW5nIGh3bW9uLgoKU2lnbmVk
LW9mZi1ieTogQWxleGFuZHJlIEJlbGxvbmkgPGFsZXhhbmRyZS5iZWxsb25pQGZyZWUtZWxlY3Ry
b25zLmNvbT4KLS0tCiAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9od21vbi9teHMtY3B1dGVtcC50
eHQgICAgICB8ICAxOCArKysKIERvY3VtZW50YXRpb24vaHdtb24vbXhzLWNwdXRlbXAgICAgICAg
ICAgICAgICAgICAgIHwgIDI5ICsrKysrCiBkcml2ZXJzL2h3bW9uL0tjb25maWcgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAxMCArKwogZHJpdmVycy9od21vbi9NYWtlZmlsZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9od21vbi9teHMtY3B1dGVt
cC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAxMzIgKysrKysrKysrKysrKysrKysrKysrCiA1
IGZpbGVzIGNoYW5nZWQsIDE5MCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgRG9j
dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2h3bW9uL214cy1jcHV0ZW1wLnR4dAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vaHdtb24vbXhzLWNwdXRlbXAKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBkcml2ZXJzL2h3bW9uL214cy1jcHV0ZW1wLmMKCmRpZmYgLS1naXQgYS9Eb2N1
bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaHdtb24vbXhzLWNwdXRlbXAudHh0IGIvRG9j
dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2h3bW9uL214cy1jcHV0ZW1wLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDNhZTQ3Ci0tLSAvZGV2L251bGwKKysr
IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2h3bW9uL214cy1jcHV0ZW1wLnR4
dApAQCAtMCwwICsxLDE4IEBACitteHMgY3B1dGVtcCBod21vbiBzZW5zb3JzCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisKK1NlZTogRG9jdW1lbnRhdGlvbi9od21vbi9teHMtY3B1dGVtcAor
CitSZXF1aXJlZCBwcm9wZXJ0aWVzOgorLSBjb21wYXRpYmxlOiBzaG91bGQgYmUgImZzbCxteHMt
aW50ZXJuYWwtdGVtcCIKKy0gaW8tY2hhbm5lbHM6IHNob3VsZCBsaXN0IHRoZSB0d28gYWRjIGNo
YW5uZWxzIG5lZWRlZCB0byBjYWxjdWxhdGUgdGhlCisJICAgICAgIHRlbXBlcmF0dXJlCistIGlv
LWNoYW5uZWwtbmFtZXM6IHNob3VsZCBtYXAgdGhlIHByZXZpb3VzbHkgbGlzdGVkIGFkYyBjaGFu
bmVscyB0byB0aGUgIm1pbiIKKwkJICAgIGFuZCAibWF4IiB2YWx1ZQorCitFeGFtcGxlOgorCXRl
bXAgeworCQljb21wYXRpYmxlID0gImZzbCxteHMtaW50ZXJuYWwtdGVtcCI7CisJCWlvLWNoYW5u
ZWxzID0gPCZscmFkYyA4PiwgPCZscmFkYyA5PjsKKwkJaW8tY2hhbm5lbC1uYW1lcyA9ICJtaW4i
LCAibWF4IjsKKwl9OwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9od21vbi9teHMtY3B1dGVt
cCBiL0RvY3VtZW50YXRpb24vaHdtb24vbXhzLWNwdXRlbXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNmM2MjAxZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24v
aHdtb24vbXhzLWNwdXRlbXAKQEAgLTAsMCArMSwyOSBAQAorS2VybmVsIGRyaXZlciBteHMtY3B1
dGVtcAorPT09PT09PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICog
RnJlZXNjYWxlIGkubXgyOAorICAgIERhdGFzaGVldDogaS5NWDI4IEFwcGxpY2F0aW9ucyBQcm9j
ZXNzb3IgUmVmZXJlbmNlIE1hbnVhbCwgUmV2LiAxLCAyMDEwCisgICAgCSAgICAgICBodHRwOi8v
Y2FjaGUuZnJlZXNjYWxlLmNvbS9maWxlcy9kc3AvZG9jL3JlZl9tYW51YWwvTUNJTVgyOFJNLnBk
ZgorCitBdXRob3I6IEFsZXhhbmRyZSBCZWxsb25pCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0t
LQorVGhpcyBkcml2ZXIgcGVybWl0cyByZWFkaW5nIHRoZSBpbnRlcm5hbCBkaWUgdGVtcGVyYXR1
cmUgc2Vuc29yIGVtYmVkZGVkIGluc2lkZQorRnJlZXNjYWxlIGkubXgyOCBTb0NzLiBUaGlzIHNl
bnNvciBpcyByZWFkIHRocm91Z2ggdHdvIGNoYW5uZWxzIG9mIHRoZSBvbiBjaGlwCitMb3ctUmVz
b2x1dGlvbiBBREMuIEFmdGVyIGNhbGN1bGF0aW9uLCB0aGUgdGhyZWUtc2lnbWEgZXJyb3Igb2Yg
dGhlIHRlbXBlcmF0dXJlCitzZW5zb3Igc2hvdWxkIGJlIHdpdGhpbiDCsSAxLjUlIGluIGRlZ3Jl
ZXMgS2VsdmluLiBBZGRpdGlvbmFsbHksIHRoZSB0ZW1wZXJhdHVyZQorc2FtcGxpbmcgaGFzIGEg
dGhyZWUtc2lnbWEgc2FtcGxlLXRvLXNhbXBsZSB2YXJpYXRpb24gb2YgMiBkZWdyZWVzIEtlbHZp
bi4gSWYKK2Rlc2lyZWQsIHRoaXMgZXJyb3IgY2FuIGJlIHJlbW92ZWQgYnkgb3ZlcnNhbXBsaW5n
IGFuZCBhdmVyYWdpbmcgdGhlIHRlbXBlcmF0dXJlCityZXN1bHQuCisKK1RoZSBmb3JtdWxhIGlz
OgorCShDaGFubmVsOSDigJMgQ2hhbm5lbDgpICogR2Fpbl9jb3JyZWN0aW9uLzQKKworQXMgcmVj
b21tZW5kZWQgYnkgdGhlIGRhdGFzaGVldCwgR2Fpbl9jb3JyZWN0aW9uIGlzIGVxdWFsIHRvIDEu
MDEyLgorCitzeXNmcyBlbnRyaWVzCistLS0tLS0tLS0tLS0tCit0ZW1wMV9pbnB1dAlNZWFzdXJl
ZCBhbmQgY29ycmVjdGVkIHRlbXBlcmF0dXJlIGluIG1pbGxpZGVncmVlcyBDZWxzaXVzCisKZGlm
ZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vS2NvbmZpZyBiL2RyaXZlcnMvaHdtb24vS2NvbmZpZwpp
bmRleCAwNDI4ZThhLi4yZGFmNzk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL0tjb25maWcK
KysrIGIvZHJpdmVycy9od21vbi9LY29uZmlnCkBAIC05MjksNiArOTI5LDE2IEBAIGNvbmZpZyBT
RU5TT1JTX01DUDMwMjEKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9k
dWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIG1jcDMwMjEuCiAKK2Nv
bmZpZyBTRU5TT1JTX01YU19DUFUKKwl0cmlzdGF0ZSAiTVhTIGludGVybmFsIENQVSB0ZW1wZXJh
dHVyZSBzZW5zb3IiCisJZGVwZW5kcyBvbiBNWFNfTFJBREMKKwloZWxwCisJICBJZiB5b3Ugc2F5
IHllcyBoZXJlIHlvdSBnZXQgc3VwcG9ydCBmb3IgdGhlIGkubXgyOCBpbnRlcm5hbAorCSAgdGVt
cGVyYXR1cmUgc2Vuc29yLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBh
IG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBteHMtY3B1dGVt
cAorCiBjb25maWcgU0VOU09SU19OQ1Q2Nzc1CiAJdHJpc3RhdGUgIk51dm90b24gTkNUNjc3NUYg
YW5kIGNvbXBhdGlibGVzIgogCWRlcGVuZHMgb24gIVBQQwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9o
d21vbi9NYWtlZmlsZSBiL2RyaXZlcnMvaHdtb24vTWFrZWZpbGUKaW5kZXggZDE3ZDNlNi4uMzY2
YzkyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2h3
bW9uL01ha2VmaWxlCkBAIC0xMDgsNiArMTA4LDcgQEAgb2JqLSQoQ09ORklHX1NFTlNPUlNfTUFY
NjY1MCkJKz0gbWF4NjY1MC5vCiBvYmotJChDT05GSUdfU0VOU09SU19NQVg2Njk3KQkrPSBtYXg2
Njk3Lm8KIG9iai0kKENPTkZJR19TRU5TT1JTX01DMTM3ODNfQURDKSs9IG1jMTM3ODMtYWRjLm8K
IG9iai0kKENPTkZJR19TRU5TT1JTX01DUDMwMjEpCSs9IG1jcDMwMjEubworb2JqLSQoQ09ORklH
X1NFTlNPUlNfTVhTX0NQVSkJKz0gbXhzLWNwdXRlbXAubwogb2JqLSQoQ09ORklHX1NFTlNPUlNf
TkNUNjc3NSkJKz0gbmN0Njc3NS5vCiBvYmotJChDT05GSUdfU0VOU09SU19OVENfVEhFUk1JU1RP
UikJKz0gbnRjX3RoZXJtaXN0b3Iubwogb2JqLSQoQ09ORklHX1NFTlNPUlNfUEM4NzM2MCkJKz0g
cGM4NzM2MC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL214cy1jcHV0ZW1wLmMgYi9kcml2
ZXJzL2h3bW9uL214cy1jcHV0ZW1wLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYTMxMmZiNQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaHdtb24vbXhzLWNwdXRlbXAu
YwpAQCAtMCwwICsxLDEzMiBAQAorLyoKKyAqIERyaXZlciBmb3IgdGhlIG14cyBpbnRlcm5hbCB0
ZW1wZXJhdHVyZSBzZW5zb3IKKyAqCisgKiBDb3B5cmlnaHQgMjAxMyBGcmVlIEVsZWN0cm9ucwor
ICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MiBvciBsYXRlci4KKyAqLworCisjZGVmaW5l
IERSVk5BTUUgIm14cy1od21vbiIKKworI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1
ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2h3bW9uLmg+CisjaW5jbHVkZSA8bGlu
dXgvaHdtb24tc3lzZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxs
aW51eC9vZi5oPgorI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4
L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lpby9jb25zdW1lci5oPgorCisj
ZGVmaW5lIEdBSU5fQ09SUkVDVElPTiAxMDEyCisKKy8qIFRoZSB2YWx1ZSB3ZSBjYWxjdWxhdGUg
ZnJvbSB0aGUgQURDcyBpcyBpbiBLZWx2aW5zLCBkb24ndCBmb3JnZXQgdG8gY29udmVydAorICog
aXQgdG8gQ2Vsc2l1cyAqLworI2RlZmluZSBWQUxVRVNfVE9fTUlMTElDKG1pbiwgbWF4KSAoKG1h
eCAtIG1pbikgKiBHQUlOX0NPUlJFQ1RJT04gLyA0IC0gMjcyMTUwKQorCitzdHJ1Y3QgbXhzX2h3
bW9uX2RhdGEgeworCXN0cnVjdCBkZXZpY2UgKmh3bW9uX2RldjsKKwlzdHJ1Y3QgaWlvX2NoYW5u
ZWwgKmNoYW5fbWluOworCXN0cnVjdCBpaW9fY2hhbm5lbCAqY2hhbl9tYXg7Cit9OworCitzdGF0
aWMgaW50IG14c19od21vbl9zaG93X3RlbXAoc3RydWN0IGRldmljZSAqZGV2LAorCQkJICAgICAg
IHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJaW50IGVyciwg
dmFsX21pbiwgdmFsX21heDsKKworCXN0cnVjdCBteHNfaHdtb25fZGF0YSAqZGF0YSA9IGRldl9n
ZXRfZHJ2ZGF0YShkZXYpOworCisJZXJyID0gaWlvX3JlYWRfY2hhbm5lbF9yYXcoZGF0YS0+Y2hh
bl9taW4sICZ2YWxfbWluKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9
IGlpb19yZWFkX2NoYW5uZWxfcmF3KGRhdGEtPmNoYW5fbWF4LCAmdmFsX21heCk7CisJaWYgKGVy
ciA8IDApCisJCXJldHVybiBlcnI7CisKKwlyZXR1cm4gc3ByaW50ZihidWYsICIldVxuIiwgVkFM
VUVTX1RPX01JTExJQyh2YWxfbWluLCB2YWxfbWF4KSk7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRU
Uih0ZW1wMV9pbnB1dCwgU19JUlVHTywgbXhzX2h3bW9uX3Nob3dfdGVtcCwgTlVMTCk7CisKK3N0
YXRpYyBpbnQgbXhzX2h3bW9uX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7
CisJaW50IGVycjsKKwlzdHJ1Y3QgbXhzX2h3bW9uX2RhdGEgKmRhdGE7CisKKwlkYXRhID0gZGV2
bV9remFsbG9jKCZwZGV2LT5kZXYsIHNpemVvZigqZGF0YSksIEdGUF9LRVJORUwpOworCWlmICgh
ZGF0YSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBk
YXRhKTsKKworCWVyciA9IGRldmljZV9jcmVhdGVfZmlsZSgmcGRldi0+ZGV2LCAmZGV2X2F0dHJf
dGVtcDFfaW5wdXQpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlkYXRhLT5jaGFuX21p
biA9IGlpb19jaGFubmVsX2dldCgmcGRldi0+ZGV2LCAibWluIik7CisJaWYgKElTX0VSUihkYXRh
LT5jaGFuX21pbikpIHsKKwkJZXJyID0gUFRSX0VSUihkYXRhLT5jaGFuX21pbik7CisJCWdvdG8g
ZXJyb3JfY2hhbl9taW47CisJfQorCisJZGF0YS0+Y2hhbl9tYXggPSBpaW9fY2hhbm5lbF9nZXQo
JnBkZXYtPmRldiwgIm1heCIpOworCWlmIChJU19FUlIoZGF0YS0+Y2hhbl9tYXgpKSB7CisJCWVy
ciA9IFBUUl9FUlIoZGF0YS0+Y2hhbl9tYXgpOworCQlnb3RvIGVycm9yX2NoYW5fbWF4OworCX0K
KworCWRhdGEtPmh3bW9uX2RldiA9IGh3bW9uX2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2KTsK
KwlpZiAoSVNfRVJSKGRhdGEtPmh3bW9uX2RldikpIHsKKwkJZXJyID0gUFRSX0VSUihkYXRhLT5o
d21vbl9kZXYpOworCQlnb3RvIGVycm9yX2h3bW9uOworCX0KKworCXJldHVybiAwOworCitlcnJv
cl9od21vbjoKKwlpaW9fY2hhbm5lbF9yZWxlYXNlKGRhdGEtPmNoYW5fbWF4KTsKK2Vycm9yX2No
YW5fbWF4OgorCWlpb19jaGFubmVsX3JlbGVhc2UoZGF0YS0+Y2hhbl9taW4pOworZXJyb3JfY2hh
bl9taW46CisJZGV2aWNlX3JlbW92ZV9maWxlKCZwZGV2LT5kZXYsICZkZXZfYXR0cl90ZW1wMV9p
bnB1dCk7CisKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IG14c19od21vbl9yZW1vdmUo
c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgbXhzX2h3bW9uX2RhdGEg
KmRhdGEgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCWlpb19jaGFubmVsX3JlbGVh
c2UoZGF0YS0+Y2hhbl9taW4pOworCWlpb19jaGFubmVsX3JlbGVhc2UoZGF0YS0+Y2hhbl9tYXgp
OworCWh3bW9uX2RldmljZV91bnJlZ2lzdGVyKGRhdGEtPmh3bW9uX2Rldik7CisKKwlkZXZpY2Vf
cmVtb3ZlX2ZpbGUoJnBkZXYtPmRldiwgJmRldl9hdHRyX3RlbXAxX2lucHV0KTsKKworCXJldHVy
biAwOworfQorCitzdGF0aWMgc3RydWN0IG9mX2RldmljZV9pZCBteHNfaHdtb25fb2ZfbWF0Y2hb
XSA9IHsKKwl7IC5jb21wYXRpYmxlID0gImZzbCxteHMtaW50ZXJuYWwtdGVtcCIsIH0sCisJe30K
K307CitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBteHNfaHdtb25fb2ZfbWF0Y2gpOworCitzdGF0
aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBteHNfaHdtb25fZHJpdmVyID0geworCS5wcm9iZSA9
IG14c19od21vbl9wcm9iZSwKKwkucmVtb3ZlID0gbXhzX2h3bW9uX3JlbW92ZSwKKwkuZHJpdmVy
CT0geworCQkubmFtZSA9IERSVk5BTUUsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCQkub2Zf
bWF0Y2hfdGFibGUgPSBteHNfaHdtb25fb2ZfbWF0Y2gsCisJfSwKK307CisKK21vZHVsZV9wbGF0
Zm9ybV9kcml2ZXIobXhzX2h3bW9uX2RyaXZlcik7CisKK01PRFVMRV9BVVRIT1IoIkFsZXhhbmRy
ZSBCZWxsb25pIDxhbGV4YW5kcmUuYmVsbG9uaUBmcmVlLWVsZWN0cm9ucy5jb20+Iik7CitNT0RV
TEVfREVTQ1JJUFRJT04oIkZyZWVzY2FsZSBpLk1YMjggaHdtb24gc2Vuc29yIGRyaXZlciIpOwor
TU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpteHMtaHdt
b24iKTsKLS0gCjEuOC4xLjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpsbS1zZW5zb3JzIG1haWxpbmcgbGlzdApsbS1zZW5zb3JzQGxtLXNlbnNvcnMu
b3JnCmh0dHA6Ly9saXN0cy5sbS1zZW5zb3JzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xtLXNlbnNv
cnM

  parent reply	other threads:[~2013-06-26  8:52 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-26  8:51 [PATCH 0/4] Add an hwmon driver for the mxs soc internal sensor Alexandre Belloni
2013-06-26  8:51 ` [lm-sensors] " Alexandre Belloni
2013-06-26  8:51 ` Alexandre Belloni
2013-06-26  8:51 ` [PATCH 1/4] arm: mxs: Add #io-channel-cells property to lradc Alexandre Belloni
2013-06-26  8:51   ` [lm-sensors] " Alexandre Belloni
2013-06-26  8:51   ` Alexandre Belloni
2013-06-26  8:51 ` [PATCH 2/4] arm: mxs: add lradc to cfa10036 Alexandre Belloni
2013-06-26  8:51   ` [lm-sensors] " Alexandre Belloni
2013-06-26  8:51   ` Alexandre Belloni
2013-06-26  8:51 ` Alexandre Belloni [this message]
2013-06-26  8:51   ` [lm-sensors] [PATCH 3/4] hwmon: Add a simple driver to read the MXS SoC temperature Alexandre Belloni
2013-06-26  8:51   ` Alexandre Belloni
2013-06-26 14:39   ` Guenter Roeck
2013-06-26 14:39     ` [lm-sensors] " Guenter Roeck
2013-06-26 14:39     ` Guenter Roeck
2013-06-27  9:17     ` Maxime Ripard
2013-06-27  9:17       ` [lm-sensors] " Maxime Ripard
2013-06-27  9:17       ` Maxime Ripard
2013-06-27  9:17       ` Maxime Ripard
2013-06-27 14:27       ` Guenter Roeck
2013-06-27 14:27         ` [lm-sensors] " Guenter Roeck
2013-06-27 14:27         ` Guenter Roeck
2013-06-27 19:26         ` Alexandre Belloni
2013-06-27 19:26           ` [lm-sensors] " Alexandre Belloni
2013-06-27 19:26           ` Alexandre Belloni
2013-06-27 19:26           ` Alexandre Belloni
2013-06-28 14:18           ` Lars-Peter Clausen
2013-06-28 14:18             ` [lm-sensors] " Lars-Peter Clausen
2013-06-28 14:18             ` Lars-Peter Clausen
2013-06-28 14:50             ` Alexandre Belloni
2013-06-28 14:50               ` [lm-sensors] " Alexandre Belloni
2013-06-28 14:50               ` Alexandre Belloni
2013-06-28 15:24               ` Lars-Peter Clausen
2013-06-28 15:24                 ` [lm-sensors] " Lars-Peter Clausen
2013-06-28 15:24                 ` Lars-Peter Clausen
2013-06-28 15:24                 ` Lars-Peter Clausen
2013-06-28 16:35                 ` Guenter Roeck
2013-06-28 16:35                   ` [lm-sensors] " Guenter Roeck
2013-06-28 16:35                   ` Guenter Roeck
2013-06-26  8:51 ` [PATCH 4/4] arm: mxs: Add mxs internal temp sensor to cfa-10036 Alexandre Belloni
2013-06-26  8:51   ` [lm-sensors] " Alexandre Belloni
2013-06-26  8:51   ` Alexandre Belloni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1372236673-20725-4-git-send-email-alexandre.belloni@free-electrons.com \
    --to=alexandre.belloni@free-electrons.com \
    --cc=brian@crystalfontz.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@linaro.org \
    --cc=jimwall@q.com \
    --cc=khali@linux-fr.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=linux@roeck-us.net \
    --cc=lm-sensors@lm-sensors.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=shawn.guo@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.