]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/commitdiff
staging:iio:adt7410: use local platformdata if none is specified
authorSascha Hauer <s.hauer@pengutronix.de>
Tue, 3 Jul 2012 09:27:53 +0000 (11:27 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sun, 8 Jul 2012 09:39:59 +0000 (10:39 +0100)
The adt7410 expects information about an irq in platform_data.
The driver can work without an irq, so make platform_data optional
by specifying a dummy platform_data if the device has none.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/adc/adt7410.c

index 1a4197013e9ba7c6c2bf519e5499b8d71e6b7515..42fe2c8c49f3b65b913c504abd407ede23475a8c 100644 (file)
@@ -720,6 +720,7 @@ static int __devinit adt7410_probe(struct i2c_client *client,
        struct iio_dev *indio_dev;
        int ret = 0;
        unsigned long *adt7410_platform_data = client->dev.platform_data;
+       unsigned long local_pdata[] = {0, 0};
 
        indio_dev = iio_device_alloc(sizeof(*chip));
        if (indio_dev == NULL) {
@@ -737,6 +738,9 @@ static int __devinit adt7410_probe(struct i2c_client *client,
        indio_dev->info = &adt7410_info;
        indio_dev->modes = INDIO_DIRECT_MODE;
 
+       if (!adt7410_platform_data)
+               adt7410_platform_data = local_pdata;
+
        /* CT critcal temperature event. line 0 */
        if (client->irq) {
                ret = request_threaded_irq(client->irq,