Re: [PATCH v2 3/4] iio: potentiometer: mcp4531: Add device tree binding
From: Florian Vaussard <hidden>
Date: 2016-06-27 05:52:37
Also in:
linux-iio, lkml
Hi Peter, Le 27. 06. 16 à 00:12, Peter Rosin a écrit :
Hi Florian, On 2016-06-26 22:22, Florian Vaussard wrote:quoted
This patch adds the necessary device tree binding to allow DT probing of currently supported parts. Signed-off-by: Florian Vaussard <florian.vaussard-EWQkb/GNqlFyDzI6CaY1VQ@public.gmane.org> --- drivers/iio/potentiometer/mcp4531.c | 273 +++++++++++++++++++++++++++++++++++- 1 file changed, 272 insertions(+), 1 deletion(-)diff --git a/drivers/iio/potentiometer/mcp4531.c b/drivers/iio/potentiometer/mcp4531.c index 2251173..bf7b853 100644 --- a/drivers/iio/potentiometer/mcp4531.c +++ b/drivers/iio/potentiometer/mcp4531.c@@ -31,6 +31,8 @@ #include <linux/module.h> #include <linux/i2c.h> #include <linux/err.h> +#include <linux/of.h> +#include <linux/of_device.h> #include <linux/iio/iio.h>@@ -188,12 +190,275 @@ static const struct iio_info mcp4531_info = { .driver_module = THIS_MODULE, }; +#ifdef CONFIG_OF +static const struct of_device_id mcp4531_of_match[] = { + { + .compatible = "microchip,mcp4531-502", + .data = &mcp4531_cfg[MCP453x_502] + },All this vertical whitespace makes this unreadable. I'd be happier with either ignoring the 80 char rule, or skipping the leading tab. I.e. { .compatible = "microchip,mcp4531-502", .data = &mcp4531_cfg[MCP453x_502] }, { .compatible = "microchip,mcp4531-103", .data = &mcp4531_cfg[MCP453x_103] }, { .compatible = "microchip,mcp4531-503", .data = &mcp4531_cfg[MCP453x_503] }, ... or { .compatible = "microchip,mcp4531-502", .data = &mcp4531_cfg[MCP453x_502] }, { .compatible = "microchip,mcp4531-103", .data = &mcp4531_cfg[MCP453x_103] }, { .compatible = "microchip,mcp4531-503", .data = &mcp4531_cfg[MCP453x_503] }, ... Or perhaps using a macro? #define MCP4531_COMPATIBLE(of_compatible, cfg) { \ .compatible = of_compatible, \ .data = &mcp4531_cfg[cfg], \ } and then MCP4531_COMPATIBLE("microchip,mcp4531-502", MCP453x_502), MCP4531_COMPATIBLE("microchip,mcp4531-103", MCP453x_103), MCP4531_COMPATIBLE("microchip,mcp4531-503", MCP453x_503), ... Pick any of those, and you have my ack. Maybe Jonathan has an opinion on which is best?
The macro is my preferred one, as it makes things easier to read. Jonathan? Thanks for the suggestion! Best, Florian