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]

 



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.

>>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