From: Michael Walle <michael@walle.cc> To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-pwm@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: "Linus Walleij" <linus.walleij@linaro.org>, "Bartosz Golaszewski" <bgolaszewski@baylibre.com>, "Rob Herring" <robh+dt@kernel.org>, "Jean Delvare" <jdelvare@suse.com>, "Guenter Roeck" <linux@roeck-us.net>, "Lee Jones" <lee.jones@linaro.org>, "Thierry Reding" <thierry.reding@gmail.com>, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>, "Wim Van Sebroeck" <wim@linux-watchdog.org>, "Shawn Guo" <shawnguo@kernel.org>, "Li Yang" <leoyang.li@nxp.com>, "Thomas Gleixner" <tglx@linutronix.de>, "Jason Cooper" <jason@lakedaemon.net>, "Marc Zyngier" <maz@kernel.org>, "Mark Brown" <broonie@kernel.org>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Michael Walle" <michael@walle.cc> Subject: [PATCH v3 03/16] mfd: mfd-core: match device tree node against reg property Date: Thu, 23 Apr 2020 19:45:30 +0200 [thread overview] Message-ID: <20200423174543.17161-4-michael@walle.cc> (raw) In-Reply-To: <20200423174543.17161-1-michael@walle.cc> There might be multiple children with the device tree compatible, for example if a MFD has multiple instances of the same function. In this case only the first is matched and the other children get a wrong of_node reference. Add a new option to match also against the unit address of the child node. Additonally, a new helper OF_MFD_CELL_REG is added. Signed-off-by: Michael Walle <michael@walle.cc> --- drivers/mfd/mfd-core.c | 29 ++++++++++++++++++++--------- include/linux/mfd/core.h | 26 ++++++++++++++++++++------ 2 files changed, 40 insertions(+), 15 deletions(-) diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c index e735565969b3..4ecb376338f7 100644 --- a/drivers/mfd/mfd-core.c +++ b/drivers/mfd/mfd-core.c @@ -117,6 +117,7 @@ static int mfd_add_device(struct device *parent, int id, struct device_node *np = NULL; int ret = -ENOMEM; int platform_id; + u32 of_reg; int r; if (id == PLATFORM_DEVID_AUTO) @@ -151,16 +152,26 @@ static int mfd_add_device(struct device *parent, int id, if (parent->of_node && cell->of_compatible) { for_each_child_of_node(parent->of_node, np) { - if (of_device_is_compatible(np, cell->of_compatible)) { - if (!of_device_is_available(np)) { - /* Ignore disabled devices error free */ - ret = 0; - goto fail_alias; - } - pdev->dev.of_node = np; - pdev->dev.fwnode = &np->fwnode; - break; + if (!of_device_is_compatible(np, cell->of_compatible)) + continue; + + /* also match the unit address if set */ + if (cell->of_reg & MFD_OF_REG_VALID) { + if (of_property_read_u32(np, "reg", &of_reg)) + continue; + if ((cell->of_reg & MFD_OF_REG_MASK) != of_reg) + continue; } + + if (!of_device_is_available(np)) { + /* Ignore disabled devices error free */ + ret = 0; + goto fail_alias; + } + + pdev->dev.of_node = np; + pdev->dev.fwnode = &np->fwnode; + break; } } diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index d01d1299e49d..c2c0ad6b14f3 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h @@ -13,8 +13,11 @@ #include <linux/platform_device.h> #define MFD_RES_SIZE(arr) (sizeof(arr) / sizeof(struct resource)) +#define MFD_OF_REG_VALID BIT(31) +#define MFD_OF_REG_MASK GENMASK(30, 0) -#define MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, _match)\ +#define MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, \ + _of_reg, _match) \ { \ .name = (_name), \ .resources = (_res), \ @@ -22,24 +25,32 @@ .platform_data = (_pdata), \ .pdata_size = (_pdsize), \ .of_compatible = (_compat), \ + .of_reg = (_of_reg), \ .acpi_match = (_match), \ .id = (_id), \ } +#define OF_MFD_CELL_REG(_name, _res, _pdata, _pdsize, _id, _compat, \ + _of_reg) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, \ + ((_of_reg) | MFD_OF_REG_VALID), NULL) \ + #define OF_MFD_CELL(_name, _res, _pdata, _pdsize,_id, _compat) \ - MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, NULL) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, \ + 0, NULL) \ #define ACPI_MFD_CELL(_name, _res, _pdata, _pdsize, _id, _match) \ - MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, _match) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, 0, \ + _match) \ #define MFD_CELL_BASIC(_name, _res, _pdata, _pdsize, _id) \ - MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, NULL) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, 0, NULL) \ #define MFD_CELL_RES(_name, _res) \ - MFD_CELL_ALL(_name, _res, NULL, 0, 0, NULL, NULL) \ + MFD_CELL_ALL(_name, _res, NULL, 0, 0, NULL, 0, NULL) \ #define MFD_CELL_NAME(_name) \ - MFD_CELL_ALL(_name, NULL, NULL, 0, 0, NULL, NULL) \ + MFD_CELL_ALL(_name, NULL, NULL, 0, 0, NULL, 0, NULL) \ struct irq_domain; struct property_entry; @@ -78,6 +89,9 @@ struct mfd_cell { */ const char *of_compatible; + /* matching the reg property if set */ + unsigned int of_reg; + /* Matches ACPI */ const struct mfd_cell_acpi_match *acpi_match; -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Michael Walle <michael@walle.cc> To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-pwm@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: "Marc Zyngier" <maz@kernel.org>, "Jean Delvare" <jdelvare@suse.com>, "Jason Cooper" <jason@lakedaemon.net>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Shawn Guo" <shawnguo@kernel.org>, "Linus Walleij" <linus.walleij@linaro.org>, "Li Yang" <leoyang.li@nxp.com>, "Bartosz Golaszewski" <bgolaszewski@baylibre.com>, "Michael Walle" <michael@walle.cc>, "Rob Herring" <robh+dt@kernel.org>, "Thierry Reding" <thierry.reding@gmail.com>, "Mark Brown" <broonie@kernel.org>, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>, "Thomas Gleixner" <tglx@linutronix.de>, "Wim Van Sebroeck" <wim@linux-watchdog.org>, "Lee Jones" <lee.jones@linaro.org>, "Guenter Roeck" <linux@roeck-us.net> Subject: [PATCH v3 03/16] mfd: mfd-core: match device tree node against reg property Date: Thu, 23 Apr 2020 19:45:30 +0200 [thread overview] Message-ID: <20200423174543.17161-4-michael@walle.cc> (raw) In-Reply-To: <20200423174543.17161-1-michael@walle.cc> There might be multiple children with the device tree compatible, for example if a MFD has multiple instances of the same function. In this case only the first is matched and the other children get a wrong of_node reference. Add a new option to match also against the unit address of the child node. Additonally, a new helper OF_MFD_CELL_REG is added. Signed-off-by: Michael Walle <michael@walle.cc> --- drivers/mfd/mfd-core.c | 29 ++++++++++++++++++++--------- include/linux/mfd/core.h | 26 ++++++++++++++++++++------ 2 files changed, 40 insertions(+), 15 deletions(-) diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c index e735565969b3..4ecb376338f7 100644 --- a/drivers/mfd/mfd-core.c +++ b/drivers/mfd/mfd-core.c @@ -117,6 +117,7 @@ static int mfd_add_device(struct device *parent, int id, struct device_node *np = NULL; int ret = -ENOMEM; int platform_id; + u32 of_reg; int r; if (id == PLATFORM_DEVID_AUTO) @@ -151,16 +152,26 @@ static int mfd_add_device(struct device *parent, int id, if (parent->of_node && cell->of_compatible) { for_each_child_of_node(parent->of_node, np) { - if (of_device_is_compatible(np, cell->of_compatible)) { - if (!of_device_is_available(np)) { - /* Ignore disabled devices error free */ - ret = 0; - goto fail_alias; - } - pdev->dev.of_node = np; - pdev->dev.fwnode = &np->fwnode; - break; + if (!of_device_is_compatible(np, cell->of_compatible)) + continue; + + /* also match the unit address if set */ + if (cell->of_reg & MFD_OF_REG_VALID) { + if (of_property_read_u32(np, "reg", &of_reg)) + continue; + if ((cell->of_reg & MFD_OF_REG_MASK) != of_reg) + continue; } + + if (!of_device_is_available(np)) { + /* Ignore disabled devices error free */ + ret = 0; + goto fail_alias; + } + + pdev->dev.of_node = np; + pdev->dev.fwnode = &np->fwnode; + break; } } diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index d01d1299e49d..c2c0ad6b14f3 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h @@ -13,8 +13,11 @@ #include <linux/platform_device.h> #define MFD_RES_SIZE(arr) (sizeof(arr) / sizeof(struct resource)) +#define MFD_OF_REG_VALID BIT(31) +#define MFD_OF_REG_MASK GENMASK(30, 0) -#define MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, _match)\ +#define MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, \ + _of_reg, _match) \ { \ .name = (_name), \ .resources = (_res), \ @@ -22,24 +25,32 @@ .platform_data = (_pdata), \ .pdata_size = (_pdsize), \ .of_compatible = (_compat), \ + .of_reg = (_of_reg), \ .acpi_match = (_match), \ .id = (_id), \ } +#define OF_MFD_CELL_REG(_name, _res, _pdata, _pdsize, _id, _compat, \ + _of_reg) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, \ + ((_of_reg) | MFD_OF_REG_VALID), NULL) \ + #define OF_MFD_CELL(_name, _res, _pdata, _pdsize,_id, _compat) \ - MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, NULL) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, \ + 0, NULL) \ #define ACPI_MFD_CELL(_name, _res, _pdata, _pdsize, _id, _match) \ - MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, _match) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, 0, \ + _match) \ #define MFD_CELL_BASIC(_name, _res, _pdata, _pdsize, _id) \ - MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, NULL) \ + MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, 0, NULL) \ #define MFD_CELL_RES(_name, _res) \ - MFD_CELL_ALL(_name, _res, NULL, 0, 0, NULL, NULL) \ + MFD_CELL_ALL(_name, _res, NULL, 0, 0, NULL, 0, NULL) \ #define MFD_CELL_NAME(_name) \ - MFD_CELL_ALL(_name, NULL, NULL, 0, 0, NULL, NULL) \ + MFD_CELL_ALL(_name, NULL, NULL, 0, 0, NULL, 0, NULL) \ struct irq_domain; struct property_entry; @@ -78,6 +89,9 @@ struct mfd_cell { */ const char *of_compatible; + /* matching the reg property if set */ + unsigned int of_reg; + /* Matches ACPI */ const struct mfd_cell_acpi_match *acpi_match; -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-04-23 17:47 UTC|newest] Thread overview: 177+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-23 17:45 [PATCH v3 00/16] Add support for Kontron sl28cpld Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 01/16] include/linux/ioport.h: add helper to define REG resource constructs Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 02/16] mfd: mfd-core: Don't overwrite the dma_mask of the child device Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-28 12:45 ` Andy Shevchenko 2020-04-28 12:45 ` Andy Shevchenko 2020-04-28 12:45 ` Andy Shevchenko 2020-04-28 13:06 ` Robin Murphy 2020-04-28 13:06 ` Robin Murphy 2020-04-28 13:06 ` Robin Murphy 2020-04-28 14:29 ` Andy Shevchenko 2020-04-28 14:29 ` Andy Shevchenko 2020-04-28 14:29 ` Andy Shevchenko 2020-04-28 14:49 ` Robin Murphy 2020-04-28 14:49 ` Robin Murphy 2020-04-28 14:49 ` Robin Murphy 2020-04-28 15:25 ` Mark Brown 2020-04-28 15:25 ` Mark Brown 2020-04-28 15:25 ` Mark Brown 2020-05-14 20:45 ` Michael Walle 2020-05-14 20:45 ` Michael Walle 2020-05-14 20:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle [this message] 2020-04-23 17:45 ` [PATCH v3 03/16] mfd: mfd-core: match device tree node against reg property Michael Walle 2020-04-29 22:18 ` Michael Walle 2020-04-29 22:18 ` Michael Walle 2020-04-29 22:18 ` Michael Walle 2020-05-15 10:28 ` Lee Jones 2020-05-15 10:28 ` Lee Jones 2020-05-15 10:28 ` Lee Jones 2020-05-25 17:36 ` Michael Walle 2020-05-25 17:36 ` Michael Walle 2020-05-25 17:36 ` Michael Walle 2020-05-26 7:24 ` Lee Jones 2020-05-26 7:24 ` Lee Jones 2020-05-26 7:24 ` Lee Jones 2020-05-26 15:54 ` Michael Walle 2020-05-26 15:54 ` Michael Walle 2020-05-26 15:54 ` Michael Walle 2020-05-26 16:03 ` Andy Shevchenko 2020-05-26 16:03 ` Andy Shevchenko 2020-05-26 16:03 ` Andy Shevchenko 2020-05-27 6:53 ` Lee Jones 2020-05-27 6:53 ` Lee Jones 2020-05-27 6:53 ` Lee Jones 2020-06-08 14:24 ` Lee Jones 2020-06-08 14:24 ` Lee Jones 2020-06-08 14:24 ` Lee Jones 2020-06-08 15:21 ` Michael Walle 2020-06-08 15:21 ` Michael Walle 2020-06-08 15:21 ` Michael Walle 2020-06-08 18:45 ` Lee Jones 2020-06-08 18:45 ` Lee Jones 2020-06-08 18:45 ` Lee Jones 2020-04-23 17:45 ` [PATCH v3 04/16] dt-bindings: mfd: Add bindings for sl28cpld Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-28 12:48 ` Andy Shevchenko 2020-04-28 12:48 ` Andy Shevchenko 2020-04-28 12:48 ` Andy Shevchenko 2020-04-28 14:39 ` Michael Walle 2020-04-28 14:39 ` Michael Walle 2020-04-28 14:39 ` Michael Walle 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-23 17:45 ` [PATCH v3 05/16] mfd: Add support for Kontron sl28cpld management controller Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-28 12:50 ` Andy Shevchenko 2020-04-28 12:50 ` Andy Shevchenko 2020-04-28 12:50 ` Andy Shevchenko 2020-04-28 14:43 ` Michael Walle 2020-04-28 14:43 ` Michael Walle 2020-04-28 14:43 ` Michael Walle 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-29 6:27 ` Lee Jones 2020-04-29 6:27 ` Lee Jones 2020-04-29 6:27 ` Lee Jones 2020-05-11 21:13 ` Rob Herring 2020-05-11 21:13 ` Rob Herring 2020-05-11 21:13 ` Rob Herring 2020-05-11 21:44 ` Michael Walle 2020-05-11 21:44 ` Michael Walle 2020-05-11 21:44 ` Michael Walle 2020-05-11 22:29 ` Michael Walle 2020-05-11 22:29 ` Michael Walle 2020-05-11 22:29 ` Michael Walle 2020-05-12 21:59 ` Rob Herring 2020-05-12 21:59 ` Rob Herring 2020-05-12 21:59 ` Rob Herring 2020-05-13 22:15 ` Michael Walle 2020-05-13 22:15 ` Michael Walle 2020-05-13 22:15 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 06/16] irqchip: add sl28cpld interrupt controller support Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-27 11:40 ` Thomas Gleixner 2020-04-27 11:40 ` Thomas Gleixner 2020-04-27 11:40 ` Thomas Gleixner 2020-04-27 17:40 ` Michael Walle 2020-04-27 17:40 ` Michael Walle 2020-04-27 17:40 ` Michael Walle 2020-04-27 17:44 ` Mark Brown 2020-04-27 17:44 ` Mark Brown 2020-04-27 17:44 ` Mark Brown 2020-04-27 18:01 ` Michael Walle 2020-04-27 18:01 ` Michael Walle 2020-04-27 18:01 ` Michael Walle 2020-04-27 18:05 ` Mark Brown 2020-04-27 18:05 ` Mark Brown 2020-04-27 18:05 ` Mark Brown 2020-04-27 19:00 ` Thomas Gleixner 2020-04-27 19:00 ` Thomas Gleixner 2020-04-27 19:00 ` Thomas Gleixner 2020-04-23 17:45 ` [PATCH v3 07/16] watchdog: add support for sl28cpld watchdog Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-25 17:02 ` Guenter Roeck 2020-04-25 17:02 ` Guenter Roeck 2020-04-23 17:45 ` [PATCH v3 08/16] pwm: add support for sl28cpld PWM controller Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-05-11 20:45 ` Rob Herring 2020-05-11 20:45 ` Rob Herring 2020-05-11 20:45 ` Rob Herring 2020-04-23 17:45 ` [PATCH v3 09/16] gpiolib: Introduce gpiochip_irqchip_add_domain() Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-27 11:42 ` Thomas Gleixner 2020-04-27 11:42 ` Thomas Gleixner 2020-04-27 11:42 ` Thomas Gleixner 2020-04-27 17:49 ` Michael Walle 2020-04-27 17:49 ` Michael Walle 2020-04-27 17:49 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 10/16] gpio: add a reusable generic gpio_chip using regmap Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-05-12 12:48 ` Bartosz Golaszewski 2020-05-12 12:48 ` Bartosz Golaszewski 2020-05-12 12:48 ` Bartosz Golaszewski 2020-05-12 14:41 ` Michael Walle 2020-05-12 14:41 ` Michael Walle 2020-05-12 14:41 ` Michael Walle 2020-05-25 9:05 ` Bartosz Golaszewski 2020-05-25 9:05 ` Bartosz Golaszewski 2020-05-25 9:05 ` Bartosz Golaszewski 2020-05-25 10:20 ` Michael Walle 2020-05-25 10:20 ` Michael Walle 2020-05-25 10:20 ` Michael Walle 2020-05-25 12:59 ` Linus Walleij 2020-05-25 12:59 ` Linus Walleij 2020-05-25 12:59 ` Linus Walleij 2020-05-25 13:25 ` Andy Shevchenko 2020-05-25 13:25 ` Andy Shevchenko 2020-05-25 13:25 ` Andy Shevchenko 2020-04-23 17:45 ` [PATCH v3 11/16] gpio: add support for the sl28cpld GPIO controller Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-27 11:45 ` Thomas Gleixner 2020-04-27 11:45 ` Thomas Gleixner 2020-04-27 11:45 ` Thomas Gleixner 2020-04-27 17:58 ` Michael Walle 2020-04-27 17:58 ` Michael Walle 2020-04-27 17:58 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 12/16] hwmon: add support for the sl28cpld hardware monitoring controller Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 13/16] arm64: dts: freescale: sl28: enable sl28cpld Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 14/16] arm64: dts: freescale: sl28: map GPIOs to input events Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 15/16] arm64: dts: freescale: sl28: enable LED support Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 16/16] arm64: dts: freescale: sl28: enable fan support Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle
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=20200423174543.17161-4-michael@walle.cc \ --to=michael@walle.cc \ --cc=andriy.shevchenko@linux.intel.com \ --cc=bgolaszewski@baylibre.com \ --cc=broonie@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=jason@lakedaemon.net \ --cc=jdelvare@suse.com \ --cc=lee.jones@linaro.org \ --cc=leoyang.li@nxp.com \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-hwmon@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pwm@vger.kernel.org \ --cc=linux-watchdog@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=maz@kernel.org \ --cc=robh+dt@kernel.org \ --cc=shawnguo@kernel.org \ --cc=tglx@linutronix.de \ --cc=thierry.reding@gmail.com \ --cc=u.kleine-koenig@pengutronix.de \ --cc=wim@linux-watchdog.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: linkBe 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.