staging: iio: ad7816: Switch to the gpio descriptor interface
Subsystems (4)
v4 cover staging: iio: ad7816: Switch to the gpio descriptor interface
Changes in v4:
- Add all parts to the dt bindings as they
are functionally different.
Changes in v3:
- Drop busy pin in case of AD7818.
- Set RD/WR pin and CONVST pin as outputs.
- Add device tree table.
Nishad Kamdar (4):
staging: iio: ad7816: Switch to the gpio descriptor interface
staging: iio: ad7816: Do not use busy_pin in case of AD7818
staging: iio: ad7816: Set RD/WR pin and CONVST pin as outputs.
staging: iio: ad7816: Add device tree table.
drivers/staging/iio/adc/ad7816.c | 113 +++++++++++++++++-------------- 1 file changed, 62 insertions(+), 51 deletions(-)
Signature · 1 line
2.17.1
PATCH v4 4/4 staging: iio: ad7816: Add device tree table.
Add device tree table for matching vendor ID.
--- drivers/staging/iio/adc/ad7816.c | 9 +++++++++ 1 file changed, 9 insertions(+)
drivers/staging/iio/adc/ad7816.c +9 -0
@@ -422,6 +422,14 @@ static int ad7816_probe(struct spi_device *spi_dev)return 0 ; } +static const struct of_device_id ad7816_of_match[] = { + { .compatible ="adi,ad7816" , }, + { .compatible ="adi,ad7817" , }, + { .compatible ="adi,ad7818" , }, + { } +}; +MODULE_DEVICE_TABLE (of, ad7816_of_match); +static const struct spi_device_id ad7816_id[] = { {"ad7816" ,ID_AD7816 }, {"ad7817" ,ID_AD7817 },
@@ -434,6 +442,7 @@ MODULE_DEVICE_TABLE(spi, ad7816_id);static struct spi_driver ad7816_driver = { .driver = { .name ="ad7816" , + .of_match_table =of_match_ptr (ad7816_of_match), }, .probe = ad7816_probe, .id_table = ad7816_id,
Signature · 1 line
2.17.1
Re: [PATCH v4 4/4] staging: iio: ad7816: Add device tree table.
T24gV2VkLCAyMDE4LTExLTE0IGF0IDIzOjE2ICswNTMwLCBOaXNoYWQgS2FtZGFyIHdyb3RlOg0K PiBBZGQgZGV2aWNlIHRyZWUgdGFibGUgZm9yIG1hdGNoaW5nIHZlbmRvciBJRC4NCj4gDQoNClRo aXMgY291bGQgaGF2ZSBiZWVuIGp1c3Qgb25lIHBhdGNoLg0KU29tZXRoaW5nIGxpa2UgDQogICBb UEFUQ0ggdjRdIHN0YWdpbmc6IGlpbzogYWQ3ODE2OiBBZGQgZGV2aWNlIHRyZWUgdGFibGUuDQoN Ckl0J3Mgbm8gbG9uZ2VyIGEgc2VyaWVzLCBiZWNhdXNlIHRoZSBvdGhlciBwYXRjaGVzIHdlcmUg YXBwbGllZCBhbHJlYWR5Lg0KDQpJIGRvbid0IHRoaW5rIHlvdSBuZWVkIHRvIHJlLXNwaW4gdGhp cyBbaXQncyB1cCB0byBKb25hdGhhbiB0aG91Z2hdLg0KDQpJdCdzIGp1c3Qgc29tZXRoaW5nIHRv IGtlZXAgaW4gbWluZCBmb3IgbGF0ZXIgd2hlbiByZS1zcGlubmluZyBwYXRjaGVzIG9yDQpzZXJp ZXMgb2YgcGF0Y2hlcy4NCg0KQWxleA0KDQo+IFNpZ25lZC1vZmYtYnk6IE5pc2hhZCBLYW1kYXIg PG5pc2hhZGthbWRhckBnbWFpbC5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9zdGFnaW5nL2lpby9h ZGMvYWQ3ODE2LmMgfCA5ICsrKysrKysrKw0KPiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9u cygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9paW8vYWRjL2FkNzgxNi5j DQo+IGIvZHJpdmVycy9zdGFnaW5nL2lpby9hZGMvYWQ3ODE2LmMNCj4gaW5kZXggYTJmZWFkODVj ZDQ2Li45MjVmNzA4NmJjMDcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9paW8vYWRj L2FkNzgxNi5jDQo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9paW8vYWRjL2FkNzgxNi5jDQo+IEBA IC00MjIsNiArNDIyLDE0IEBAIHN0YXRpYyBpbnQgYWQ3ODE2X3Byb2JlKHN0cnVjdCBzcGlfZGV2 aWNlICpzcGlfZGV2KQ0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiAgDQo+ICtzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBhZDc4MTZfb2ZfbWF0Y2hbXSA9IHsNCj4gKwl7IC5jb21wYXRp YmxlID0gImFkaSxhZDc4MTYiLCB9LA0KPiArCXsgLmNvbXBhdGlibGUgPSAiYWRpLGFkNzgxNyIs IH0sDQo+ICsJeyAuY29tcGF0aWJsZSA9ICJhZGksYWQ3ODE4IiwgfSwNCj4gKwl7IH0NCj4gK307 DQo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBhZDc4MTZfb2ZfbWF0Y2gpOw0KPiArDQo+ICBz dGF0aWMgY29uc3Qgc3RydWN0IHNwaV9kZXZpY2VfaWQgYWQ3ODE2X2lkW10gPSB7DQo+ICAJeyAi YWQ3ODE2IiwgSURfQUQ3ODE2IH0sDQo+ICAJeyAiYWQ3ODE3IiwgSURfQUQ3ODE3IH0sDQo+IEBA IC00MzQsNiArNDQyLDcgQEAgTU9EVUxFX0RFVklDRV9UQUJMRShzcGksIGFkNzgxNl9pZCk7DQo+ ICBzdGF0aWMgc3RydWN0IHNwaV9kcml2ZXIgYWQ3ODE2X2RyaXZlciA9IHsNCj4gIAkuZHJpdmVy ID0gew0KPiAgCQkubmFtZSA9ICJhZDc4MTYiLA0KPiArCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9t YXRjaF9wdHIoYWQ3ODE2X29mX21hdGNoKSwNCj4gIAl9LA0KPiAgCS5wcm9iZSA9IGFkNzgxNl9w cm9iZSwNCj4gIAkuaWRfdGFibGUgPSBhZDc4MTZfaWQsDQo=
Re: [PATCH v4 4/4] staging: iio: ad7816: Add device tree table.
Quoted 8 lines · Alexandru
Quoted 2 lines · Nishad Kamdar
Add device tree table for matching vendor ID.
This could have been just one patch.
Something like
[PATCH v4] staging: iio: ad7816: Add device tree table.
Quoted 9 lines
It's no longer a series, because the other patches were applied already.
I don't think you need to re-spin this [it's up to Jonathan though].
It's just something to keep in mind for later when re-spinning patches or series of patches.
Alex
Ok. I'll keep that in mind.
Thanks for the review.
Regards,
Nishad
Quoted 33 lines
Quoted 33 lines
Signed-off-by Nishad Kamdar <[email protected]>--- drivers/staging/iio/adc/ad7816.c | 9 +++++++++ 1 file changed, 9 insertions(+)drivers/staging/iio/adc/ad7816.c +9
-0@@ -422,6 +422,14 @@ static int ad7816_probe(struct spi_device *spi_dev)return 0 ; } +static const struct of_device_id ad7816_of_match[] = { + { .compatible ="adi,ad7816" , }, + { .compatible ="adi,ad7817" , }, + { .compatible ="adi,ad7818" , }, + { } +}; +MODULE_DEVICE_TABLE (of, ad7816_of_match); +static const struct spi_device_id ad7816_id[] = { {"ad7816" ,ID_AD7816 }, {"ad7817" ,ID_AD7817 },@@ -434,6 +442,7 @@ MODULE_DEVICE_TABLE(spi, ad7816_id);static struct spi_driver ad7816_driver = { .driver = { .name ="ad7816" , + .of_match_table =of_match_ptr (ad7816_of_match), }, .probe = ad7816_probe, .id_table = ad7816_id,
Re: [PATCH v4 4/4] staging: iio: ad7816: Add device tree table.
Quoted 40 lines · On Thu, 15 Nov 2018 19:55:06 +0530 Nishad Kamdar <[email protected]> wrote:
Quoted 8 lines · Alexandru
Quoted 2 lines · Nishad Kamdar
Add device tree table for matching vendor ID.
This could have been just one patch.
Something like
[PATCH v4] staging: iio: ad7816: Add device tree table.Quoted 9 lines
It's no longer a series, because the other patches were applied already.
I don't think you need to re-spin this [it's up to Jonathan though].
It's just something to keep in mind for later when re-spinning patches or series of patches.
Alex
Ok. I'll keep that in mind.
Thanks for the review.
Regards,
NishadQuoted 14 lines
Quoted 14 lines
Signed-off-by Nishad Kamdar <[email protected]>--- drivers/staging/iio/adc/ad7816.c | 9 +++++++++ 1 file changed, 9 insertions(+)drivers/staging/iio/adc/ad7816.c +0
-0@@ -422,6 +422,14 @@ static int ad7816_probe(struct spi_device *spi_dev)return 0 ; }
Quoted 16 lines
Quoted 8 lines
Quoted 8 lines
drivers/staging/iio/adc/ad7816.c +8
-0+static const struct of_device_id ad7816_of_match[] = { + { .compatible ="adi,ad7816" , }, + { .compatible ="adi,ad7817" , }, + { .compatible ="adi,ad7818" , }, + { } +}; +MODULE_DEVICE_TABLE (of, ad7816_of_match); +Quoted 8 lines
drivers/staging/iio/adc/ad7816.c MODULE_DEVICE_TABLE(spi, ad7816_id); · line 445
Quoted 8 lines
drivers/staging/iio/adc/ad7816.c +1
-0static const struct spi_device_id ad7816_id[] = { {"ad7816" ,ID_AD7816 }, {"ad7817" ,ID_AD7817 },@@ -434,6 +442,7 @@ MODULE_DEVICE_TABLE(spi, ad7816_id);static struct spi_driver ad7816_driver = { .driver = { .name ="ad7816" , + .of_match_table =of_match_ptr (ad7816_of_match),
Also, don't use of_match_ptr, it defines the table to NULL if CONFIG_OF is not set, which breaks the ACPI based probing using the magic number to tell it to use the DT bindings (weird corner case). One of those really obscure corners cases (and one that hasn't existed for that long!)
I'll fix up.
Applied to to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.
Thanks,
Jonathan
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
drivers/staging/iio/adc/ad7816.c +0
-0}, .probe = ad7816_probe, .id_table = ad7816_id,