From: Mike Looijmans <mike.looijmans@topic.nl>
To: Guenter Roeck <linux@roeck-us.net>
Cc: lm-sensors@lm-sensors.org, jdelvare@suse.com,
linux-kernel@vger.kernel.org
Subject: Re: [lm-sensors] [PATCH v3] hwmon: Add LTC2990 sensor driver
Date: Fri, 15 Jan 2016 09:54:37 +0000 [thread overview]
Message-ID: <5698C1DD.6000607@topic.nl> (raw)
In-Reply-To: <20160114191415.GA30413@roeck-us.net>
77u/T24gMTQtMDEtMTYgMjA6MTQsIEd1ZW50ZXIgUm9lY2sgd3JvdGU6Cj4gT24gV2VkLCBKYW4g
MTMsIDIwMTYgYXQgMDM6NDU6MDFQTSArMDEwMCwgTWlrZSBMb29pam1hbnMgd3JvdGU6Cj4+IFRo
aXMgYWRkcyBzdXBwb3J0IGZvciB0aGUgTGluZWFyIFRlY2hub2xvZ3kgTFRDMjk5MCAgSTJDIFN5
c3RlbSBNb25pdG9yLgo+PiBUaGUgTFRDMjk5MCBzdXBwb3J0cyBhIGNvbWJpbmF0aW9uIG9mIHZv
bHRhZ2UsIGN1cnJlbnQgYW5kIHRlbXBlcmF0dXJlCj4+IG1vbml0b3JpbmcuIFRoaXMgZHJpdmVy
IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHJlYWRpbmcgdHdvIGN1cnJlbnRzCj4+IGJ5IG1lYXN1
cmluZyB0d28gZGlmZmVyZW50aWFsIHZvbHRhZ2VzIGFjcm9zcyBzZXJpZXMgcmVzaXN0b3JzLCBp
bgo+PiBhZGRpdGlvbiB0byB0aGUgVmNjIHN1cHBseSB2b2x0YWdlIGFuZCBpbnRlcm5hbCB0ZW1w
ZXJhdHVyZS4KPj4KPj4gVGhpcyBpcyBzdWZmaWNpZW50IHRvIHN1cHBvcnQgdGhlIFRvcGljIE1p
YW1pIFNPTSB3aGljaCB1c2VzIHRoaXMgY2hpcAo+PiB0byBtb25pdG9yIHRoZSBjdXJyZW50cyBm
bG93aW5nIGludG8gdGhlIEZQR0EgYW5kIHRoZSBDUFUgcGFydHMuCj4+Cj4+IFNpZ25lZC1vZmYt
Ynk6IE1pa2UgTG9vaWptYW5zIDxtaWtlLmxvb2lqbWFuc0B0b3BpYy5ubD4KPgo+IEhpIE1pa2Us
Cj4KPiBhbG1vc3QgdGhlcmUuIFBsZWFzZSBzZWUgaW5saW5lLgoKR3JlYXQsIEknbGwgb3JkZXIg
c29tZSBjYWtlIDopCgpFeHBlY3QgdjQgaW4gYSBmZXcgbWludXRlcywgSSdtIHRlc3RpbmcgaXQg
b24gdGhlIGhhcmR3YXJlIG5vdy4KCj4gVGhhbmtzLAo+IEd1ZW50ZXIKPgo+PiAtLS0KPj4gdjM6
IFJlbW92ZSB1bnVzZWQgaW5jbHVkZXMuCj4+ICAgICAgUmVtb3ZlIChtb3N0KSB1bnVzZWQgcmVn
aXN0ZXIgZGVmaW5lcy4KPj4gICAgICBBbHNvIGNoZWNrIG9uIFNNQlVTIFdPUkQgY2FwYWJpbGl0
eS4KPj4gICAgICBVc2UgcmVnaXN0ZXIgZGVmaW5lcyBhcyB2YWx1ZSBpbmRpY2VzLgo+PiAgICAg
IEFsaWdubWVudCBmaXh1cHMgd2l0aCAiKCIuCj4+IHYyOiBQcm9jZXNzZWQgYWxsIHJldmlldyBj
b21tZW50cy4KPj4gICAgICAgUHV0IGNoaXAgaW50byBjb250aW51b3VzIG1lYXN1cmVtZW50IG1v
ZGUuCj4+ICAgICAgIEFkZGVkIGR1Y3VtZW50YXRpb24uCj4+ICAgICAgIFVzZSBzdGFuZGFyZCBo
d21vbiBpbnRlcmZhY2VzIGFuZCBtYWNyb3MuCj4+Cj4+ICAgRG9jdW1lbnRhdGlvbi9od21vbi9s
dGMyOTkwIHwgIDQ0ICsrKysrKysrKysrKwo+PiAgIGRyaXZlcnMvaHdtb24vS2NvbmZpZyAgICAg
ICB8ICAxNCArKysrCj4+ICAgZHJpdmVycy9od21vbi9NYWtlZmlsZSAgICAgIHwgICAxICsKPj4g
ICBkcml2ZXJzL2h3bW9uL2x0YzI5OTAuYyAgICAgfCAxNTkgKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysKPj4gICA0IGZpbGVzIGNoYW5nZWQsIDIxOCBpbnNlcnRp
b25zKCspCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vaHdtb24vbHRjMjk5
MAo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3bW9uL2x0YzI5OTAuYwo+Pgo+PiBk
aWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9od21vbi9sdGMyOTkwIGIvRG9jdW1lbnRhdGlvbi9o
d21vbi9sdGMyOTkwCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjgz
OGI3NGUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9Eb2N1bWVudGF0aW9uL2h3bW9uL2x0YzI5
OTAKPj4gQEAgLTAsMCArMSw0NCBAQAo+PiArS2VybmVsIGRyaXZlciBsdGMyOTkwCj4+ICs9PT09
PT09PT09PT09PT09PT09PT0KPj4gKwo+PiArU3VwcG9ydGVkIGNoaXBzOgo+PiArICAqIExpbmVh
ciBUZWNobm9sb2d5IExUQzI5OTAKPj4gKyAgICBQcmVmaXg6ICdsdGMyOTkwJwo+PiArICAgIEFk
ZHJlc3NlcyBzY2FubmVkOiAtCj4+ICsgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3LmxpbmVhci5j
b20vcHJvZHVjdC9sdGMyOTkwCj4+ICsKPj4gK0F1dGhvcjogTWlrZSBMb29pam1hbnMgPG1pa2Uu
bG9vaWptYW5zQHRvcGljLm5sPgo+PiArCj4+ICsKPj4gK0Rlc2NyaXB0aW9uCj4+ICstLS0tLS0t
LS0tLQo+PiArCj4+ICtMVEMyOTkwIGlzIGEgUXVhZCBJMkMgVm9sdGFnZSwgQ3VycmVudCBhbmQg
VGVtcGVyYXR1cmUgTW9uaXRvci4KPj4gK1RoZSBjaGlwJ3MgaW5wdXRzIGNhbiBtZWFzdXJlIDQg
dm9sdGFnZXMsIG9yIHR3byBpbnB1dHMgdG9nZXRoZXIgKDErMiBhbmQgMys0KQo+PiArY2FuIGJl
IGNvbWJpbmVkIHRvIG1lYXN1cmUgYSBkaWZmZXJlbnRpYWwgdm9sdGFnZSwgd2hpY2ggaXMgdHlw
aWNhbGx5IHVzZWQgdG8KPj4gK21lYXN1cmUgY3VycmVudCB0aHJvdWdoIGEgc2VyaWVzIHJlc2lz
dG9yLCBvciBhIHRlbXBlcmF0dXJlLgo+PiArCj4+ICtUaGlzIGRyaXZlciBjdXJyZW50bHkgdXNl
cyB0aGUgMnggZGlmZmVyZW50aWFsIG1vZGUgb25seS4gSW4gb3JkZXIgdG8gc3VwcG9ydAo+PiAr
b3RoZXIgbW9kZXMsIHRoZSBkcml2ZXIgd2lsbCBuZWVkIHRvIGJlIGV4cGFuZGVkLgo+PiArCj4+
ICsKPj4gK1VzYWdlIE5vdGVzCj4+ICstLS0tLS0tLS0tLQo+PiArCj4+ICtUaGlzIGRyaXZlciBk
b2VzIG5vdCBwcm9iZSBmb3IgUE1CdXMgZGV2aWNlcy4gWW91IHdpbGwgaGF2ZSB0byBpbnN0YW50
aWF0ZQo+PiArZGV2aWNlcyBleHBsaWNpdGx5Lgo+PiArCj4+ICsKPj4gK1N5c2ZzIGF0dHJpYnV0
ZXMKPj4gKy0tLS0tLS0tLS0tLS0tLS0KPj4gKwo+PiArVGhlICJjdXJyKl9pbnB1dCIgbWVhc3Vy
ZW1lbnRzIGFjdHVhbGx5IHJlcG9ydCB0aGUgdm9sdGFnZSBkcm9wIGFjcm9zcyB0aGUKPj4gK2lu
cHV0IHBpbnMgaW4gbWljcm92b2x0cy4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBjdXJyZW50
IHRocm91Z2ggYSAxbU9obQo+PiArc2Vuc2UgcmVzaXN0b3IuIERpdmlkZSB0aGUgcmVwb3J0ZWQg
dmFsdWUgYnkgdGhlIGFjdHVhbCBzZW5zZSByZXNpc3RvciB2YWx1ZQo+PiAraW4gbU9obSB0byBn
ZXQgdGhlIGFjdHVhbCB2YWx1ZS4KPj4gKwo+PiAraW4wX2lucHV0ICAgICBWb2x0YWdlIGF0IFZj
YyBwaW4gaW4gbWlsbGl2b2x0IChyYW5nZSAyLjVWIHRvIDVWKQo+PiArdGVtcDFfaW5wdXQgICBJ
bnRlcm5hbCBjaGlwIHRlbXBlcmF0dXJlIGluIG1pbGxpZGVncmVlcyBDZWxjaXVzCj4+ICtjdXJy
MV9pbnB1dCAgIEN1cnJlbnQgaW4gbUEgYWNyb3NzIHYxLXYyIGFzc3VtaW5nIGEgMW1PaG0gc2Vu
c2UgcmVzaXN0b3IuCj4+ICtjdXJyMl9pbnB1dCAgIEN1cnJlbnQgaW4gbUEgYWNyb3NzIHYzLXY0
IGFzc3VtaW5nIGEgMW1PaG0gc2Vuc2UgcmVzaXN0b3IuCj4+ICsKPj4gZGlmZiAtLWdpdCBhL2Ry
aXZlcnMvaHdtb24vS2NvbmZpZyBiL2RyaXZlcnMvaHdtb24vS2NvbmZpZwo+PiBpbmRleCA4MGE3
M2JmLi44YTMxZDY0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2h3bW9uL0tjb25maWcKPj4gKysr
IGIvZHJpdmVycy9od21vbi9LY29uZmlnCj4+IEBAIC02ODUsNiArNjg1LDIwIEBAIGNvbmZpZyBT
RU5TT1JTX0xUQzI5NDUKPj4gICAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBh
IG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUgd2lsbAo+PiAgIAkgIGJlIGNhbGxlZCBsdGMyOTQ1
Lgo+Pgo+PiArY29uZmlnIFNFTlNPUlNfTFRDMjk5MAo+PiArCXRyaXN0YXRlICJMaW5lYXIgVGVj
aG5vbG9neSBMVEMyOTkwIChjdXJyZW50IG1vbml0b3JpbmcgbW9kZSBvbmx5KSIKPj4gKwlkZXBl
bmRzIG9uIEkyQwo+PiArCWhlbHAKPj4gKwkgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBz
dXBwb3J0IGZvciBMaW5lYXIgVGVjaG5vbG9neSBMVEMyOTkwCj4+ICsJICBJMkMgU3lzdGVtIE1v
bml0b3IuIFRoZSBMVEMyOTkwIHN1cHBvcnRzIGEgY29tYmluYXRpb24gb2Ygdm9sdGFnZSwKPj4g
KwkgIGN1cnJlbnQgYW5kIHRlbXBlcmF0dXJlIG1vbml0b3JpbmcsIGJ1dCBpbiBhZGRpdGlvbiB0
byB0aGUgVmNjIHN1cHBseQo+PiArCSAgdm9sdGFnZSBhbmQgY2hpcCB0ZW1wZXJhdHVyZSwgdGhp
cyBkcml2ZXIgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMKPj4gKwkgIHJlYWRpbmcgdHdvIGN1cnJl
bnRzIGJ5IG1lYXN1cmluZyB0d28gZGlmZmVyZW50aWFsIHZvbHRhZ2VzIGFjcm9zcwo+PiArCSAg
c2VyaWVzIHJlc2lzdG9ycy4KPj4gKwo+PiArCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVp
bHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlIHdpbGwKPj4gKwkgIGJlIGNhbGxlZCBs
dGMyOTkwLgo+PiArCj4+ICAgY29uZmlnIFNFTlNPUlNfTFRDNDE1MQo+PiAgIAl0cmlzdGF0ZSAi
TGluZWFyIFRlY2hub2xvZ3kgTFRDNDE1MSIKPj4gICAJZGVwZW5kcyBvbiBJMkMKPj4gZGlmZiAt
LWdpdCBhL2RyaXZlcnMvaHdtb24vTWFrZWZpbGUgYi9kcml2ZXJzL2h3bW9uL01ha2VmaWxlCj4+
IGluZGV4IDEyYTMyMzkuLmU0YmQxNWIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvaHdtb24vTWFr
ZWZpbGUKPj4gKysrIGIvZHJpdmVycy9od21vbi9NYWtlZmlsZQo+PiBAQCAtMTAxLDYgKzEwMSw3
IEBAIG9iai0kKENPTkZJR19TRU5TT1JTX0xNOTUyMzQpCSs9IGxtOTUyMzQubwo+PiAgIG9iai0k
KENPTkZJR19TRU5TT1JTX0xNOTUyNDEpCSs9IGxtOTUyNDEubwo+PiAgIG9iai0kKENPTkZJR19T
RU5TT1JTX0xNOTUyNDUpCSs9IGxtOTUyNDUubwo+PiAgIG9iai0kKENPTkZJR19TRU5TT1JTX0xU
QzI5NDUpCSs9IGx0YzI5NDUubwo+PiArb2JqLSQoQ09ORklHX1NFTlNPUlNfTFRDMjk5MCkJKz0g
bHRjMjk5MC5vCj4+ICAgb2JqLSQoQ09ORklHX1NFTlNPUlNfTFRDNDE1MSkJKz0gbHRjNDE1MS5v
Cj4+ICAgb2JqLSQoQ09ORklHX1NFTlNPUlNfTFRDNDIxNSkJKz0gbHRjNDIxNS5vCj4+ICAgb2Jq
LSQoQ09ORklHX1NFTlNPUlNfTFRDNDIyMikJKz0gbHRjNDIyMi5vCj4+IGRpZmYgLS1naXQgYS9k
cml2ZXJzL2h3bW9uL2x0YzI5OTAuYyBiL2RyaXZlcnMvaHdtb24vbHRjMjk5MC5jCj4+IG5ldyBm
aWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjM3Y2E1ZjQKPj4gLS0tIC9kZXYvbnVs
bAo+PiArKysgYi9kcml2ZXJzL2h3bW9uL2x0YzI5OTAuYwo+PiBAQCAtMCwwICsxLDE1OSBAQAo+
PiArLyoKPj4gKyAqIERyaXZlciBmb3IgTGluZWFyIFRlY2hub2xvZ3kgTFRDMjk5MCBwb3dlciBt
b25pdG9yCj4+ICsgKgo+PiArICogQ29weXJpZ2h0IChDKSAyMDE0IFRvcGljIEVtYmVkZGVkIFBy
b2R1Y3RzCj4+ICsgKiBBdXRob3I6IE1pa2UgTG9vaWptYW5zIDxtaWtlLmxvb2lqbWFuc0B0b3Bp
Yy5ubD4KPj4gKyAqCj4+ICsgKiBMaWNlbnNlOiBHUEx2Mgo+PiArICoKPj4gKyAqIFRoaXMgZHJp
dmVyIGFzc3VtZXMgdGhlIGNoaXAgaXMgd2lyZWQgYXMgYSBkdWFsIGN1cnJlbnQgbW9uaXRvciwg
YW5kCj4+ICsgKiByZXBvcnRzIHRoZSB2b2x0YWdlIGRyb3AgYWNyb3NzIHR3byBzZXJpZXMgcmVz
aXN0b3JzLiBJdCBhbHNvIHJlcG9ydHMKPj4gKyAqIHRoZSBjaGlwJ3MgaW50ZXJuYWwgdGVtcGVy
YXR1cmUgYW5kIFZjYyBwb3dlciBzdXBwbHkgdm9sdGFnZS4KPj4gKyAqLwo+PiArCj4+ICsjaW5j
bHVkZSA8bGludXgvZXJyLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaHdtb24uaD4KPj4gKyNpbmNs
dWRlIDxsaW51eC9od21vbi1zeXNmcy5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgo+PiAr
I2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+
PiArCj4+ICsjZGVmaW5lIExUQzI5OTBfU1RBVFVTCTB4MDAKPj4gKyNkZWZpbmUgTFRDMjk5MF9D
T05UUk9MCTB4MDEKPj4gKyNkZWZpbmUgTFRDMjk5MF9UUklHR0VSCTB4MDIKPj4gKyNkZWZpbmUg
TFRDMjk5MF9USU5UX01TQgkweDA0Cj4+ICsjZGVmaW5lIExUQzI5OTBfVjFfTVNCCTB4MDYKPj4g
KyNkZWZpbmUgTFRDMjk5MF9WMl9NU0IJMHgwOAo+PiArI2RlZmluZSBMVEMyOTkwX1YzX01TQgkw
eDBBCj4+ICsjZGVmaW5lIExUQzI5OTBfVjRfTVNCCTB4MEMKPj4gKyNkZWZpbmUgTFRDMjk5MF9W
Q0NfTVNCCTB4MEUKPj4gKwo+PiArI2RlZmluZSBMVEMyOTkwX0NPTlRST0xfS0VMVklOCQlCSVQo
NykKPj4gKyNkZWZpbmUgTFRDMjk5MF9DT05UUk9MX1NJTkdMRQkJQklUKDYpCj4+ICsjZGVmaW5l
IExUQzI5OTBfQ09OVFJPTF9NRUFTVVJFX0FMTAkoMHgzIDw8IDMpCj4+ICsjZGVmaW5lIExUQzI5
OTBfQ09OVFJPTF9NT0RFX0NVUlJFTlQJMHgwNgo+PiArI2RlZmluZSBMVEMyOTkwX0NPTlRST0xf
TU9ERV9WT0xUQUdFCTB4MDcKPj4gKwo+PiArLyogY29udmVydCByYXcgcmVnaXN0ZXIgdmFsdWUg
dG8gc2lnbi1leHRlbmRlZCBpbnRlZ2VyIGluIDE2LWJpdCByYW5nZSAqLwo+PiArc3RhdGljIGlu
dCBsdGMyOTkwX3ZvbHRhZ2VfdG9faW50KGludCByYXcpCj4+ICt7Cj4+ICsJaWYgKHJhdyAmIEJJ
VCgxNCkpIHsKPj4gKwkJcmV0dXJuIC0oMHg0MDAwIC0gKHJhdyAmIDB4M0ZGRikpIDw8IDI7Cj4+
ICsJfSBlbHNlIHsKPj4gKwkJcmV0dXJuIChyYXcgJiAweDNGRkYpIDw8IDI7Cj4+ICsJfQo+Cj4g
VW5uZWNlc3NhcnkgeyB9LiBQbGVhc2Ugc2VlIGNoZWNrcGF0Y2ggd2FybmluZy4KCkknbGwgbWFr
ZSBzdXJlIHRvIHJ1biBjaGVja3BhdGNoIGFnYWluLiBJdHMgb25seSByZW1haW5pbmcgd2Fybmlu
ZyBpcyBhYm91dCAKTUFJTlRBSU5FUlMgbm93LgoKPj4gK30KPj4gKwo+PiArLyogUmV0dXJuIHRo
ZSBjb252ZXJ0ZWQgdmFsdWUgZnJvbSB0aGUgZ2l2ZW4gcmVnaXN0ZXIgaW4gdVYgb3IgbUMgKi8K
Pj4gK3N0YXRpYyBpbnQgbHRjMjk5MF9nZXRfdmFsdWUoc3RydWN0IGkyY19jbGllbnQgKmkyYywg
dTggcmVnKQo+PiArewo+PiArCWludCB2YWw7Cj4+ICsJaW50IHJlc3VsdDsKPj4gKwo+PiArCXZh
bCA9IGkyY19zbWJ1c19yZWFkX3dvcmRfc3dhcHBlZChpMmMsIHJlZyk7Cj4+ICsJaWYgKHVubGlr
ZWx5KHZhbCA8IDApKQo+PiArCQlyZXR1cm4gdmFsOwo+Cj4gVGhpcyBzdWdnZXN0cyB0aGUgZnVu
Y3Rpb24gcmV0dXJucyBhIHZhbHVlIDwgMCBvbiBlcnJvciAuLi4KCk1pc2xlYWRpbmcsIHNpbmNl
IG1vc3Qgb2YgdGhlIHZhbGlkIHJlc3VsdHMgY2FuIGJlIG5lZ2F0aXZlLiBJJ2xsIGNoYW5nZSB0
aGUgCm1ldGhvZCB0byByZXR1cm4gYSByZXN1bHQgY29kZSBhbmQgdGFrZSBhIHJlc3VsdCBwb2lu
dGVyIGluc3RlYWQuCgo+Cj4+ICsJc3dpdGNoIChyZWcpIHsKPj4gKwljYXNlIExUQzI5OTBfVElO
VF9NU0I6Cj4+ICsJCS8qIGludGVybmFsIHRlbXAsIDAuMDYyNSBkZWdyZWVzL0xTQiwgMTMtYml0
ICAqLwo+PiArCQl2YWwgPSAodmFsICYgMHgxRkZGKSA8PCAzOwo+PiArCQlyZXN1bHQgPSAodmFs
ICogMTAwMCkgPj4gNzsKPj4gKwkJYnJlYWs7Cj4+ICsJY2FzZSBMVEMyOTkwX1YxX01TQjoKPj4g
KwljYXNlIExUQzI5OTBfVjNfTVNCOgo+PiArCQkgLyogVngtVnksIDE5LjQydVYvTFNCLiBEZXBl
bmRzIG9uIG1vZGUuICovCj4+ICsJCXJlc3VsdCA9IGx0YzI5OTBfdm9sdGFnZV90b19pbnQodmFs
KSAqIDE5NDIgLyAoNCAqIDEwMCk7Cj4+ICsJCWJyZWFrOwo+PiArCWNhc2UgTFRDMjk5MF9WQ0Nf
TVNCOgo+PiArCQkvKiBWY2MsIDMwNS4xOM68Vi9MU0IsIDIuNVYgb2Zmc2V0ICovCj4+ICsJCXJl
c3VsdCA9IGx0YzI5OTBfdm9sdGFnZV90b19pbnQodmFsKSAqIDMwNTE4IC8gKDQgKiAxMDAgKiAx
MDAwKTsKPj4gKwkJcmVzdWx0ICs9IDI1MDA7Cj4+ICsJCWJyZWFrOwo+PiArCWRlZmF1bHQ6Cj4+
ICsJCXJlc3VsdCA9IDA7IC8qIHdvbid0IGhhcHBlbiwga2VlcCBjb21waWxlciBoYXBweSAqLwo+
Cj4gR2l2ZW4gdGhhdCwgd2UgY2FuIHJldHVybiBzb21lIGVycm9yIGhlcmUsIGFuZCAuLi4KPgo+
PiArCQlicmVhazsKPj4gKwl9Cj4+ICsKPj4gKwlyZXR1cm4gcmVzdWx0Owo+PiArfQo+PiArCj4+
ICtzdGF0aWMgc3NpemVfdCBsdGMyOTkwX3Nob3dfdmFsdWUoc3RydWN0IGRldmljZSAqZGV2LAo+
PiArCQkJCSAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmRhLCBjaGFyICpidWYpCj4+ICt7Cj4+
ICsJc3RydWN0IHNlbnNvcl9kZXZpY2VfYXR0cmlidXRlICphdHRyID0gdG9fc2Vuc29yX2Rldl9h
dHRyKGRhKTsKPj4gKwlpbnQgdmFsdWU7Cj4+ICsKPj4gKwl2YWx1ZSA9IGx0YzI5OTBfZ2V0X3Zh
bHVlKGRldl9nZXRfZHJ2ZGF0YShkZXYpLCBhdHRyLT5pbmRleCk7Cj4KPiAuLi4gd2Ugc2hvdWxk
IGFjdHVhbGx5IGNoZWNrIHRoZSBlcnJvciByZXR1cm4gaGVyZS4KPgo+IAlpZiAodmFsdWUgPCAw
KQo+IAkJcmV0dXJuIHZhbHVlOwoKWWVzLCB3aXRoIHRoZSBjaGFuZ2UgYWJvdmUsIGl0IGNhbiBw
cm9wZXJseSByZXR1cm4gYW4gZXJyb3IgY29kZSBpZiB0aGUgSTJDIAp0cmFuc2FjdGlvbiBmYWls
ZWQuCgo+PiArCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVkXG4iLCB2YWx1ZSk7
Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIodGVtcDFfaW5wdXQsIFNf
SVJVR08sIGx0YzI5OTBfc2hvd192YWx1ZSwgTlVMTCwKPj4gKwkJCSAgTFRDMjk5MF9USU5UX01T
Qik7Cj4+ICtzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKGN1cnIxX2lucHV0LCBTX0lSVUdPLCBs
dGMyOTkwX3Nob3dfdmFsdWUsIE5VTEwsCj4+ICsJCQkgIExUQzI5OTBfVjFfTVNCKTsKPj4gK3N0
YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIoY3VycjJfaW5wdXQsIFNfSVJVR08sIGx0YzI5OTBfc2hv
d192YWx1ZSwgTlVMTCwKPj4gKwkJCSAgTFRDMjk5MF9WM19NU0IpOwo+PiArc3RhdGljIFNFTlNP
Ul9ERVZJQ0VfQVRUUihpbjBfaW5wdXQsIFNfSVJVR08sIGx0YzI5OTBfc2hvd192YWx1ZSwgTlVM
TCwKPj4gKwkJCSAgTFRDMjk5MF9WQ0NfTVNCKTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBhdHRy
aWJ1dGUgKmx0YzI5OTBfYXR0cnNbXSA9IHsKPj4gKwkmc2Vuc29yX2Rldl9hdHRyX3RlbXAxX2lu
cHV0LmRldl9hdHRyLmF0dHIsCj4+ICsJJnNlbnNvcl9kZXZfYXR0cl9jdXJyMV9pbnB1dC5kZXZf
YXR0ci5hdHRyLAo+PiArCSZzZW5zb3JfZGV2X2F0dHJfY3VycjJfaW5wdXQuZGV2X2F0dHIuYXR0
ciwKPj4gKwkmc2Vuc29yX2Rldl9hdHRyX2luMF9pbnB1dC5kZXZfYXR0ci5hdHRyLAo+PiArCU5V
TEwsCj4+ICt9Owo+PiArQVRUUklCVVRFX0dST1VQUyhsdGMyOTkwKTsKPj4gKwo+PiArc3RhdGlj
IGludCBsdGMyOTkwX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjLAo+PiArCQkJICAg
ICBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4+ICt7Cj4+ICsJaW50IHJldDsKPj4g
KwlzdHJ1Y3QgZGV2aWNlICpod21vbl9kZXY7Cj4+ICsKPj4gKwlpZiAoIWkyY19jaGVja19mdW5j
dGlvbmFsaXR5KGkyYy0+YWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfQllURV9EQVRBIHwKPj4gKwkJ
CQkgICAgIEkyQ19GVU5DX1NNQlVTX1dPUkRfREFUQSkpCj4+ICsJCXJldHVybiAtRU5PREVWOwo+
PiArCj4+ICsJLyogU2V0dXAgY29udGludW91cyBtb2RlLCBjdXJyZW50IG1vbml0b3IgKi8KPj4g
KwlyZXQgPSBpMmNfc21idXNfd3JpdGVfYnl0ZV9kYXRhKGkyYywgTFRDMjk5MF9DT05UUk9MLAo+
PiArCQkJCQlMVEMyOTkwX0NPTlRST0xfTUVBU1VSRV9BTEwgfAo+PiArCQkJCQlMVEMyOTkwX0NP
TlRST0xfTU9ERV9DVVJSRU5UKTsKPj4gKwlpZiAocmV0IDwgMCkgewo+PiArCQlkZXZfZXJyKCZp
MmMtPmRldiwgIkVycm9yOiBGYWlsZWQgdG8gc2V0IGNvbnRyb2wgbW9kZS5cbiIpOwo+PiArCQly
ZXR1cm4gcmV0Owo+PiArCX0KPj4gKwkvKiBUcmlnZ2VyIG9uY2UgdG8gc3RhcnQgY29udGludW91
cyBjb252ZXJzaW9uICovCj4+ICsJcmV0ID0gaTJjX3NtYnVzX3dyaXRlX2J5dGVfZGF0YShpMmMs
IExUQzI5OTBfVFJJR0dFUiwgMSk7Cj4+ICsJaWYgKHJldCA8IDApIHsKPj4gKwkJZGV2X2Vycigm
aTJjLT5kZXYsICJFcnJvcjogRmFpbGVkIHRvIHN0YXJ0IGFjcXVpc2l0aW9uLlxuIik7Cj4+ICsJ
CXJldHVybiByZXQ7Cj4+ICsJfQo+PiArCj4+ICsJaHdtb25fZGV2ID0gZGV2bV9od21vbl9kZXZp
Y2VfcmVnaXN0ZXJfd2l0aF9ncm91cHMoJmkyYy0+ZGV2LAo+PiArCQkJCQkJCSAgIGkyYy0+bmFt
ZSwKPj4gKwkJCQkJCQkgICBpMmMsCj4+ICsJCQkJCQkJICAgbHRjMjk5MF9ncm91cHMpOwo+PiAr
Cj4+ICsJcmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhod21vbl9kZXYpOwo+PiArfQo+PiArCj4+ICtz
dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbHRjMjk5MF9pMmNfaWRbXSA9IHsKPj4g
Kwl7ICJsdGMyOTkwIiwgMCB9LAo+PiArCXt9Cj4+ICt9Owo+PiArTU9EVUxFX0RFVklDRV9UQUJM
RShpMmMsIGx0YzI5OTBfaTJjX2lkKTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVy
IGx0YzI5OTBfaTJjX2RyaXZlciA9IHsKPj4gKwkuZHJpdmVyID0gewo+PiArCQkubmFtZSA9ICJs
dGMyOTkwIiwKPj4gKwl9LAo+PiArCS5wcm9iZSAgICA9IGx0YzI5OTBfaTJjX3Byb2JlLAo+PiAr
CS5pZF90YWJsZSA9IGx0YzI5OTBfaTJjX2lkLAo+PiArfTsKPj4gKwo+PiArbW9kdWxlX2kyY19k
cml2ZXIobHRjMjk5MF9pMmNfZHJpdmVyKTsKPj4gKwo+PiArTU9EVUxFX0RFU0NSSVBUSU9OKCJM
VEMyOTkwIFNlbnNvciBEcml2ZXIiKTsKPj4gK01PRFVMRV9BVVRIT1IoIlRvcGljIEVtYmVkZGVk
IFByb2R1Y3RzIik7Cj4+ICtNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7Cj4+IC0tCj4+IDEuOS4x
Cj4+CgoKCktpbmQgcmVnYXJkcywKCk1pa2UgTG9vaWptYW5zClN5c3RlbSBFeHBlcnQKClRPUElD
IEVtYmVkZGVkIFByb2R1Y3RzCkVpbmRob3ZlbnNld2VnIDMyLUMsIE5MLTU2ODMgS0ggQmVzdApQ
b3N0YnVzIDQ0MCwgTkwtNTY4MCBBSyBCZXN0ClRlbGVmb29uOiArMzEgKDApIDQ5OSAzMyA2OSA3
OQpFLW1haWw6IG1pa2UubG9vaWptYW5zQHRvcGljcHJvZHVjdHMuY29tCldlYnNpdGU6IHd3dy50
b3BpY3Byb2R1Y3RzLmNvbQoKUGxlYXNlIGNvbnNpZGVyIHRoZSBlbnZpcm9ubWVudCBiZWZvcmUg
cHJpbnRpbmcgdGhpcyBlLW1haWwKCgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KbG0tc2Vuc29ycyBtYWlsaW5nIGxpc3QKbG0tc2Vuc29yc0BsbS1z
ZW5zb3JzLm9yZwpodHRwOi8vbGlzdHMubG0tc2Vuc29ycy5vcmcvbWFpbG1hbi9saXN0aW5mby9s
bS1zZW5zb3Jz
WARNING: multiple messages have this Message-ID (diff)
From: Mike Looijmans <mike.looijmans@topic.nl>
To: Guenter Roeck <linux@roeck-us.net>
Cc: <lm-sensors@lm-sensors.org>, <jdelvare@suse.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3] hwmon: Add LTC2990 sensor driver
Date: Fri, 15 Jan 2016 10:54:37 +0100 [thread overview]
Message-ID: <5698C1DD.6000607@topic.nl> (raw)
In-Reply-To: <20160114191415.GA30413@roeck-us.net>
On 14-01-16 20:14, Guenter Roeck wrote:
> On Wed, Jan 13, 2016 at 03:45:01PM +0100, Mike Looijmans wrote:
>> This adds support for the Linear Technology LTC2990 I2C System Monitor.
>> The LTC2990 supports a combination of voltage, current and temperature
>> monitoring. This driver currently only supports reading two currents
>> by measuring two differential voltages across series resistors, in
>> addition to the Vcc supply voltage and internal temperature.
>>
>> This is sufficient to support the Topic Miami SOM which uses this chip
>> to monitor the currents flowing into the FPGA and the CPU parts.
>>
>> Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
>
> Hi Mike,
>
> almost there. Please see inline.
Great, I'll order some cake :)
Expect v4 in a few minutes, I'm testing it on the hardware now.
> Thanks,
> Guenter
>
>> ---
>> v3: Remove unused includes.
>> Remove (most) unused register defines.
>> Also check on SMBUS WORD capability.
>> Use register defines as value indices.
>> Alignment fixups with "(".
>> v2: Processed all review comments.
>> Put chip into continuous measurement mode.
>> Added ducumentation.
>> Use standard hwmon interfaces and macros.
>>
>> Documentation/hwmon/ltc2990 | 44 ++++++++++++
>> drivers/hwmon/Kconfig | 14 ++++
>> drivers/hwmon/Makefile | 1 +
>> drivers/hwmon/ltc2990.c | 159 ++++++++++++++++++++++++++++++++++++++++++++
>> 4 files changed, 218 insertions(+)
>> create mode 100644 Documentation/hwmon/ltc2990
>> create mode 100644 drivers/hwmon/ltc2990.c
>>
>> diff --git a/Documentation/hwmon/ltc2990 b/Documentation/hwmon/ltc2990
>> new file mode 100644
>> index 0000000..838b74e
>> --- /dev/null
>> +++ b/Documentation/hwmon/ltc2990
>> @@ -0,0 +1,44 @@
>> +Kernel driver ltc2990
>> +=====================
>> +
>> +Supported chips:
>> + * Linear Technology LTC2990
>> + Prefix: 'ltc2990'
>> + Addresses scanned: -
>> + Datasheet: http://www.linear.com/product/ltc2990
>> +
>> +Author: Mike Looijmans <mike.looijmans@topic.nl>
>> +
>> +
>> +Description
>> +-----------
>> +
>> +LTC2990 is a Quad I2C Voltage, Current and Temperature Monitor.
>> +The chip's inputs can measure 4 voltages, or two inputs together (1+2 and 3+4)
>> +can be combined to measure a differential voltage, which is typically used to
>> +measure current through a series resistor, or a temperature.
>> +
>> +This driver currently uses the 2x differential mode only. In order to support
>> +other modes, the driver will need to be expanded.
>> +
>> +
>> +Usage Notes
>> +-----------
>> +
>> +This driver does not probe for PMBus devices. You will have to instantiate
>> +devices explicitly.
>> +
>> +
>> +Sysfs attributes
>> +----------------
>> +
>> +The "curr*_input" measurements actually report the voltage drop across the
>> +input pins in microvolts. This is equivalent to the current through a 1mOhm
>> +sense resistor. Divide the reported value by the actual sense resistor value
>> +in mOhm to get the actual value.
>> +
>> +in0_input Voltage at Vcc pin in millivolt (range 2.5V to 5V)
>> +temp1_input Internal chip temperature in millidegrees Celcius
>> +curr1_input Current in mA across v1-v2 assuming a 1mOhm sense resistor.
>> +curr2_input Current in mA across v3-v4 assuming a 1mOhm sense resistor.
>> +
>> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
>> index 80a73bf..8a31d64 100644
>> --- a/drivers/hwmon/Kconfig
>> +++ b/drivers/hwmon/Kconfig
>> @@ -685,6 +685,20 @@ config SENSORS_LTC2945
>> This driver can also be built as a module. If so, the module will
>> be called ltc2945.
>>
>> +config SENSORS_LTC2990
>> + tristate "Linear Technology LTC2990 (current monitoring mode only)"
>> + depends on I2C
>> + help
>> + If you say yes here you get support for Linear Technology LTC2990
>> + I2C System Monitor. The LTC2990 supports a combination of voltage,
>> + current and temperature monitoring, but in addition to the Vcc supply
>> + voltage and chip temperature, this driver currently only supports
>> + reading two currents by measuring two differential voltages across
>> + series resistors.
>> +
>> + This driver can also be built as a module. If so, the module will
>> + be called ltc2990.
>> +
>> config SENSORS_LTC4151
>> tristate "Linear Technology LTC4151"
>> depends on I2C
>> diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
>> index 12a3239..e4bd15b 100644
>> --- a/drivers/hwmon/Makefile
>> +++ b/drivers/hwmon/Makefile
>> @@ -101,6 +101,7 @@ obj-$(CONFIG_SENSORS_LM95234) += lm95234.o
>> obj-$(CONFIG_SENSORS_LM95241) += lm95241.o
>> obj-$(CONFIG_SENSORS_LM95245) += lm95245.o
>> obj-$(CONFIG_SENSORS_LTC2945) += ltc2945.o
>> +obj-$(CONFIG_SENSORS_LTC2990) += ltc2990.o
>> obj-$(CONFIG_SENSORS_LTC4151) += ltc4151.o
>> obj-$(CONFIG_SENSORS_LTC4215) += ltc4215.o
>> obj-$(CONFIG_SENSORS_LTC4222) += ltc4222.o
>> diff --git a/drivers/hwmon/ltc2990.c b/drivers/hwmon/ltc2990.c
>> new file mode 100644
>> index 0000000..37ca5f4
>> --- /dev/null
>> +++ b/drivers/hwmon/ltc2990.c
>> @@ -0,0 +1,159 @@
>> +/*
>> + * Driver for Linear Technology LTC2990 power monitor
>> + *
>> + * Copyright (C) 2014 Topic Embedded Products
>> + * Author: Mike Looijmans <mike.looijmans@topic.nl>
>> + *
>> + * License: GPLv2
>> + *
>> + * This driver assumes the chip is wired as a dual current monitor, and
>> + * reports the voltage drop across two series resistors. It also reports
>> + * the chip's internal temperature and Vcc power supply voltage.
>> + */
>> +
>> +#include <linux/err.h>
>> +#include <linux/hwmon.h>
>> +#include <linux/hwmon-sysfs.h>
>> +#include <linux/i2c.h>
>> +#include <linux/kernel.h>
>> +#include <linux/module.h>
>> +
>> +#define LTC2990_STATUS 0x00
>> +#define LTC2990_CONTROL 0x01
>> +#define LTC2990_TRIGGER 0x02
>> +#define LTC2990_TINT_MSB 0x04
>> +#define LTC2990_V1_MSB 0x06
>> +#define LTC2990_V2_MSB 0x08
>> +#define LTC2990_V3_MSB 0x0A
>> +#define LTC2990_V4_MSB 0x0C
>> +#define LTC2990_VCC_MSB 0x0E
>> +
>> +#define LTC2990_CONTROL_KELVIN BIT(7)
>> +#define LTC2990_CONTROL_SINGLE BIT(6)
>> +#define LTC2990_CONTROL_MEASURE_ALL (0x3 << 3)
>> +#define LTC2990_CONTROL_MODE_CURRENT 0x06
>> +#define LTC2990_CONTROL_MODE_VOLTAGE 0x07
>> +
>> +/* convert raw register value to sign-extended integer in 16-bit range */
>> +static int ltc2990_voltage_to_int(int raw)
>> +{
>> + if (raw & BIT(14)) {
>> + return -(0x4000 - (raw & 0x3FFF)) << 2;
>> + } else {
>> + return (raw & 0x3FFF) << 2;
>> + }
>
> Unnecessary { }. Please see checkpatch warning.
I'll make sure to run checkpatch again. Its only remaining warning is about
MAINTAINERS now.
>> +}
>> +
>> +/* Return the converted value from the given register in uV or mC */
>> +static int ltc2990_get_value(struct i2c_client *i2c, u8 reg)
>> +{
>> + int val;
>> + int result;
>> +
>> + val = i2c_smbus_read_word_swapped(i2c, reg);
>> + if (unlikely(val < 0))
>> + return val;
>
> This suggests the function returns a value < 0 on error ...
Misleading, since most of the valid results can be negative. I'll change the
method to return a result code and take a result pointer instead.
>
>> + switch (reg) {
>> + case LTC2990_TINT_MSB:
>> + /* internal temp, 0.0625 degrees/LSB, 13-bit */
>> + val = (val & 0x1FFF) << 3;
>> + result = (val * 1000) >> 7;
>> + break;
>> + case LTC2990_V1_MSB:
>> + case LTC2990_V3_MSB:
>> + /* Vx-Vy, 19.42uV/LSB. Depends on mode. */
>> + result = ltc2990_voltage_to_int(val) * 1942 / (4 * 100);
>> + break;
>> + case LTC2990_VCC_MSB:
>> + /* Vcc, 305.18μV/LSB, 2.5V offset */
>> + result = ltc2990_voltage_to_int(val) * 30518 / (4 * 100 * 1000);
>> + result += 2500;
>> + break;
>> + default:
>> + result = 0; /* won't happen, keep compiler happy */
>
> Given that, we can return some error here, and ...
>
>> + break;
>> + }
>> +
>> + return result;
>> +}
>> +
>> +static ssize_t ltc2990_show_value(struct device *dev,
>> + struct device_attribute *da, char *buf)
>> +{
>> + struct sensor_device_attribute *attr = to_sensor_dev_attr(da);
>> + int value;
>> +
>> + value = ltc2990_get_value(dev_get_drvdata(dev), attr->index);
>
> ... we should actually check the error return here.
>
> if (value < 0)
> return value;
Yes, with the change above, it can properly return an error code if the I2C
transaction failed.
>> + return snprintf(buf, PAGE_SIZE, "%d\n", value);
>> +}
>> +
>> +static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, ltc2990_show_value, NULL,
>> + LTC2990_TINT_MSB);
>> +static SENSOR_DEVICE_ATTR(curr1_input, S_IRUGO, ltc2990_show_value, NULL,
>> + LTC2990_V1_MSB);
>> +static SENSOR_DEVICE_ATTR(curr2_input, S_IRUGO, ltc2990_show_value, NULL,
>> + LTC2990_V3_MSB);
>> +static SENSOR_DEVICE_ATTR(in0_input, S_IRUGO, ltc2990_show_value, NULL,
>> + LTC2990_VCC_MSB);
>> +
>> +static struct attribute *ltc2990_attrs[] = {
>> + &sensor_dev_attr_temp1_input.dev_attr.attr,
>> + &sensor_dev_attr_curr1_input.dev_attr.attr,
>> + &sensor_dev_attr_curr2_input.dev_attr.attr,
>> + &sensor_dev_attr_in0_input.dev_attr.attr,
>> + NULL,
>> +};
>> +ATTRIBUTE_GROUPS(ltc2990);
>> +
>> +static int ltc2990_i2c_probe(struct i2c_client *i2c,
>> + const struct i2c_device_id *id)
>> +{
>> + int ret;
>> + struct device *hwmon_dev;
>> +
>> + if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
>> + I2C_FUNC_SMBUS_WORD_DATA))
>> + return -ENODEV;
>> +
>> + /* Setup continuous mode, current monitor */
>> + ret = i2c_smbus_write_byte_data(i2c, LTC2990_CONTROL,
>> + LTC2990_CONTROL_MEASURE_ALL |
>> + LTC2990_CONTROL_MODE_CURRENT);
>> + if (ret < 0) {
>> + dev_err(&i2c->dev, "Error: Failed to set control mode.\n");
>> + return ret;
>> + }
>> + /* Trigger once to start continuous conversion */
>> + ret = i2c_smbus_write_byte_data(i2c, LTC2990_TRIGGER, 1);
>> + if (ret < 0) {
>> + dev_err(&i2c->dev, "Error: Failed to start acquisition.\n");
>> + return ret;
>> + }
>> +
>> + hwmon_dev = devm_hwmon_device_register_with_groups(&i2c->dev,
>> + i2c->name,
>> + i2c,
>> + ltc2990_groups);
>> +
>> + return PTR_ERR_OR_ZERO(hwmon_dev);
>> +}
>> +
>> +static const struct i2c_device_id ltc2990_i2c_id[] = {
>> + { "ltc2990", 0 },
>> + {}
>> +};
>> +MODULE_DEVICE_TABLE(i2c, ltc2990_i2c_id);
>> +
>> +static struct i2c_driver ltc2990_i2c_driver = {
>> + .driver = {
>> + .name = "ltc2990",
>> + },
>> + .probe = ltc2990_i2c_probe,
>> + .id_table = ltc2990_i2c_id,
>> +};
>> +
>> +module_i2c_driver(ltc2990_i2c_driver);
>> +
>> +MODULE_DESCRIPTION("LTC2990 Sensor Driver");
>> +MODULE_AUTHOR("Topic Embedded Products");
>> +MODULE_LICENSE("GPL v2");
>> --
>> 1.9.1
>>
Kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Products
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: mike.looijmans@topicproducts.com
Website: www.topicproducts.com
Please consider the environment before printing this e-mail
next prev parent reply other threads:[~2016-01-15 9:54 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-06 8:07 [lm-sensors] [PATCH] hwmon: Add LTC2990 sensor driver Mike Looijmans
2016-01-06 8:07 ` Mike Looijmans
2016-01-06 15:22 ` Guenter Roeck
2016-01-07 18:59 ` [lm-sensors] " Mike Looijmans
2016-01-07 18:59 ` Mike Looijmans
2016-01-08 15:09 ` [lm-sensors] " Guenter Roeck
2016-01-08 15:09 ` Guenter Roeck
2016-01-13 11:05 ` [lm-sensors] [PATCH v2] " Mike Looijmans
2016-01-13 11:05 ` Mike Looijmans
2016-01-13 13:24 ` [lm-sensors] " Guenter Roeck
2016-01-13 13:24 ` Guenter Roeck
2016-01-13 13:51 ` [lm-sensors] " Mike Looijmans
2016-01-13 13:51 ` Mike Looijmans
2016-01-13 13:57 ` [lm-sensors] " Guenter Roeck
2016-01-13 13:57 ` Guenter Roeck
2016-01-13 14:03 ` [lm-sensors] " Mike Looijmans
2016-01-13 14:03 ` Mike Looijmans
2016-01-13 14:45 ` [lm-sensors] [PATCH v3] " Mike Looijmans
2016-01-13 14:45 ` Mike Looijmans
2016-01-14 19:14 ` [lm-sensors] " Guenter Roeck
2016-01-14 19:14 ` Guenter Roeck
2016-01-15 9:54 ` Mike Looijmans [this message]
2016-01-15 9:54 ` Mike Looijmans
2016-01-15 9:54 ` [lm-sensors] [PATCH v4] " Mike Looijmans
2016-01-15 9:54 ` Mike Looijmans
2016-01-15 15:40 ` [lm-sensors] " Guenter Roeck
2016-01-15 15:40 ` Guenter Roeck
2016-01-13 11:22 ` [lm-sensors] [PATCH] " Mike Looijmans
2016-01-13 11:22 ` Mike Looijmans
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5698C1DD.6000607@topic.nl \
--to=mike.looijmans@topic.nl \
--cc=jdelvare@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=lm-sensors@lm-sensors.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.