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