All of lore.kernel.org
 help / color / mirror / Atom feed
From: Varka Bhadram <varkabhadram@gmail.com>
To: hs@denx.de
Cc: lm-sensors@lm-sensors.org, Jean Delvare <khali@linux-fr.org>,
	Guenter Roeck <linux@roeck-us.net>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-doc@vger.kernel.org, Mark Rutland <mark.rutland@arm.com>
Subject: Re: [lm-sensors] [PATCH v5] hwmon: Driver for TI TMP103 temperature sensor
Date: Wed, 18 Jun 2014 07:19:13 +0000	[thread overview]
Message-ID: <53A13AA1.1090203@gmail.com> (raw)
In-Reply-To: <53A12ED2.4080004@denx.de>

T24gMDYvMTgvMjAxNCAxMTo0NiBBTSwgSGVpa28gU2Nob2NoZXIgd3JvdGU6Cj4gSGVsbG8gVmFy
a2EsCj4KPiBBbSAxOC4wNi4yMDE0IDA3OjQ2LCBzY2hyaWViIFZhcmthIEJoYWRyYW06Cj4+IEhp
LAo+Pgo+PiBPbiAwNi8xOC8yMDE0IDExOjA3IEFNLCBIZWlrbyBTY2hvY2hlciB3cm90ZToKPj4+
IERyaXZlciBmb3IgdGhlIFRJIFRNUDEwMy4KPj4+Cj4+PiBUaGUgVEkgVE1QMTAzIGlzIHNpbWls
YXIgdG8gdGhlIFRNUDEwMi4gSXQgZGlmZmVycyBmcm9tIHRoZSBUTVAxMDIKPj4+IGJ5IGhhdmlu
ZyBvbmx5IDggYml0IHJlZ2lzdGVycy4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTY2hv
Y2hlciA8aHNAZGVueC5kZT4KPj4+Cj4+PiAtLS0KPj4+Cj4+PiBDYzogSmVhbiBEZWx2YXJlIDxr
aGFsaUBsaW51eC1mci5vcmc+Cj4+PiBDYzogR3VlbnRlciBSb2VjayA8bGludXhAcm9lY2stdXMu
bmV0Pgo+Pj4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcKPj4+IENjOiBkZXZpY2V0
cmVlQHZnZXIua2VybmVsLm9yZwo+Pj4gQ2M6IGxpbnV4LWRvY0B2Z2VyLmtlcm5lbC5vcmcKPj4+
IENjOiBNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29tPgo+Pj4KPj4+IC0gY2hhbmdl
IGZvciB2MjoKPj4+IC0gYWRkIGNvbW1lbnRzIGZyb20gR3VlbnRlclJvZWNrOgo+Pj4gLSByZW1v
dmUgQ2MgZnJvbSBjb21taXQgc3ViamVjdAo+Pj4gLSBhZGQgZGV2aWNldHJlZSBtYWludGFpbmVy
Cj4+PiAtIG1vdmUgRG9jdW1lbnRhdGlvbiB0byBEb2N1bWVudGF0aW9uL2h3bW9uL3RtcDEwMwo+
Pj4gLSByZW1vdmUgZGV2aWNldHJlZSBiaW5kaW5ncyBmcm9tIERvY3VtZW50YXRpb24KPj4+IC0g
YWRkIGNvbXBhdGlibGUgc3RyaW5nIHRvCj4+PiAiRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp
bmRpbmdzL2kyYy90cml2aWFsLWRldmljZXMudHh0Igo+Pj4gLSByZW1vdmUgQ2FtZWxDYXNlCj4+
PiAtIGZpeCBDb2RpbmdzdHlsZSBpc3N1ZXMKPj4+IC0gdXNlIEFUVFJJQlVURV9HUk9VUFMgYW5k
IGRldm1faHdtb25fZGV2aWNlX3JlZ2lzdGVyX3dpdGhfZ3JvdXBzKCkKPj4+IC0gcmVtb3ZlIHVu
c3VzZWQgZGVmaW5lIFRNUDEwM19DT05GSUdfUkRfT05MWQo+Pj4gLSByZXN0b3JlIGNvbmZpZyBy
ZWdpc3RlciB3aGVuIGV4aXQoKQo+Pj4gLSB1c2UgcmVnbWFwCj4+PiAtIGNoYW5nZXMgZm9yIHYz
Ogo+Pj4gYWdhaW4gYSBsb3Qgb2YgZmFudGFzdGljIHRpcHMgaG93IHRvIHVzZSByZWdtYXAgZWZm
aWNpZW50bHkKPj4+IGZyb20gR3VlbnRlciBSb2VjazoKPj4+IC0gZ2V0IHJpZCBvZiAic3RydWN0
IHRtcDEwMyIKPj4+IC0gZ2V0IHJpZCBvZiAic3RhdGljIGNvbnN0IHU4IHRtcDEwM19yZWdbXSIK
Pj4+IC0gZ2V0IHJpZCBvZiBtdXRleCBsb2NrCj4+PiAtIGRyb3AgY29uZmlnX29yaWcgZW50aXJl
bHkKPj4+IC0gdXNlIHJlZ21hcF91cGRhdGVfYml0cygpCj4+PiAtIGNoYW5nZXMgZm9yIHY0Ogo+
Pj4gLSBhZGQgY29tbWVudCBmcm9tIEd1ZW50ZXIgUm9lY2s6Cj4+PiBkZWZpbmUgVE1QMTAzX0NP
TkZJR19NQVNLIGFuZCBUTVAxMDNfQ09ORl9TRF9NQVNLCj4+PiBzZXBhcmF0ZWx5IHRvIGVuc3Vy
ZSB5b3UgY2F0Y2ggYWxsIHRoZSB0by1iZS1jbGVhcmVkIGJpdHMuCj4+PiAtIGNoYW5nZXMgZm9y
IHY1Ogo+Pj4gYWRkIGNvbW1lbnQgZnJvbSBHdWVudGVyIFJvZWNrOgo+Pj4gLSB1c2UgIiNkZWZp
bmUgVE1QMTAzX0NPTkZfU0QgVE1QMTAzX0NPTkZfTTEiCj4+PiBhZGQgY29tbWVudCBmcm9tIE1h
cmsgUnV0bGFuZDoKPj4+IC0gdXNlIGZ1bGwgc3RyaW5nIGZvciBEVCBjb21wYXRpYmxlIHN0cmlu
ZyBtYXRjaGluZywgaW5zdGVhZCBvZgo+Pj4gRFJJVkVSX05BTUUuIEdldCByaWQgY29tcGxldGUg
b2YgRFJJVkVSX05BTUUgZGVmaW5lLgo+Pj4KPj4+IC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL2ky
Yy90cml2aWFsLWRldmljZXMudHh0IHwgMSArCj4+PiBEb2N1bWVudGF0aW9uL2h3bW9uL3RtcDEw
MyB8IDI4ICsrKwo+Pj4gZHJpdmVycy9od21vbi9LY29uZmlnIHwgMTAgKwo+Pj4gZHJpdmVycy9o
d21vbi9NYWtlZmlsZSB8IDEgKwo+Pj4gZHJpdmVycy9od21vbi90bXAxMDMuYyB8IDIwNSArKysr
KysrKysrKysrKysrKysrKysKPj4+IDUgZmlsZXMgY2hhbmdlZCwgMjQ1IGluc2VydGlvbnMoKykK
Pj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2h3bW9uL3RtcDEwMwo+Pj4gY3Jl
YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHdtb24vdG1wMTAzLmMKPj4+Cj4+PiBkaWZmIC0tZ2l0
Cj4+PiBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pMmMvdHJpdmlhbC1kZXZp
Y2VzLnR4dAo+Pj4gYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaTJjL3RyaXZp
YWwtZGV2aWNlcy50eHQKPj4+IGluZGV4IGJlZjg2ZTUuLmZjOTQ0ZTAgMTAwNjQ0Cj4+PiAtLS0g
YS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaTJjL3RyaXZpYWwtZGV2aWNlcy50
eHQKPj4+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pMmMvdHJpdmlh
bC1kZXZpY2VzLnR4dAo+Pj4gQEAgLTgzLDUgKzgzLDYgQEAgc3RtLG00MXQ4MCBNNDFUODAgLSBT
RVJJQUwgQUNDRVNTIFJUQyBXSVRIIEFMQVJNUwo+Pj4gdGFvcyx0c2wyNTUwIEFtYmllbnQgTGln
aHQgU2Vuc29yIHdpdGggU01CVVMvVHdvIFdpcmUgU2VyaWFsIEludGVyZmFjZQo+Pj4gdGksdHNj
MjAwMyBJMkMgVG91Y2gtU2NyZWVuIENvbnRyb2xsZXIKPj4+IHRpLHRtcDEwMiBMb3cgUG93ZXIg
RGlnaXRhbCBUZW1wZXJhdHVyZSBTZW5zb3Igd2l0aCBTTUJVUy9Ud28gV2lyZQo+Pj4gU2VyaWFs
IEludGVyZmFjZQo+Pj4gK3RpLHRtcDEwMyBMb3cgUG93ZXIgRGlnaXRhbCBUZW1wZXJhdHVyZSBT
ZW5zb3Igd2l0aCBTTUJVUy9Ud28gV2lyZQo+Pj4gU2VyaWFsIEludGVyZmFjZQo+Pj4gdGksdG1w
Mjc1IERpZ2l0YWwgVGVtcGVyYXR1cmUgU2Vuc29yCj4+PiB3aW5ib25kLHdwY3QzMDEgaTJjIHRy
dXN0ZWQgcGxhdGZvcm0gbW9kdWxlIChUUE0pCj4+PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv
bi9od21vbi90bXAxMDMgYi9Eb2N1bWVudGF0aW9uL2h3bW9uL3RtcDEwMwo+Pj4gbmV3IGZpbGUg
bW9kZSAxMDA2NDQKPj4+IGluZGV4IDAwMDAwMDAuLmVjMDBhMTUKPj4+IC0tLSAvZGV2L251bGwK
Pj4+ICsrKyBiL0RvY3VtZW50YXRpb24vaHdtb24vdG1wMTAzCj4+PiBAQCAtMCwwICsxLDI4IEBA
Cj4+PiArS2VybmVsIGRyaXZlciB0bXAxMDMKPj4+ICs9PT09PT09PT09PT09PT09PT09PQo+Pj4g
Kwo+Pj4gK1N1cHBvcnRlZCBjaGlwczoKPj4+ICsgKiBUZXhhcyBJbnN0cnVtZW50cyBUTVAxMDMK
Pj4+ICsgUHJlZml4OiAndG1wMTAzJwo+Pj4gKyBBZGRyZXNzZXMgc2Nhbm5lZDogbm9uZQo+Pj4g
KyBQcm9kdWN0IGluZm8gYW5kIGRhdGFzaGVldDogaHR0cDovL3d3dy50aS5jb20vcHJvZHVjdC90
bXAxMDMKPj4+ICsKPj4+ICtBdXRob3I6Cj4+PiArIEhlaWtvIFNjaG9jaGVyIDxoc0BkZW54LmRl
Pgo+Pj4gKwo+Pj4gK0Rlc2NyaXB0aW9uCj4+PiArLS0tLS0tLS0tLS0KPj4+ICsKPj4+ICtUaGUg
VE1QMTAzIGlzIGEgZGlnaXRhbCBvdXRwdXQgdGVtcGVyYXR1cmUgc2Vuc29yIGluIGEgZm91ci1i
YWxsCj4+PiArd2FmZXIgY2hpcC1zY2FsZSBwYWNrYWdlIChXQ1NQKS4gVGhlIFRNUDEwMyBpcyBj
YXBhYmxlIG9mIHJlYWRpbmcKPj4+ICt0ZW1wZXJhdHVyZXMgdG8gYSByZXNvbHV0aW9uIG9mIDHC
sEMuIFRoZSBUTVAxMDMgaXMgc3BlY2lmaWVkIGZvcgo+Pj4gK29wZXJhdGlvbiBvdmVyIGEgdGVt
cGVyYXR1cmUgcmFuZ2Ugb2Yg4oCTNDDCsEMgdG8gKzEyNcKwQy4KPj4+ICsKPj4+ICtSZXNvbHV0
aW9uOiA4IEJpdHMKPj4+ICtBY2N1cmFjeTogwrExwrBDIFR5cCAo4oCTMTDCsEMgdG8gKzEwMMKw
QykKPj4+ICsKPj4+ICtUaGUgZHJpdmVyIHByb3ZpZGVzIHRoZSBjb21tb24gc3lzZnMtaW50ZXJm
YWNlIGZvciB0ZW1wZXJhdHVyZXMgKHNlZQo+Pj4gK0RvY3VtZW50YXRpb24vaHdtb24vc3lzZnMt
aW50ZXJmYWNlIHVuZGVyIFRlbXBlcmF0dXJlcykuCj4+PiArCj4+PiArUGxlYXNlIHJlZmVyIGhv
dyB0byBpbnN0YW50aWF0ZSB0aGlzIGRyaXZlcjoKPj4+ICtEb2N1bWVudGF0aW9uL2kyYy9pbnN0
YW50aWF0aW5nLWRldmljZXMKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL0tjb25maWcg
Yi9kcml2ZXJzL2h3bW9uL0tjb25maWcKPj4+IGluZGV4IDA4NTMxYTEuLmM4ODJkNGIgMTAwNjQ0
Cj4+PiAtLS0gYS9kcml2ZXJzL2h3bW9uL0tjb25maWcKPj4+ICsrKyBiL2RyaXZlcnMvaHdtb24v
S2NvbmZpZwo+Pj4gQEAgLTEzOTEsNiArMTM5MSwxNiBAQCBjb25maWcgU0VOU09SU19UTVAxMDIK
Pj4+IFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhl
IG1vZHVsZQo+Pj4gd2lsbCBiZSBjYWxsZWQgdG1wMTAyLgo+Pj4gK2NvbmZpZyBTRU5TT1JTX1RN
UDEwMwo+Pj4gKyB0cmlzdGF0ZSAiVGV4YXMgSW5zdHJ1bWVudHMgVE1QMTAzIgo+Pj4gKyBkZXBl
bmRzIG9uIEkyQwo+Pj4gKyBoZWxwCj4+PiArIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBz
dXBwb3J0IGZvciBUZXhhcyBJbnN0cnVtZW50cyBUTVAxMDMKPj4+ICsgc2Vuc29yIGNoaXBzLgo+
Pj4gKwo+Pj4gKyBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gSWYg
c28sIHRoZSBtb2R1bGUKPj4+ICsgd2lsbCBiZSBjYWxsZWQgdG1wMTAzLgo+Pj4gKwo+Pj4gY29u
ZmlnIFNFTlNPUlNfVE1QNDAxCj4+PiB0cmlzdGF0ZSAiVGV4YXMgSW5zdHJ1bWVudHMgVE1QNDAx
IGFuZCBjb21wYXRpYmxlcyIKPj4+IGRlcGVuZHMgb24gSTJDCj4+PiBkaWZmIC0tZ2l0IGEvZHJp
dmVycy9od21vbi9NYWtlZmlsZSBiL2RyaXZlcnMvaHdtb24vTWFrZWZpbGUKPj4+IGluZGV4IDNk
YzBmMDIuLmNjMGRmMWVmIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9od21vbi9NYWtlZmlsZQo+
Pj4gKysrIGIvZHJpdmVycy9od21vbi9NYWtlZmlsZQo+Pj4gQEAgLTEzNSw2ICsxMzUsNyBAQCBv
YmotJChDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyKSs9IHNtc2M0N20xOTIubwo+Pj4gb2JqLSQo
Q09ORklHX1NFTlNPUlNfQU1DNjgyMSkgKz0gYW1jNjgyMS5vCj4+PiBvYmotJChDT05GSUdfU0VO
U09SU19USE1DNTApICs9IHRobWM1MC5vCj4+PiBvYmotJChDT05GSUdfU0VOU09SU19UTVAxMDIp
ICs9IHRtcDEwMi5vCj4+PiArb2JqLSQoQ09ORklHX1NFTlNPUlNfVE1QMTAzKSArPSB0bXAxMDMu
bwo+Pj4gb2JqLSQoQ09ORklHX1NFTlNPUlNfVE1QNDAxKSArPSB0bXA0MDEubwo+Pj4gb2JqLSQo
Q09ORklHX1NFTlNPUlNfVE1QNDIxKSArPSB0bXA0MjEubwo+Pj4gb2JqLSQoQ09ORklHX1NFTlNP
UlNfVFdMNDAzMF9NQURDKSs9IHR3bDQwMzAtbWFkYy1od21vbi5vCj4+PiBkaWZmIC0tZ2l0IGEv
ZHJpdmVycy9od21vbi90bXAxMDMuYyBiL2RyaXZlcnMvaHdtb24vdG1wMTAzLmMKPj4+IG5ldyBm
aWxlIG1vZGUgMTAwNjQ0Cj4+PiBpbmRleCAwMDAwMDAwLi5lNjlkYmNhCj4+PiAtLS0gL2Rldi9u
dWxsCj4+PiArKysgYi9kcml2ZXJzL2h3bW9uL3RtcDEwMy5jCj4+PiBAQCAtMCwwICsxLDIwNSBA
QAo+Pj4gKy8qCj4+PiArICogVGV4YXMgSW5zdHJ1bWVudHMgVE1QMTAzIFNNQnVzIHRlbXBlcmF0
dXJlIHNlbnNvciBkcml2ZXIKPj4+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTQgSGVpa28gU2Nob2No
ZXIgPGhzQGRlbnguZGU+Cj4+PiArICoKPj4+ICsgKiBCYXNlZCBvbjoKPj4+ICsgKiBUZXhhcyBJ
bnN0cnVtZW50cyBUTVAxMDIgU01CdXMgdGVtcGVyYXR1cmUgc2Vuc29yIGRyaXZlcgo+Pj4gKyAq
Cj4+PiArICogQ29weXJpZ2h0IChDKSAyMDEwIFN0ZXZlbiBLaW5nIDxzZmtpbmdAZmR3ZGMuY29t
Pgo+Pj4gKyAqCj4+PiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+Pj4gbW9kaWZ5Cj4+PiArICogaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+Pj4gcHVibGlzaGVkIGJ5
Cj4+PiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IKPj4+ICsgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgo+Pj4gKyAqCj4+PiArICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4+PiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPj4+ICsgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPj4+
ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+Pj4gKyAq
Cj4+PiArICovCj4+PiArCj4+PiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+Pj4gKyNpbmNs
dWRlIDxsaW51eC9pbml0Lmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPj4+ICsjaW5j
bHVkZSA8bGludXgvaTJjLmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4L2h3bW9uLmg+Cj4+PiArI2lu
Y2x1ZGUgPGxpbnV4L2h3bW9uLXN5c2ZzLmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgo+
Pj4gKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgo+Pj4gKyNpbmNsdWRlIDxsaW51eC9kZXZpY2Uu
aD4KPj4+ICsjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgo+Pj4gKyNpbmNsdWRlIDxsaW51eC9y
ZWdtYXAuaD4KPj4+ICsKPj4+ICsjZGVmaW5lIFRNUDEwM19URU1QX1JFRyAweDAwCj4+PiArI2Rl
ZmluZSBUTVAxMDNfQ09ORl9SRUcgMHgwMQo+Pj4gKyNkZWZpbmUgVE1QMTAzX1RMT1dfUkVHIDB4
MDIKPj4+ICsjZGVmaW5lIFRNUDEwM19USElHSF9SRUcgMHgwMwo+Pj4gKwo+Pj4gKyNkZWZpbmUg
VE1QMTAzX0NPTkZfTTAgMHgwMQo+Pj4gKyNkZWZpbmUgVE1QMTAzX0NPTkZfTTEgMHgwMgo+Pj4g
KyNkZWZpbmUgVE1QMTAzX0NPTkZfTEMgMHgwNAo+Pj4gKyNkZWZpbmUgVE1QMTAzX0NPTkZfRkwg
MHgwOAo+Pj4gKyNkZWZpbmUgVE1QMTAzX0NPTkZfRkggMHgxMAo+Pj4gKyNkZWZpbmUgVE1QMTAz
X0NPTkZfQ1IwIDB4MjAKPj4+ICsjZGVmaW5lIFRNUDEwM19DT05GX0NSMSAweDQwCj4+PiArI2Rl
ZmluZSBUTVAxMDNfQ09ORl9JRCAweDgwCj4+PiArI2RlZmluZSBUTVAxMDNfQ09ORl9TRCAoVE1Q
MTAzX0NPTkZfTTEpCj4+PiArI2RlZmluZSBUTVAxMDNfQ09ORl9TRF9NQVNLIChUTVAxMDNfQ09O
Rl9NMCB8IFRNUDEwM19DT05GX00xKQo+Pj4gKwo+Pj4gKyNkZWZpbmUgVE1QMTAzX0NPTkZJRyAo
VE1QMTAzX0NPTkZfQ1IxIHwgVE1QMTAzX0NPTkZfTTEpCj4+PiArI2RlZmluZSBUTVAxMDNfQ09O
RklHX01BU0sgKFRNUDEwM19DT05GX0NSMCB8IFRNUDEwM19DT05GX0NSMSB8IFwKPj4+ICsgVE1Q
MTAzX0NPTkZfTTAgfCBUTVAxMDNfQ09ORl9NMSkKPj4+ICsKPj4+ICtzdGF0aWMgaW5saW5lIGlu
dCB0bXAxMDNfcmVnX3RvX21jKHM4IHZhbCkKPj4+ICt7Cj4+PiArIHJldHVybiB2YWwgKiAxMDAw
Owo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgaW5saW5lIHU4IHRtcDEwM19tY190b19yZWcoaW50
IHZhbCkKPj4+ICt7Cj4+PiArIHJldHVybiBESVZfUk9VTkRfQ0xPU0VTVCh2YWwsIDEwMDApOwo+
Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgc3NpemVfdCB0bXAxMDNfc2hvd190ZW1wKHN0cnVjdCBk
ZXZpY2UgKmRldiwKPj4+ICsgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCj4+PiArIGNo
YXIgKmJ1ZikKPj4+ICt7Cj4+PiArIHN0cnVjdCBzZW5zb3JfZGV2aWNlX2F0dHJpYnV0ZSAqc2Rh
ID0gdG9fc2Vuc29yX2Rldl9hdHRyKGF0dHIpOwo+Pj4gKyBzdHJ1Y3QgcmVnbWFwICpyZWdtYXAg
PSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPj4+ICsgdW5zaWduZWQgaW50IHJlZ3ZhbDsKPj4+ICsg
aW50IHJldDsKPj4+ICsKPj4+ICsgcmV0ID0gcmVnbWFwX3JlYWQocmVnbWFwLCBzZGEtPmluZGV4
LCAmcmVndmFsKTsKPj4+ICsgaWYgKHJldCA8IDApCj4+PiArIHJldHVybiByZXQ7Cj4+PiArCj4+
PiArIHJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCB0bXAxMDNfcmVnX3RvX21jKHJlZ3ZhbCkp
Owo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgc3NpemVfdCB0bXAxMDNfc2V0X3RlbXAoc3RydWN0
IGRldmljZSAqZGV2LAo+Pj4gKyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKPj4+ICsg
Y29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCj4+PiArewo+Pj4gKyBzdHJ1Y3Qgc2Vuc29y
X2RldmljZV9hdHRyaWJ1dGUgKnNkYSA9IHRvX3NlbnNvcl9kZXZfYXR0cihhdHRyKTsKPj4+ICsg
c3RydWN0IHJlZ21hcCAqcmVnbWFwID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4+PiArIGxvbmcg
dmFsOwo+Pj4gKyBpbnQgcmV0Owo+Pj4gKwo+Pj4gKyBpZiAoa3N0cnRvbChidWYsIDEwLCAmdmFs
KSA8IDApCj4+PiArIHJldHVybiAtRUlOVkFMOwo+Pj4gKwo+Pj4gKyB2YWwgPSBjbGFtcF92YWwo
dmFsLCAtNTUwMDAsIDEyNzAwMCk7Cj4+PiArIHJldCA9IHJlZ21hcF93cml0ZShyZWdtYXAsIHNk
YS0+aW5kZXgsIHRtcDEwM19tY190b19yZWcodmFsKSk7Cj4+PiArIHJldHVybiByZXQgPyByZXQg
OiBjb3VudDsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUih0ZW1w
MV9pbnB1dCwgU19JUlVHTywgdG1wMTAzX3Nob3dfdGVtcCwKPj4+IE5VTEwgLAo+Pj4gKyBUTVAx
MDNfVEVNUF9SRUcpOwo+Pj4gKwo+Pj4gK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIodGVtcDFf
bWluLCBTX0lXVVNSIHwgU19JUlVHTywKPj4+IHRtcDEwM19zaG93X3RlbXAsCj4+PiArIHRtcDEw
M19zZXRfdGVtcCwgVE1QMTAzX1RMT1dfUkVHKTsKPj4+ICsKPj4+ICtzdGF0aWMgU0VOU09SX0RF
VklDRV9BVFRSKHRlbXAxX21heCwgU19JV1VTUiB8IFNfSVJVR08sCj4+PiB0bXAxMDNfc2hvd190
ZW1wLAo+Pj4gKyB0bXAxMDNfc2V0X3RlbXAsIFRNUDEwM19USElHSF9SRUcpOwo+Pj4gKwo+Pj4g
K3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICp0bXAxMDNfYXR0cnNbXSA9IHsKPj4+ICsgJnNlbnNv
cl9kZXZfYXR0cl90ZW1wMV9pbnB1dC5kZXZfYXR0ci5hdHRyLAo+Pj4gKyAmc2Vuc29yX2Rldl9h
dHRyX3RlbXAxX21pbi5kZXZfYXR0ci5hdHRyLAo+Pj4gKyAmc2Vuc29yX2Rldl9hdHRyX3RlbXAx
X21heC5kZXZfYXR0ci5hdHRyLAo+Pj4gKyBOVUxMCj4+PiArfTsKPj4+ICtBVFRSSUJVVEVfR1JP
VVBTKHRtcDEwMyk7Cj4+PiArCj4+PiArc3RhdGljIGJvb2wgdG1wMTAzX3JlZ21hcF9pc192b2xh
dGlsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkCj4+PiBpbnQgcmVnKQo+Pj4gK3sKPj4+
ICsgcmV0dXJuIHJlZyA9PSBUTVAxMDNfVEVNUF9SRUc7Cj4+PiArfQo+Pj4gKwo+Pj4gK3N0YXRp
YyBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyB0bXAxMDNfcmVnbWFwX2NvbmZpZyA9IHsKPj4+ICsgLnJl
Z19iaXRzID0gOCwKPj4+ICsgLnZhbF9iaXRzID0gOCwKPj4+ICsgLm1heF9yZWdpc3RlciA9IFRN
UDEwM19USElHSF9SRUcsCj4+PiArIC52b2xhdGlsZV9yZWcgPSB0bXAxMDNfcmVnbWFwX2lzX3Zv
bGF0aWxlLAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIGludCB0bXAxMDNfcHJvYmUoc3RydWN0
IGkyY19jbGllbnQgKmNsaWVudCwKPj4+ICsgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlk
KQo+Pj4gK3sKPj4+ICsgc3RydWN0IGRldmljZSAqZGV2ID0gJmNsaWVudC0+ZGV2Owo+Pj4gKyBz
dHJ1Y3QgZGV2aWNlICpod21vbl9kZXY7Cj4+PiArIHN0cnVjdCByZWdtYXAgKnJlZ21hcDsKPj4+
ICsgaW50IHJldDsKPj4+ICsKPj4+ICsgaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShjbGll
bnQtPmFkYXB0ZXIsCj4+PiArIEkyQ19GVU5DX1NNQlVTX0JZVEVfREFUQSkpIHsKPj4+ICsgZGV2
X2VycigmY2xpZW50LT5kZXYsCj4+PiArICJhZGFwdGVyIGRvZXNuJ3Qgc3VwcG9ydCBTTUJ1cyBi
eXRlIHRyYW5zYWN0aW9uc1xuIik7Cj4+PiArIHJldHVybiAtRU5PREVWOwo+Pj4gKyB9Cj4+PiAr
Cj4+PiArIHJlZ21hcCA9IGRldm1fcmVnbWFwX2luaXRfaTJjKGNsaWVudCwgJnRtcDEwM19yZWdt
YXBfY29uZmlnKTsKPj4+ICsgaWYgKElTX0VSUihyZWdtYXApKSB7Cj4+PiArIGRldl9lcnIoZGV2
LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlZ2lzdGVyIG1hcFxuIik7Cj4+PiArIHJldHVybiBQVFJf
RVJSKHJlZ21hcCk7Cj4+PiArIH0KPj4+ICsKPj4+ICsgcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRz
KHJlZ21hcCwgVE1QMTAzX0NPTkZfUkVHLCBUTVAxMDNfQ09ORklHX01BU0ssCj4+PiArIFRNUDEw
M19DT05GSUcpOwo+Pj4gKyBpZiAocmV0IDwgMCkgewo+Pj4gKyBkZXZfZXJyKCZjbGllbnQtPmRl
diwgImVycm9yIHdyaXRpbmcgY29uZmlnIHJlZ2lzdGVyXG4iKTsKPj4+ICsgcmV0dXJuIHJldDsK
Pj4+ICsgfQo+Pj4gKwo+Pj4gKyBod21vbl9kZXYgPSBod21vbl9kZXZpY2VfcmVnaXN0ZXJfd2l0
aF9ncm91cHMoZGV2LCBjbGllbnQtPm5hbWUsCj4+PiArIHJlZ21hcCwgdG1wMTAzX2dyb3Vwcyk7
Cj4+PiArIHJldHVybiBQVFJfRVJSX09SX1pFUk8oaHdtb25fZGV2KTsKPj4+ICt9Cj4+PiArCj4+
PiArI2lmZGVmIENPTkZJR19QTQo+Pj4gK3N0YXRpYyBpbnQgdG1wMTAzX3N1c3BlbmQoc3RydWN0
IGRldmljZSAqZGV2KQo+Pj4gK3sKPj4+ICsgc3RydWN0IHJlZ21hcCAqcmVnbWFwID0gZGV2X2dl
dF9kcnZkYXRhKGRldik7Cj4+PiArCj4+PiArIHJldHVybiByZWdtYXBfdXBkYXRlX2JpdHMocmVn
bWFwLCBUTVAxMDNfQ09ORl9SRUcsCj4+PiArIFRNUDEwM19DT05GX1NEX01BU0ssIDApOwo+Pj4g
K30KPj4+ICsKPj4+ICtzdGF0aWMgaW50IHRtcDEwM19yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2
KQo+Pj4gK3sKPj4+ICsgc3RydWN0IHJlZ21hcCAqcmVnbWFwID0gZGV2X2dldF9kcnZkYXRhKGRl
dik7Cj4+PiArCj4+PiArIHJldHVybiByZWdtYXBfdXBkYXRlX2JpdHMocmVnbWFwLCBUTVAxMDNf
Q09ORl9SRUcsCj4+PiArIFRNUDEwM19DT05GX1NEX01BU0ssIFRNUDEwM19DT05GX1NEKTsKPj4+
ICt9Cj4+PiArCj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIHRtcDEwM19kZXZf
cG1fb3BzID0gewo+Pj4gKyAuc3VzcGVuZCA9IHRtcDEwM19zdXNwZW5kLAo+Pj4gKyAucmVzdW1l
ID0gdG1wMTAzX3Jlc3VtZSwKPj4+ICt9Owo+Pj4gKwo+Pj4gKyNkZWZpbmUgVE1QMTAzX0RFVl9Q
TV9PUFMgKCZ0bXAxMDNfZGV2X3BtX29wcykKPj4+ICsjZWxzZQo+Pj4gKyNkZWZpbmUgVE1QMTAz
X0RFVl9QTV9PUFMgTlVMTAo+Pj4gKyNlbmRpZiAvKiBDT05GSUdfUE0gKi8KPj4+ICsKPj4+ICtz
dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdG1wMTAzX2lkW10gPSB7Cj4+PiArIHsg
InRtcDEwMyIsIDAgfSwKPj4+ICsgeyB9Cj4+PiArfTsKPj4KPj4gSW4gdGhlIGJpbmRpbmdzIHlv
dSBhcmUgZ2l2aW5nIHRoZSBjb21wYXRpYmxlIHByb3BlcnR5IGFzIDoKPj4gdGksdG1wMTAzLCBi
dXQgaGVyZSBvbmx5IHRtcDEwMy4KPj4KPj4gSW5zdGVhZCBvZiB1c2luZyB0aGUgaTJjX2Rldmlj
ZV9pZCBzdHJ1Y3QgLCB1c2Ugb2ZfZGV2aWNlX2lkIHN0cnVjdAo+PiBmb3IgZ2l2aW5nIHRoZQo+
PiBjb21wYXRpYmxlIHByb3BlcnR5IHZhbHVlLgo+PiBjb21wYXRibGUgPSAiPG1hbnVmYWN0dXJl
cj4sPG1vZGVsPiIKPgo+IFRoZXJlIGFyZSBhIGxvdCBvZiBkcml2ZXJzIGluIGRyaXZlcnMvaHdt
b24gd2hpY2ggdXNlICJpMmNfZGV2aWNlX2lkCj4gc3RydWN0IiwKPiBhbmQgZm9yIHRoZW0gb25s
eSAibW9kZWwiIGlzIG5lY2Vzc2FyeSAuLi4KPgo+IEFzIHRoaXMgaXMgbm90IGEgcGxhdGZvcm0g
ZHJpdmVyLCBJIGRvIG5vdCBrbm93LCBpZiAib2ZfZGV2aWNlX2lkIHN0cnVjdCIKPiBpcyBwb3Nz
aWJsZSB0byB1c2UuIEZvciB0aGF0LCBpdCBtdXN0IGJlIGNvbnZlcnRlZCB0byBhIHBsYXRmb3Jt
Cj4gZGV2aWNlIGRyaXZlciAuLi4KPgpJIHRob3VnaHQgeW91ciBhcmUgdXNpbmcgdGhlIGRldmlj
ZXRyZWUgc291cmNlIHRvIGxvYWQgdGhlIGRyaXZlci4gSW4gCnRoYXQgY2FzZSBpdCBuZWVkIG5v
dCB0byBiZSBwbGF0Zm9ybSBkcml2ZXIuCndlIGNhbiB1c2UgIm9mX2RldmljZV9pZCBzdHJ1Y3Qi
IHdoaWNoIG1hdGNoZXMgdGhlIGJpbmRpbmdzIGluIHlvdXIgCnRyaXZpYWwtZGV2aWNlcy50eHQK
ClRoYW5rcwpWYXJrYSBCaGFkcmFtCj4gYnllLAo+IEhlaWtvCj4+Cj4+PiArTU9EVUxFX0RFVklD
RV9UQUJMRShpMmMsIHRtcDEwM19pZCk7Cj4+PiArK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB0
bXAxMDNfZHJpdmVyID0gewo+Pj4gKyAuZHJpdmVyID0gewo+Pj4gKyAubmFtZSA9ICJ0bXAxMDMi
LAo+Pj4gKyAucG0gPSBUTVAxMDNfREVWX1BNX09QUywKPj4+ICsgfSwKPj4+ICsgLnByb2JlID0g
dG1wMTAzX3Byb2JlLAo+Pj4gKyAuaWRfdGFibGUgPSB0bXAxMDNfaWQsCj4+PiArfTsKPj4+ICsK
Pj4+ICttb2R1bGVfaTJjX2RyaXZlcih0bXAxMDNfZHJpdmVyKTsKPj4+ICsKPj4+ICtNT0RVTEVf
QVVUSE9SKCJIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4iKTsKPj4+ICtNT0RVTEVfREVTQ1JJ
UFRJT04oIlRleGFzIEluc3RydW1lbnRzIFRNUDEwMyB0ZW1wZXJhdHVyZSBzZW5zb3IKPj4+IGRy
aXZlciIpOwo+Pj4gK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKPj4KPj4KPj4KPgoKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxtLXNlbnNvcnMgbWFpbGlu
ZyBsaXN0CmxtLXNlbnNvcnNAbG0tc2Vuc29ycy5vcmcKaHR0cDovL2xpc3RzLmxtLXNlbnNvcnMu
b3JnL21haWxtYW4vbGlzdGluZm8vbG0tc2Vuc29ycw=

