staging:iio:adc:ad7152 set correct number of channels for ad7153.
authorJonathan Cameron <jic23@cam.ac.uk>
Fri, 2 Sep 2011 16:25:24 +0000 (17:25 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 6 Sep 2011 23:03:27 +0000 (16:03 -0700)
Has been broken for some time.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/iio/adc/ad7152.c

index ed8fdc6b7e304e4ea5b8298ad49877812908802d..1ec012dfacc1e456aad08ad3e2b35e615f46c7a0 100644 (file)
@@ -402,6 +402,10 @@ static int __devinit ad7152_probe(struct i2c_client *client,
        indio_dev->dev.parent = &client->dev;
        indio_dev->info = &ad7152_info;
        indio_dev->channels = ad7152_channels;
+       if (id->driver_data == 0)
+               indio_dev->num_channels = ARRAY_SIZE(ad7152_channels);
+       else
+               indio_dev->num_channels = 1;
        indio_dev->num_channels = ARRAY_SIZE(ad7152_channels);
        indio_dev->modes = INDIO_DIRECT_MODE;
 
@@ -430,7 +434,7 @@ static int __devexit ad7152_remove(struct i2c_client *client)
 
 static const struct i2c_device_id ad7152_id[] = {
        { "ad7152", 0 },
-       { "ad7153", 0 },
+       { "ad7153", 1 },
        {}
 };