Re: [PATCH 1/2] iio: dac: mcp4922: add support to mcp4921
From: Jonathan Cameron
Date: Sat Jun 25 2022 - 07:05:40 EST
On Fri, 24 Jun 2022 11:56:17 +0200
Kory Maincent <kory.maincent@xxxxxxxxxxx> wrote:
> Add support to mcp4921 which has only one output channel.
>
> Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx>
Obviously not been on the list long, but as it 'seems' totally trivial
and has already gottten some review I'll queue it up now anyway.
Series applied to the togreg branch of iio.git.
Thanks,
Jonathan
> ---
> drivers/iio/dac/mcp4922.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/dac/mcp4922.c b/drivers/iio/dac/mcp4922.c
> index cb9e60e71b91..0d41c0f25515 100644
> --- a/drivers/iio/dac/mcp4922.c
> +++ b/drivers/iio/dac/mcp4922.c
> @@ -17,10 +17,12 @@
> #include <linux/bitops.h>
>
> #define MCP4922_NUM_CHANNELS 2
> +#define MCP4921_NUM_CHANNELS 1
>
> enum mcp4922_supported_device_ids {
> ID_MCP4902,
> ID_MCP4912,
> + ID_MCP4921,
> ID_MCP4922,
> };
>
> @@ -105,9 +107,10 @@ static int mcp4922_write_raw(struct iio_dev *indio_dev,
> }
> }
>
> -static const struct iio_chan_spec mcp4922_channels[3][MCP4922_NUM_CHANNELS] = {
> +static const struct iio_chan_spec mcp4922_channels[4][MCP4922_NUM_CHANNELS] = {
> [ID_MCP4902] = { MCP4922_CHAN(0, 8), MCP4922_CHAN(1, 8) },
> [ID_MCP4912] = { MCP4922_CHAN(0, 10), MCP4922_CHAN(1, 10) },
> + [ID_MCP4921] = { MCP4922_CHAN(0, 12), {} },
> [ID_MCP4922] = { MCP4922_CHAN(0, 12), MCP4922_CHAN(1, 12) },
> };
>
> @@ -154,7 +157,10 @@ static int mcp4922_probe(struct spi_device *spi)
> indio_dev->info = &mcp4922_info;
> indio_dev->modes = INDIO_DIRECT_MODE;
> indio_dev->channels = mcp4922_channels[id->driver_data];
> - indio_dev->num_channels = MCP4922_NUM_CHANNELS;
> + if (id->driver_data == ID_MCP4921)
> + indio_dev->num_channels = MCP4921_NUM_CHANNELS;
> + else
> + indio_dev->num_channels = MCP4922_NUM_CHANNELS;
> indio_dev->name = id->name;
>
> ret = iio_device_register(indio_dev);
> @@ -185,6 +191,7 @@ static void mcp4922_remove(struct spi_device *spi)
> static const struct spi_device_id mcp4922_id[] = {
> {"mcp4902", ID_MCP4902},
> {"mcp4912", ID_MCP4912},
> + {"mcp4921", ID_MCP4921},
> {"mcp4922", ID_MCP4922},
> {}
> };