WARNING: multiple messages have this Message-ID (diff)
From: Varka Bhadram <varkabhadram@gmail.com>
To: hs@denx.de
Cc: lm-sensors@lm-sensors.org, Jean Delvare <khali@linux-fr.org>,
	Guenter Roeck <linux@roeck-us.net>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-doc@vger.kernel.org, Mark Rutland <mark.rutland@arm.com>
Subject: Re: [PATCH v5] hwmon: Driver for TI TMP103 temperature sensor
Date: Wed, 18 Jun 2014 12:37:13 +0530	[thread overview]
Message-ID: <53A13AA1.1090203@gmail.com> (raw)
In-Reply-To: <53A12ED2.4080004@denx.de>

On 06/18/2014 11:46 AM, Heiko Schocher wrote:
> Hello Varka,
>
> Am 18.06.2014 07:46, schrieb Varka Bhadram:
>> Hi,
>>
>> On 06/18/2014 11:07 AM, Heiko Schocher wrote:
>>> Driver for the TI TMP103.
>>>
>>> The TI TMP103 is similar to the TMP102. It differs from the TMP102
>>> by having only 8 bit registers.
>>>
>>> Signed-off-by: Heiko Schocher <hs@denx.de>
>>>
>>> ---
>>>
>>> Cc: Jean Delvare <khali@linux-fr.org>
>>> Cc: Guenter Roeck <linux@roeck-us.net>
>>> Cc: linux-kernel@vger.kernel.org
>>> Cc: devicetree@vger.kernel.org
>>> Cc: linux-doc@vger.kernel.org
>>> Cc: Mark Rutland <mark.rutland@arm.com>
>>>
>>> - change for v2:
>>> - add comments from GuenterRoeck:
>>> - remove Cc from commit subject
>>> - add devicetree maintainer
>>> - move Documentation to Documentation/hwmon/tmp103
>>> - remove devicetree bindings from Documentation
>>> - add compatible string to
>>> "Documentation/devicetree/bindings/i2c/trivial-devices.txt"
>>> - remove CamelCase
>>> - fix Codingstyle issues
>>> - use ATTRIBUTE_GROUPS and devm_hwmon_device_register_with_groups()
>>> - remove unsused define TMP103_CONFIG_RD_ONLY
>>> - restore config register when exit()
>>> - use regmap
>>> - changes for v3:
>>> again a lot of fantastic tips how to use regmap efficiently
>>> from Guenter Roeck:
>>> - get rid of "struct tmp103"
>>> - get rid of "static const u8 tmp103_reg[]"
>>> - get rid of mutex lock
>>> - drop config_orig entirely
>>> - use regmap_update_bits()
>>> - changes for v4:
>>> - add comment from Guenter Roeck:
>>> define TMP103_CONFIG_MASK and TMP103_CONF_SD_MASK
>>> separately to ensure you catch all the to-be-cleared bits.
>>> - changes for v5:
>>> add comment from Guenter Roeck:
>>> - use "#define TMP103_CONF_SD TMP103_CONF_M1"
>>> add comment from Mark Rutland:
>>> - use full string for DT compatible string matching, instead of
>>> DRIVER_NAME. Get rid complete of DRIVER_NAME define.
>>>
>>> .../devicetree/bindings/i2c/trivial-devices.txt | 1 +
>>> Documentation/hwmon/tmp103 | 28 +++
>>> drivers/hwmon/Kconfig | 10 +
>>> drivers/hwmon/Makefile | 1 +
>>> drivers/hwmon/tmp103.c | 205 +++++++++++++++++++++
>>> 5 files changed, 245 insertions(+)
>>> create mode 100644 Documentation/hwmon/tmp103
>>> create mode 100644 drivers/hwmon/tmp103.c
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
>>> b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
>>> index bef86e5..fc944e0 100644
>>> --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
>>> +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
>>> @@ -83,5 +83,6 @@ stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS
>>> taos,tsl2550 Ambient Light Sensor with SMBUS/Two Wire Serial Interface
>>> ti,tsc2003 I2C Touch-Screen Controller
>>> ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire
>>> Serial Interface
>>> +ti,tmp103 Low Power Digital Temperature Sensor with SMBUS/Two Wire
>>> Serial Interface
>>> ti,tmp275 Digital Temperature Sensor
>>> winbond,wpct301 i2c trusted platform module (TPM)
>>> diff --git a/Documentation/hwmon/tmp103 b/Documentation/hwmon/tmp103
>>> new file mode 100644
>>> index 0000000..ec00a15
>>> --- /dev/null
>>> +++ b/Documentation/hwmon/tmp103
>>> @@ -0,0 +1,28 @@
>>> +Kernel driver tmp103
>>> +====================
>>> +
>>> +Supported chips:
>>> + * Texas Instruments TMP103
>>> + Prefix: 'tmp103'
>>> + Addresses scanned: none
>>> + Product info and datasheet: http://www.ti.com/product/tmp103
>>> +
>>> +Author:
>>> + Heiko Schocher <hs@denx.de>
>>> +
>>> +Description
>>> +-----------
>>> +
>>> +The TMP103 is a digital output temperature sensor in a four-ball
>>> +wafer chip-scale package (WCSP). The TMP103 is capable of reading
>>> +temperatures to a resolution of 1°C. The TMP103 is specified for
>>> +operation over a temperature range of –40°C to +125°C.
>>> +
>>> +Resolution: 8 Bits
>>> +Accuracy: ±1°C Typ (–10°C to +100°C)
>>> +
>>> +The driver provides the common sysfs-interface for temperatures (see
>>> +Documentation/hwmon/sysfs-interface under Temperatures).
>>> +
>>> +Please refer how to instantiate this driver:
>>> +Documentation/i2c/instantiating-devices
>>> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
>>> index 08531a1..c882d4b 100644
>>> --- a/drivers/hwmon/Kconfig
>>> +++ b/drivers/hwmon/Kconfig
>>> @@ -1391,6 +1391,16 @@ config SENSORS_TMP102
>>> This driver can also be built as a module. If so, the module
>>> will be called tmp102.
>>> +config SENSORS_TMP103
>>> + tristate "Texas Instruments TMP103"
>>> + depends on I2C
>>> + help
>>> + If you say yes here you get support for Texas Instruments TMP103
>>> + sensor chips.
>>> +
>>> + This driver can also be built as a module. If so, the module
>>> + will be called tmp103.
>>> +
>>> config SENSORS_TMP401
>>> tristate "Texas Instruments TMP401 and compatibles"
>>> depends on I2C
>>> diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
>>> index 3dc0f02..cc0df1ef 100644
>>> --- a/drivers/hwmon/Makefile
>>> +++ b/drivers/hwmon/Makefile
>>> @@ -135,6 +135,7 @@ obj-$(CONFIG_SENSORS_SMSC47M192)+= smsc47m192.o
>>> obj-$(CONFIG_SENSORS_AMC6821) += amc6821.o
>>> obj-$(CONFIG_SENSORS_THMC50) += thmc50.o
>>> obj-$(CONFIG_SENSORS_TMP102) += tmp102.o
>>> +obj-$(CONFIG_SENSORS_TMP103) += tmp103.o
>>> obj-$(CONFIG_SENSORS_TMP401) += tmp401.o
>>> obj-$(CONFIG_SENSORS_TMP421) += tmp421.o
>>> obj-$(CONFIG_SENSORS_TWL4030_MADC)+= twl4030-madc-hwmon.o
>>> diff --git a/drivers/hwmon/tmp103.c b/drivers/hwmon/tmp103.c
>>> new file mode 100644
>>> index 0000000..e69dbca
>>> --- /dev/null
>>> +++ b/drivers/hwmon/tmp103.c
>>> @@ -0,0 +1,205 @@
>>> +/*
>>> + * Texas Instruments TMP103 SMBus temperature sensor driver
>>> + * Copyright (C) 2014 Heiko Schocher <hs@denx.de>
>>> + *
>>> + * Based on:
>>> + * Texas Instruments TMP102 SMBus temperature sensor driver
>>> + *
>>> + * Copyright (C) 2010 Steven King <sfking@fdwdc.com>
>>> + *
>>> + * This program is free software; you can redistribute it and/or
>>> modify
>>> + * it under the terms of the GNU General Public License as
>>> published by
>>> + * the Free Software Foundation; either version 2 of the License, or
>>> + * (at your option) any later version.
>>> + *
>>> + * This program is distributed in the hope that it will be useful,
>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>>> + * GNU General Public License for more details.
>>> + *
>>> + */
>>> +
>>> +#include <linux/module.h>
>>> +#include <linux/init.h>
>>> +#include <linux/slab.h>
>>> +#include <linux/i2c.h>
>>> +#include <linux/hwmon.h>
>>> +#include <linux/hwmon-sysfs.h>
>>> +#include <linux/err.h>
>>> +#include <linux/mutex.h>
>>> +#include <linux/device.h>
>>> +#include <linux/jiffies.h>
>>> +#include <linux/regmap.h>
>>> +
>>> +#define TMP103_TEMP_REG 0x00
>>> +#define TMP103_CONF_REG 0x01
>>> +#define TMP103_TLOW_REG 0x02
>>> +#define TMP103_THIGH_REG 0x03
>>> +
>>> +#define TMP103_CONF_M0 0x01
>>> +#define TMP103_CONF_M1 0x02
>>> +#define TMP103_CONF_LC 0x04
>>> +#define TMP103_CONF_FL 0x08
>>> +#define TMP103_CONF_FH 0x10
>>> +#define TMP103_CONF_CR0 0x20
>>> +#define TMP103_CONF_CR1 0x40
>>> +#define TMP103_CONF_ID 0x80
>>> +#define TMP103_CONF_SD (TMP103_CONF_M1)
>>> +#define TMP103_CONF_SD_MASK (TMP103_CONF_M0 | TMP103_CONF_M1)
>>> +
>>> +#define TMP103_CONFIG (TMP103_CONF_CR1 | TMP103_CONF_M1)
>>> +#define TMP103_CONFIG_MASK (TMP103_CONF_CR0 | TMP103_CONF_CR1 | \
>>> + TMP103_CONF_M0 | TMP103_CONF_M1)
>>> +
>>> +static inline int tmp103_reg_to_mc(s8 val)
>>> +{
>>> + return val * 1000;
>>> +}
>>> +
>>> +static inline u8 tmp103_mc_to_reg(int val)
>>> +{
>>> + return DIV_ROUND_CLOSEST(val, 1000);
>>> +}
>>> +
>>> +static ssize_t tmp103_show_temp(struct device *dev,
>>> + struct device_attribute *attr,
>>> + char *buf)
>>> +{
>>> + struct sensor_device_attribute *sda = to_sensor_dev_attr(attr);
>>> + struct regmap *regmap = dev_get_drvdata(dev);
>>> + unsigned int regval;
>>> + int ret;
>>> +
>>> + ret = regmap_read(regmap, sda->index, &regval);
>>> + if (ret < 0)
>>> + return ret;
>>> +
>>> + return sprintf(buf, "%d\n", tmp103_reg_to_mc(regval));
>>> +}
>>> +
>>> +static ssize_t tmp103_set_temp(struct device *dev,
>>> + struct device_attribute *attr,
>>> + const char *buf, size_t count)
>>> +{
>>> + struct sensor_device_attribute *sda = to_sensor_dev_attr(attr);
>>> + struct regmap *regmap = dev_get_drvdata(dev);
>>> + long val;
>>> + int ret;
>>> +
>>> + if (kstrtol(buf, 10, &val) < 0)
>>> + return -EINVAL;
>>> +
>>> + val = clamp_val(val, -55000, 127000);
>>> + ret = regmap_write(regmap, sda->index, tmp103_mc_to_reg(val));
>>> + return ret ? ret : count;
>>> +}
>>> +
>>> +static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, tmp103_show_temp,
>>> NULL ,
>>> + TMP103_TEMP_REG);
>>> +
>>> +static SENSOR_DEVICE_ATTR(temp1_min, S_IWUSR | S_IRUGO,
>>> tmp103_show_temp,
>>> + tmp103_set_temp, TMP103_TLOW_REG);
>>> +
>>> +static SENSOR_DEVICE_ATTR(temp1_max, S_IWUSR | S_IRUGO,
>>> tmp103_show_temp,
>>> + tmp103_set_temp, TMP103_THIGH_REG);
>>> +
>>> +static struct attribute *tmp103_attrs[] = {
>>> + &sensor_dev_attr_temp1_input.dev_attr.attr,
>>> + &sensor_dev_attr_temp1_min.dev_attr.attr,
>>> + &sensor_dev_attr_temp1_max.dev_attr.attr,
>>> + NULL
>>> +};
>>> +ATTRIBUTE_GROUPS(tmp103);
>>> +
>>> +static bool tmp103_regmap_is_volatile(struct device *dev, unsigned
>>> int reg)
>>> +{
>>> + return reg == TMP103_TEMP_REG;
>>> +}
>>> +
>>> +static struct regmap_config tmp103_regmap_config = {
>>> + .reg_bits = 8,
>>> + .val_bits = 8,
>>> + .max_register = TMP103_THIGH_REG,
>>> + .volatile_reg = tmp103_regmap_is_volatile,
>>> +};
>>> +
>>> +static int tmp103_probe(struct i2c_client *client,
>>> + const struct i2c_device_id *id)
>>> +{
>>> + struct device *dev = &client->dev;
>>> + struct device *hwmon_dev;
>>> + struct regmap *regmap;
>>> + int ret;
>>> +
>>> + if (!i2c_check_functionality(client->adapter,
>>> + I2C_FUNC_SMBUS_BYTE_DATA)) {
>>> + dev_err(&client->dev,
>>> + "adapter doesn't support SMBus byte transactions\n");
>>> + return -ENODEV;
>>> + }
>>> +
>>> + regmap = devm_regmap_init_i2c(client, &tmp103_regmap_config);
>>> + if (IS_ERR(regmap)) {
>>> + dev_err(dev, "failed to allocate register map\n");
>>> + return PTR_ERR(regmap);
>>> + }
>>> +
>>> + ret = regmap_update_bits(regmap, TMP103_CONF_REG, TMP103_CONFIG_MASK,
>>> + TMP103_CONFIG);
>>> + if (ret < 0) {
>>> + dev_err(&client->dev, "error writing config register\n");
>>> + return ret;
>>> + }
>>> +
>>> + hwmon_dev = hwmon_device_register_with_groups(dev, client->name,
>>> + regmap, tmp103_groups);
>>> + return PTR_ERR_OR_ZERO(hwmon_dev);
>>> +}
>>> +
>>> +#ifdef CONFIG_PM
>>> +static int tmp103_suspend(struct device *dev)
>>> +{
>>> + struct regmap *regmap = dev_get_drvdata(dev);
>>> +
>>> + return regmap_update_bits(regmap, TMP103_CONF_REG,
>>> + TMP103_CONF_SD_MASK, 0);
>>> +}
>>> +
>>> +static int tmp103_resume(struct device *dev)
>>> +{
>>> + struct regmap *regmap = dev_get_drvdata(dev);
>>> +
>>> + return regmap_update_bits(regmap, TMP103_CONF_REG,
>>> + TMP103_CONF_SD_MASK, TMP103_CONF_SD);
>>> +}
>>> +
>>> +static const struct dev_pm_ops tmp103_dev_pm_ops = {
>>> + .suspend = tmp103_suspend,
>>> + .resume = tmp103_resume,
>>> +};
>>> +
>>> +#define TMP103_DEV_PM_OPS (&tmp103_dev_pm_ops)
>>> +#else
>>> +#define TMP103_DEV_PM_OPS NULL
>>> +#endif /* CONFIG_PM */
>>> +
>>> +static const struct i2c_device_id tmp103_id[] = {
>>> + { "tmp103", 0 },
>>> + { }
>>> +};
>>
>> In the bindings you are giving the compatible property as :
>> ti,tmp103, but here only tmp103.
>>
>> Instead of using the i2c_device_id struct , use of_device_id struct
>> for giving the
>> compatible property value.
>> compatble = "<manufacturer>,<model>"
>
> There are a lot of drivers in drivers/hwmon which use "i2c_device_id
> struct",
> and for them only "model" is necessary ...
>
> As this is not a platform driver, I do not know, if "of_device_id struct"
> is possible to use. For that, it must be converted to a platform
> device driver ...
>
I thought your are using the devicetree source to load the driver. In 
that case it need not to be platform driver.
we can use "of_device_id struct" which matches the bindings in your 
trivial-devices.txt

