Re: [PATCH] staging: iio: dac: Add support for AD5541A, AD5512A digital to analog convertors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/19/10 14:51, Hennerich, Michael wrote:
> Jonathan Cameron wrote on 2010-11-19:
>> On 11/19/10 13:56, michael.hennerich@xxxxxxxxxx wrote:
>>> From: Michael Hennerich <michael.hennerich@xxxxxxxxxx>
>>>
>>> Looks fine to me.
> 
> This one is for a new driver, that you haven't reviewed yet.
lol. That kind of shows up that I never tested if it applies. Must be
getting lazy ;)
> 
>>> Signed-off-by: Michael Hennerich
>>> <michael.hennerich@xxxxxxxxxx> Acked-by: Jonathan Cameron
>>> <jic23@xxxxxxxxx> ---
>>>  drivers/staging/iio/dac/Kconfig  |    6 +++---
>>>  drivers/staging/iio/dac/ad5446.c |   27 +++++++++++++++++++++++++--
>>>  drivers/staging/iio/dac/ad5446.h |    2 ++
>>>  3 files changed, 30 insertions(+), 5 deletions(-)
>>> diff --git a/drivers/staging/iio/dac/Kconfig
>>> b/drivers/staging/iio/dac/Kconfig index 88914e9..9c497cc 100644
>>> --- a/drivers/staging/iio/dac/Kconfig
>>> +++ b/drivers/staging/iio/dac/Kconfig
>>> @@ -11,11 +11,11 @@ config AD5624R_SPI
>>>        AD5664R convertors (DAC). This driver uses the common SPI
>> interface.
>>>
>>>  config AD5446
>>> -    tristate "Analog Devices AD5444, AD5446 DAC SPI driver"
>>> +    tristate "Analog Devices AD5444, AD5446 and AD5541A, AD5512A DAC
>> SPI driver"
>>>      depends on SPI
>>>      help
>>> -      Say yes here to build support for Analog Devices AD5444 and AD5446
>>> -      multiplying DACs. +     Say yes here to build support for Analog
>>> Devices AD5444, AD5446 +       and AD5541A, AD5512A DACs.
>>>
>>>        To compile this driver as a module, choose M here: the
>>>        module will be called ad5446.
>>> diff --git a/drivers/staging/iio/dac/ad5446.c
>>> b/drivers/staging/iio/dac/ad5446.c
>>> index c70243a..154a7c2 100644
>>> --- a/drivers/staging/iio/dac/ad5446.c
>>> +++ b/drivers/staging/iio/dac/ad5446.c
>>> @@ -43,8 +43,17 @@ static ssize_t ad5446_write(struct device *dev,
>>>      }
>>>
>>>      mutex_lock(&dev_info->mlock);
>>> -    st->data = cpu_to_be16(AD5446_LOAD |
>>> -                           (val << st->chip_info->res_shift));
>>> +    switch (spi_get_device_id(st->spi)->driver_data) {
>>> +    case ID_AD5444:
>>> +    case ID_AD5446:
>>> +                    st->data = cpu_to_be16(AD5446_LOAD |
>>> +                                    (val << st->chip_info->res_shift));
>>> +                    break;
>>> +    case ID_AD5542A:
>>> +    case ID_AD5512A:
>>> +                    st->data = cpu_to_be16(val << st->chip_info-
>>> res_shift);
>>> +                    break;
>>> +    }
>>>
>>>      ret = spi_sync(st->spi, &st->msg);
>>>      mutex_unlock(&dev_info->mlock);
>>> @@ -103,6 +112,18 @@ static const struct ad5446_chip_info
>> ad5446_chip_info_tbl[] = {
>>>              .res_shift = 0,
>>>              .sign = 'u', /* IIO_SCAN_EL_TYPE_UNSIGNED */
>>>      },
>>> +    [ID_AD5542A] = {
>>> +            .bits = 16,
>>> +            .storagebits = 16,
>>> +            .res_shift = 0,
>>> +            .sign = 'u', /* IIO_SCAN_EL_TYPE_UNSIGNED */
>>> +    },
>>> +    [ID_AD5512A] = {
>>> +            .bits = 12,
>>> +            .storagebits = 16,
>>> +            .res_shift = 4,
>>> +            .sign = 'u', /* IIO_SCAN_EL_TYPE_UNSIGNED */
>>> +    },
>>>  };
>>>
>>>  static int __devinit ad5446_probe(struct spi_device *spi) @@ -196,6
>>> +217,8 @@ static int ad5446_remove(struct spi_device *spi)  static
>>> const struct spi_device_id ad5446_id[] = {
>>>      {"ad5444", ID_AD5444},
>>>      {"ad5446", ID_AD5446},
>>> +    {"ad5542a", ID_AD5542A},
>>> +    {"ad5512a", ID_AD5512A},
>>>      {}
>>>  };
>>> diff --git a/drivers/staging/iio/dac/ad5446.h
>>> b/drivers/staging/iio/dac/ad5446.h
>>> index 3456382..0a655f1 100644
>>> --- a/drivers/staging/iio/dac/ad5446.h
>>> +++ b/drivers/staging/iio/dac/ad5446.h
>>> @@ -39,6 +39,8 @@ struct ad5446_state {  enum
>>> ad5446_supported_device_ids {
>>>      ID_AD5444,
>>>      ID_AD5446,
>>> +    ID_AD5542A,
>>> +    ID_AD5512A,
>>>  };
>>>
>>>  #endif /* IIO_ADC_AD5446_H_ */
> 
> Greetings,
> Michael
> 
> --
> Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
> Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 4036 Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif
> 
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux