Skip to contentSkip to conversation

staging: iio: ad7816: Switch to the gpio descriptor interface

PATCH Applied Nishad Kamdar 3 participants 5 messages Nov 14, 2018 – Nov 16, 2018

Subsystems (4)

v4 of 7 Applied Latest is v7 →

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index a2fead85cd46..925f7086bc07 100644
@@ -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
#2 lore raw

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=

#3 lore raw

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
---
 drivers/staging/iio/adc/ad7816.c | 9 +++++++++
 1 file changed, 9 insertions(+)
drivers/staging/iio/adc/ad7816.c +9 -0
index a2fead85cd46..925f7086bc07 100644
@@ -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,
maintainer Applied
#4 lore raw

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,
Nishad

Quoted 14 lines
Quoted 14 lines
---
 drivers/staging/iio/adc/ad7816.c | 9 +++++++++
 1 file changed, 9 insertions(+)
drivers/staging/iio/adc/ad7816.c +0 -0
index a2fead85cd46..925f7086bc07 100644
@@ -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 -0
 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),

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,