Thanks
Varka Bhadram
> bye,
> Heiko
>>
>>> +MODULE_DEVICE_TABLE(i2c, tmp103_id);
>>> ++static struct i2c_driver tmp103_driver = {
>>> + .driver = {
>>> + .name = "tmp103",
>>> + .pm = TMP103_DEV_PM_OPS,
>>> + },
>>> + .probe = tmp103_probe,
>>> + .id_table = tmp103_id,
>>> +};
>>> +
>>> +module_i2c_driver(tmp103_driver);
>>> +
>>> +MODULE_AUTHOR("Heiko Schocher <hs@denx.de>");
>>> +MODULE_DESCRIPTION("Texas Instruments TMP103 temperature sensor
>>> driver");
>>> +MODULE_LICENSE("GPL");
>>
>>
>>
>


  parent reply	other threads:[~2014-06-18  7:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-18  5:37 [lm-sensors] [PATCH v5] hwmon: Driver for TI TMP103 temperature sensor Heiko Schocher
2014-06-18  5:37 ` Heiko Schocher
2014-06-18  5:46 ` Varka Bhadram
2014-06-18  5:58   ` [lm-sensors] " Varka Bhadram
2014-06-18  6:12   ` Guenter Roeck
2014-06-18  6:12     ` Guenter Roeck
2014-06-18  6:18     ` Varka Bhadram
2014-06-18  6:30       ` [lm-sensors] " Varka Bhadram
2014-06-18  6:41       ` Guenter Roeck
2014-06-18  6:41         ` Guenter Roeck
2014-06-18  6:16   ` [lm-sensors] " Heiko Schocher
2014-06-18  6:16     ` Heiko Schocher
2014-06-18  6:58     ` Varka Bhadram
2014-06-18  7:10       ` [lm-sensors] " Varka Bhadram
2014-06-18 13:02       ` Guenter Roeck
2014-06-18 13:02         ` Guenter Roeck
2014-06-18  7:07     ` Varka Bhadram [this message]
2014-06-18  7:19       ` [lm-sensors] " Varka Bhadram
2014-06-18  6:15 ` Guenter Roeck
2014-06-18  6:15   ` Guenter Roeck
2014-06-18  6:15   ` Guenter Roeck

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=53A13AA1.1090203@gmail.com \
    --to=varkabhadram@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hs@denx.de \
    --cc=khali@linux-fr.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=lm-sensors@lm-sensors.org \
    --cc=mark.rutland@arm.com \
    /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.