From: Jonathan Cameron <jic23@kernel.org>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: Hartmut Knaack <knaack.h@gmx.de>,
Lars-Peter Clausen <lars@metafoo.de>,
Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
kernel@pengutronix.de, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org,
Maxime Roussin-Belanger <maxime.roussinbelanger@gmail.com>,
Silvan Murer <silvan.murer@gmail.com>
Subject: Re: [PATCH 3/3] iio: dac: ltc2632: add support for LTC2636 family
Date: Thu, 6 Feb 2020 10:54:53 +0000 [thread overview]
Message-ID: <20200206105453.1d99b6ed@archlinux> (raw)
In-Reply-To: <20200202095428.238af727@archlinux>
On Sun, 2 Feb 2020 09:54:28 +0000
Jonathan Cameron <jic23@kernel.org> wrote:
> On Thu, 30 Jan 2020 14:15:49 +0100
> Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:
>
> > The only difference between LTC2632 and LTC2636 is that the former has
> > two DAC channels while the latter has eight.
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Looks good to me. I'd like to give a little time for Maxime and Silvan
> to have a look if they wish.
>
> If I seem to have lost this in a few weeks, give me a poke!
Applied thanks,
Jonathan
>
> Thanks,
>
> Jonathan
>
> > ---
> > drivers/iio/dac/Kconfig | 5 ++-
> > drivers/iio/dac/ltc2632.c | 77 +++++++++++++++++++++++++++++++++++++--
> > 2 files changed, 77 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/iio/dac/Kconfig b/drivers/iio/dac/Kconfig
> > index cc42219a64f7..33a35ebe4fed 100644
> > --- a/drivers/iio/dac/Kconfig
> > +++ b/drivers/iio/dac/Kconfig
> > @@ -132,11 +132,12 @@ config LTC1660
> > module will be called ltc1660.
> >
> > config LTC2632
> > - tristate "Linear Technology LTC2632-12/10/8 DAC spi driver"
> > + tristate "Linear Technology LTC2632-12/10/8 and LTC2636-12/10/8 DAC spi driver"
> > depends on SPI
> > help
> > Say yes here to build support for Linear Technology
> > - LTC2632-12, LTC2632-10, LTC2632-8 converters (DAC).
> > + LTC2632-12, LTC2632-10, LTC2632-8, LTC2636-12, LTC2636-10 and
> > + LTC2636-8 converters (DAC).
> >
> > To compile this driver as a module, choose M here: the
> > module will be called ltc2632.
> > diff --git a/drivers/iio/dac/ltc2632.c b/drivers/iio/dac/ltc2632.c
> > index 7ab92e178496..1e7ffa0f6071 100644
> > --- a/drivers/iio/dac/ltc2632.c
> > +++ b/drivers/iio/dac/ltc2632.c
> > @@ -12,8 +12,6 @@
> > #include <linux/iio/iio.h>
> > #include <linux/regulator/consumer.h>
> >
> > -#define LTC2632_DAC_CHANNELS 2
> > -
> > #define LTC2632_ADDR_DAC0 0x0
> > #define LTC2632_ADDR_DAC1 0x1
> >
> > @@ -33,6 +31,7 @@
> > */
> > struct ltc2632_chip_info {
> > const struct iio_chan_spec *channels;
> > + const size_t num_channels;
> > const int vref_mv;
> > };
> >
> > @@ -57,6 +56,12 @@ enum ltc2632_supported_device_ids {
> > ID_LTC2632H12,
> > ID_LTC2632H10,
> > ID_LTC2632H8,
> > + ID_LTC2636L12,
> > + ID_LTC2636L10,
> > + ID_LTC2636L8,
> > + ID_LTC2636H12,
> > + ID_LTC2636H10,
> > + ID_LTC2636H8,
> > };
> >
> > static int ltc2632_spi_write(struct spi_device *spi,
> > @@ -190,6 +195,12 @@ static const struct iio_chan_spec_ext_info ltc2632_ext_info[] = {
> > const struct iio_chan_spec _name ## _channels[] = { \
> > LTC2632_CHANNEL(0, _bits), \
> > LTC2632_CHANNEL(1, _bits), \
> > + LTC2632_CHANNEL(2, _bits), \
> > + LTC2632_CHANNEL(3, _bits), \
> > + LTC2632_CHANNEL(4, _bits), \
> > + LTC2632_CHANNEL(5, _bits), \
> > + LTC2632_CHANNEL(6, _bits), \
> > + LTC2632_CHANNEL(7, _bits), \
> > }
> >
> > static DECLARE_LTC2632_CHANNELS(ltc2632x12, 12);
> > @@ -199,26 +210,62 @@ static DECLARE_LTC2632_CHANNELS(ltc2632x8, 8);
> > static const struct ltc2632_chip_info ltc2632_chip_info_tbl[] = {
> > [ID_LTC2632L12] = {
> > .channels = ltc2632x12_channels,
> > + .num_channels = 2,
> > .vref_mv = 2500,
> > },
> > [ID_LTC2632L10] = {
> > .channels = ltc2632x10_channels,
> > + .num_channels = 2,
> > .vref_mv = 2500,
> > },
> > [ID_LTC2632L8] = {
> > .channels = ltc2632x8_channels,
> > + .num_channels = 2,
> > .vref_mv = 2500,
> > },
> > [ID_LTC2632H12] = {
> > .channels = ltc2632x12_channels,
> > + .num_channels = 2,
> > .vref_mv = 4096,
> > },
> > [ID_LTC2632H10] = {
> > .channels = ltc2632x10_channels,
> > + .num_channels = 2,
> > .vref_mv = 4096,
> > },
> > [ID_LTC2632H8] = {
> > .channels = ltc2632x8_channels,
> > + .num_channels = 2,
> > + .vref_mv = 4096,
> > + },
> > + [ID_LTC2636L12] = {
> > + .channels = ltc2632x12_channels,
> > + .num_channels = 8,
> > + .vref_mv = 2500,
> > + },
> > + [ID_LTC2636L10] = {
> > + .channels = ltc2632x10_channels,
> > + .num_channels = 8,
> > + .vref_mv = 2500,
> > + },
> > + [ID_LTC2636L8] = {
> > + .channels = ltc2632x8_channels,
> > + .num_channels = 8,
> > + .vref_mv = 2500,
> > + },
> > + [ID_LTC2636H12] = {
> > + .channels = ltc2632x12_channels,
> > + .num_channels = 8,
> > + .vref_mv = 4096,
> > + },
> > + [ID_LTC2636H10] = {
> > + .channels = ltc2632x10_channels,
> > + .num_channels = 8,
> > + .vref_mv = 4096,
> > + },
> > + [ID_LTC2636H8] = {
> > + .channels = ltc2632x8_channels,
> > + .num_channels = 8,
> > .vref_mv = 4096,
> > },
> > };
> > @@ -287,7 +334,7 @@ static int ltc2632_probe(struct spi_device *spi)
> > indio_dev->info = <c2632_info;
> > indio_dev->modes = INDIO_DIRECT_MODE;
> > indio_dev->channels = chip_info->channels;
> > - indio_dev->num_channels = LTC2632_DAC_CHANNELS;
> > + indio_dev->num_channels = chip_info->num_channels;
> >
> > return iio_device_register(indio_dev);
> > }
> > @@ -312,6 +359,12 @@ static const struct spi_device_id ltc2632_id[] = {
> > { "ltc2632-h12", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2632H12] },
> > { "ltc2632-h10", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2632H10] },
> > { "ltc2632-h8", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2632H8] },
> > + { "ltc2636-l12", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2636L12] },
> > + { "ltc2636-l10", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2636L10] },
> > + { "ltc2636-l8", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2636L8] },
> > + { "ltc2636-h12", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2636H12] },
> > + { "ltc2636-h10", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2636H10] },
> > + { "ltc2636-h8", (kernel_ulong_t)<c2632_chip_info_tbl[ID_LTC2636H8] },
> > {}
> > };
> > MODULE_DEVICE_TABLE(spi, ltc2632_id);
> > @@ -335,6 +388,24 @@ static const struct of_device_id ltc2632_of_match[] = {
> > }, {
> > .compatible = "lltc,ltc2632-h8",
> > .data = <c2632_chip_info_tbl[ID_LTC2632H8]
> > + }, {
> > + .compatible = "lltc,ltc2636-l12",
> > + .data = <c2632_chip_info_tbl[ID_LTC2636L12]
> > + }, {
> > + .compatible = "lltc,ltc2636-l10",
> > + .data = <c2632_chip_info_tbl[ID_LTC2636L10]
> > + }, {
> > + .compatible = "lltc,ltc2636-l8",
> > + .data = <c2632_chip_info_tbl[ID_LTC2636L8]
> > + }, {
> > + .compatible = "lltc,ltc2636-h12",
> > + .data = <c2632_chip_info_tbl[ID_LTC2636H12]
> > + }, {
> > + .compatible = "lltc,ltc2636-h10",
> > + .data = <c2632_chip_info_tbl[ID_LTC2636H10]
> > + }, {
> > + .compatible = "lltc,ltc2636-h8",
> > + .data = <c2632_chip_info_tbl[ID_LTC2636H8]
> > },
> > {}
> > };
>
next prev parent reply other threads:[~2020-02-06 10:55 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-30 13:15 [PATCH 1/3] dt-bindings: iio: ltc2632: expand for ltc2636 support Uwe Kleine-König
2020-01-30 13:15 ` [PATCH 2/3] iio: dac: ltc2632: drop some duplicated data Uwe Kleine-König
2020-02-06 10:54 ` Jonathan Cameron
2020-01-30 13:15 ` [PATCH 3/3] iio: dac: ltc2632: add support for LTC2636 family Uwe Kleine-König
2020-02-02 9:54 ` Jonathan Cameron
2020-02-06 10:54 ` Jonathan Cameron [this message]
2020-02-02 9:52 ` [PATCH 1/3] dt-bindings: iio: ltc2632: expand for ltc2636 support Jonathan Cameron
2020-02-06 10:42 ` Jonathan Cameron
2020-02-03 20:31 ` [PATCH 4/3] iio: dac: ltc2632: remove some unused defines Uwe Kleine-König
2020-02-06 10:29 ` Jonathan Cameron
2020-02-06 10:34 ` Uwe Kleine-König
2020-02-06 10:44 ` Jonathan Cameron
2020-02-25 9:32 ` Uwe Kleine-König
2020-03-07 11:17 ` Jonathan Cameron
2020-02-06 18:11 ` [PATCH 1/3] dt-bindings: iio: ltc2632: expand for ltc2636 support Rob Herring
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=20200206105453.1d99b6ed@archlinux \
--to=jic23@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@pengutronix.de \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maxime.roussinbelanger@gmail.com \
--cc=pmeerw@pmeerw.net \
--cc=robh+dt@kernel.org \
--cc=silvan.murer@gmail.com \
--cc=u.kleine-koenig@pengutronix.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).