From: Jonathan Cameron <jic23@kernel.org>
To: "Antonio Fiol Bonnín" <antonio@fiol.es>,
"Peter Meerwald" <pmeerw@pmeerw.net>
Cc: linux-iio <linux-iio@vger.kernel.org>, Roland Stigge <stigge@antcom.de>
Subject: Re: [RESEND PATCH] iio: max517: Add support for MAX520 and MAX521 chips.
Date: Sat, 21 Feb 2015 18:45:30 +0000 [thread overview]
Message-ID: <54E8D24A.4040309@kernel.org> (raw)
In-Reply-To: <CAEmm_Tb8Tfw8==UD8XT0rg1vkqCdVOTw_X8uvG4h=dF+hyhxxg@mail.gmail.com>
On 20/02/15 07:18, Antonio Fiol Bonnín wrote:
> MAX520 and MAX521 are protocol-compatible with the already supported
> chips, just have more channels.
>
> Signed-off-by: Antonio Fiol <antonio@fiol.es>
The patch is good, however your email client has gone and replaced
all the tabs with spaces which is a real pain to fix up.
If you can't persuade the email client not to do this (guidelines on
this in Documentation/email-client.txt) then please just attach the
output of git format-patch as an attachment. For one off patches,
maintainers don't complain too much about this, but if you want to
send lots in the future, then please figure out how to fix your
mail client.
Jonathan
> ---
> drivers/iio/dac/Kconfig | 11 ++++++++---
> drivers/iio/dac/max517.c | 45 +++++++++++++++++++++++++++++++-----------
> include/linux/iio/dac/max517.h | 2 +-
> 3 files changed, 42 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/iio/dac/Kconfig b/drivers/iio/dac/Kconfig
> index 2236ea2..13471a7 100644
> --- a/drivers/iio/dac/Kconfig
> +++ b/drivers/iio/dac/Kconfig
> @@ -143,11 +143,16 @@ config AD7303
> ad7303.
>
> config MAX517
> - tristate "Maxim MAX517/518/519 DAC driver"
> + tristate "Maxim MAX517/518/519/520/521 DAC driver"
> depends on I2C
> help
> - If you say yes here you get support for the Maxim chips MAX517,
> - MAX518 and MAX519 (I2C 8-Bit DACs with rail-to-rail outputs).
> + If you say yes here you get support for the following Maxim chips
> + (I2C 8-Bit DACs with rail-to-rail outputs):
> + MAX517 - Single channel, single reference
> + MAX518 - Dual channel, ref=Vdd
> + MAX519 - Dual channel, dual reference
> + MAX520 - Quad channel, quad reference
> + MAX521 - Octal channel, independent ref for ch0-3, shared ref for ch4-7
>
> This driver can also be built as a module. If so, the module
> will be called max517.
> diff --git a/drivers/iio/dac/max517.c b/drivers/iio/dac/max517.c
> index 9a82a72..5507b39 100644
> --- a/drivers/iio/dac/max517.c
> +++ b/drivers/iio/dac/max517.c
> @@ -39,11 +39,13 @@ enum max517_device_ids {
> ID_MAX517,
> ID_MAX518,
> ID_MAX519,
> + ID_MAX520,
> + ID_MAX521,
> };
>
> struct max517_data {
> struct i2c_client *client;
> - unsigned short vref_mv[2];
> + unsigned short vref_mv[8];
> };
>
> /*
> @@ -149,7 +151,13 @@ static const struct iio_info max517_info = {
>
> static const struct iio_chan_spec max517_channels[] = {
> MAX517_CHANNEL(0),
> - MAX517_CHANNEL(1)
> + MAX517_CHANNEL(1),
> + MAX517_CHANNEL(2),
> + MAX517_CHANNEL(3),
> + MAX517_CHANNEL(4),
> + MAX517_CHANNEL(5),
> + MAX517_CHANNEL(6),
> + MAX517_CHANNEL(7),
> };
>
> static int max517_probe(struct i2c_client *client,
> @@ -158,6 +166,7 @@ static int max517_probe(struct i2c_client *client,
> struct max517_data *data;
> struct iio_dev *indio_dev;
> struct max517_platform_data *platform_data = client->dev.platform_data;
> + int chan;
>
> indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> if (!indio_dev)
> @@ -169,11 +178,21 @@ static int max517_probe(struct i2c_client *client,
> /* establish that the iio_dev is a child of the i2c device */
> indio_dev->dev.parent = &client->dev;
>
> - /* reduced channel set for MAX517 */
> - if (id->driver_data == ID_MAX517)
> - indio_dev->num_channels = 1;
> - else
> + switch (id->driver_data) {
> + case ID_MAX521:
> + indio_dev->num_channels = 8;
> + break;
> + case ID_MAX520:
> + indio_dev->num_channels = 4;
> + break;
> + case ID_MAX519:
> + case ID_MAX518:
> indio_dev->num_channels = 2;
> + break;
> + default: /* single channel for MAX517 */
> + indio_dev->num_channels = 1;
> + break;
> + }
> indio_dev->channels = max517_channels;
> indio_dev->modes = INDIO_DIRECT_MODE;
> indio_dev->info = &max517_info;
> @@ -182,11 +201,11 @@ static int max517_probe(struct i2c_client *client,
> * Reference voltage on MAX518 and default is 5V, else take vref_mv
> * from platform_data
> */
> - if (id->driver_data == ID_MAX518 || !platform_data) {
> - data->vref_mv[0] = data->vref_mv[1] = 5000; /* mV */
> - } else {
> - data->vref_mv[0] = platform_data->vref_mv[0];
> - data->vref_mv[1] = platform_data->vref_mv[1];
> + for (chan = 0; chan < indio_dev->num_channels; chan++) {
> + if (id->driver_data == ID_MAX518 || !platform_data)
> + data->vref_mv[chan] = 5000; /* mV */
> + else
> + data->vref_mv[chan] = platform_data->vref_mv[chan];
> }
>
> return iio_device_register(indio_dev);
> @@ -202,6 +221,8 @@ static const struct i2c_device_id max517_id[] = {
> { "max517", ID_MAX517 },
> { "max518", ID_MAX518 },
> { "max519", ID_MAX519 },
> + { "max520", ID_MAX520 },
> + { "max521", ID_MAX521 },
> { }
> };
> MODULE_DEVICE_TABLE(i2c, max517_id);
> @@ -218,5 +239,5 @@ static struct i2c_driver max517_driver = {
> module_i2c_driver(max517_driver);
>
> MODULE_AUTHOR("Roland Stigge <stigge@antcom.de>");
> -MODULE_DESCRIPTION("MAX517/MAX518/MAX519 8-bit DAC");
> +MODULE_DESCRIPTION("MAX517/518/519/520/521 8-bit DAC");
> MODULE_LICENSE("GPL");
> diff --git a/include/linux/iio/dac/max517.h b/include/linux/iio/dac/max517.h
> index f6d1d25..7668716 100644
> --- a/include/linux/iio/dac/max517.h
> +++ b/include/linux/iio/dac/max517.h
> @@ -9,7 +9,7 @@
> #define IIO_DAC_MAX517_H_
>
> struct max517_platform_data {
> - u16 vref_mv[2];
> + u16 vref_mv[8];
> };
>
> #endif /* IIO_DAC_MAX517_H_ */
>
next prev parent reply other threads:[~2015-02-21 18:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-20 7:18 [RESEND PATCH] iio: max517: Add support for MAX520 and MAX521 chips Antonio Fiol Bonnín
2015-02-21 18:45 ` Jonathan Cameron [this message]
2015-03-21 12:54 ` Jonathan Cameron
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=54E8D24A.4040309@kernel.org \
--to=jic23@kernel.org \
--cc=antonio@fiol.es \
--cc=linux-iio@vger.kernel.org \
--cc=pmeerw@pmeerw.net \
--cc=stigge@antcom.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).