On 08/19/11 14:38, Jonathan Cameron wrote: > On 08/19/11 13:41, michael.hennerich@xxxxxxxxxx wrote: >> From: Michael Hennerich <michael.hennerich@xxxxxxxxxx> >> >> The AD7150 features two outputs that can be used as interrupt strobes >> to the host processor. In order to receive all events independently, >> both need to utilized. >> >> Update copyright notice. > > Looks sane. I'll pull it into capfun for now. >> >> Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> > Acked-by: Jonathan Cameron <jic23@xxxxxxxxx> >> --- >> drivers/staging/iio/adc/ad7150.c | 33 +++++++++++++++++++++------------ >> 1 files changed, 21 insertions(+), 12 deletions(-) >> >> diff --git a/drivers/staging/iio/adc/ad7150.c b/drivers/staging/iio/adc/ad7150.c >> index 4bc5b20..711e8b1 100644 >> --- a/drivers/staging/iio/adc/ad7150.c >> +++ b/drivers/staging/iio/adc/ad7150.c >> @@ -1,7 +1,7 @@ >> /* >> * AD7150 capacitive sensor driver supporting AD7150/1/6 >> * >> - * Copyright 2010 Analog Devices Inc. >> + * Copyright 2010-2011 Analog Devices Inc. >> * >> * Licensed under the GPL-2 or later. >> */ >> @@ -45,14 +45,6 @@ >> #define AD7150_SN0 22 >> #define AD7150_ID 23 >> >> -#define AD7150_MAX_CONV_MODE 4 >> - >> -/** >> - * Todo list: >> - * - Review whether old_state usage makes sense. >> - * - get rid of explicit control of conversion mode >> - */ >> - >> /** >> * struct ad7150_chip_info - instance specific chip data >> * @client: i2c client for this device >> @@ -596,17 +588,30 @@ static int __devinit ad7150_probe(struct i2c_client *client, >> &ad7150_event_handler, >> IRQF_TRIGGER_RISING | >> IRQF_TRIGGER_FALLING, >> - "ad7150", >> + "ad7150_irq1", >> indio_dev); >> if (ret) >> goto error_free_dev; >> } >> >> + if (client->dev.platform_data) { >> + ret = request_threaded_irq(client->dev.platform_data, Small query here - should this be *client->dev.platform_data? (that's the fixup I've just merged) >> + NULL, >> + &ad7150_event_handler, >> + IRQF_TRIGGER_RISING | >> + IRQF_TRIGGER_FALLING, >> + "ad7150_irq2", >> + indio_dev); >> + if (ret) >> + goto error_free_irq; >> + } >> + >> dev_info(&client->dev, "%s capacitive sensor registered,irq: %d\n", >> id->name, client->irq); >> >> return 0; >> - >> +error_free_irq: >> + free_irq(client->irq, indio_dev); >> error_free_dev: >> if (regdone) >> iio_device_unregister(indio_dev); >> @@ -622,6 +627,10 @@ static int __devexit ad7150_remove(struct i2c_client *client) >> >> if (client->irq) >> free_irq(client->irq, indio_dev); >> + >> + if (client->dev.platform_data) >> + free_irq(client->dev.platform_data, indio_dev); >> + >> iio_device_unregister(indio_dev); >> >> return 0; >> @@ -656,7 +665,7 @@ static __exit void ad7150_exit(void) >> } >> >> MODULE_AUTHOR("Barry Song <21cnbao@xxxxxxxxx>"); >> -MODULE_DESCRIPTION("Analog Devices ad7150/1/6 capacitive sensor driver"); >> +MODULE_DESCRIPTION("Analog Devices AD7150/1/6 capacitive sensor driver"); >> MODULE_LICENSE("GPL v2"); >> >> module_init(ad7150_init); > > -- > 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 > -- 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