All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] [PATCH] hwmon: (lm90) Add device tree support
@ 2013-02-01 21:18 ` Vincent Palatin
  0 siblings, 0 replies; 7+ messages in thread
From: Vincent Palatin @ 2013-02-01 21:18 UTC (permalink / raw)
  To: Jean Delvare, lm-sensors
  Cc: Grant Likely, Rob Herring, Guenter Roeck, Vincent Palatin,
	linux-kernel, Olof Johansson, Sameer Nanda

QWRkIHN1cHBvcnQgdG8gaW5zdGFudGlhdGUgTE05MC1jb21wYXRpYmxlIHNlbnNvcnMgZnJvbSBh
IGRldmljZS10cmVlCmNvbmZpZ3VyYXRpb24uCldoZW4gdGhlIGtlcm5lbCBoYXMgZGV2aWNlIHRy
ZWUgc3VwcG9ydCwgd2UgYXZvaWQgZG9pbmcgdGhlIGF1dG8tZGV0ZWN0aW9uCmFzIHByb2Jpbmcg
dGhlIGJ1c3NlcyBtaWdodCBtZXNzLXVwIHNlbnNpdGl2ZSBJMkMgZGV2aWNlcyBvciB0cmlnZ2Vy
IGxvbmcKdGltZW91dHMgb24gbm9uLWZ1bmN0aW9uYWwgYnVzc2VzLgoKU2lnbmVkLW9mZi1ieTog
VmluY2VudCBQYWxhdGluIDx2cGFsYXRpbkBjaHJvbWl1bS5vcmc+Ci0tLQogLi4uL2RldmljZXRy
ZWUvYmluZGluZ3MvaTJjL3RyaXZpYWwtZGV2aWNlcy50eHQgICAgfCAxOSArKysrKysrKysKIC4u
Li9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVmaXhlcy50eHQgICAgICAgIHwgIDEgKwog
ZHJpdmVycy9od21vbi9sbTkwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0NyAr
KysrKysrKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyks
IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp
bmRpbmdzL2kyYy90cml2aWFsLWRldmljZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl
L2JpbmRpbmdzL2kyYy90cml2aWFsLWRldmljZXMudHh0CmluZGV4IDQ0Njg1OWYuLjRkOTkxY2Eg
MTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pMmMvdHJpdmlh
bC1kZXZpY2VzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaTJj
L3RyaXZpYWwtZGV2aWNlcy50eHQKQEAgLTEwLDYgKzEwLDcgQEAgZG9jdW1lbnQgZm9yIGl0IGp1
c3QgbGlrZSBhbnkgb3RoZXIgZGV2aWNlcy4KIENvbXBhdGlibGUJCVZlbmRvciAvIENoaXAKID09
PT09PT09PT0JCT09PT09PT09PT09PT0KIGFkLGFkNzQxNAkJU01CdXMvSTJDIERpZ2l0YWwgVGVt
cGVyYXR1cmUgU2Vuc29yIGluIDYtUGluIFNPVCB3aXRoIFNNQnVzIEFsZXJ0IGFuZCBPdmVyIFRl
bXBlcmF0dXJlIFBpbgorYWQsYWRtMTAzMgkJKy8tMUMgUmVtb3RlIGFuZCBsb2NhbCBzeXN0ZW0g
dGVtcGVyYXR1cmUgbW9uaXRvcgogYWQsYWRtOTI0MAkJQURNOTI0MDogIENvbXBsZXRlIFN5c3Rl
bSBIYXJkd2FyZSBNb25pdG9yIGZvciB1UHJvY2Vzc29yLUJhc2VkIFN5c3RlbXMKIGFkaSxhZHQ3
NDYxCQkrLy0xQyBURE0gRXh0ZW5kZWQgVGVtcCBSYW5nZSBJLkMKIGFkdDc0NjEJCQkrLy0xQyBU
RE0gRXh0ZW5kZWQgVGVtcCBSYW5nZSBJLkMKQEAgLTM1LDE2ICszNiwzMyBAQCBmc2wsbWMxMzg5
MgkJTUMxMzg5MjogUG93ZXIgTWFuYWdlbWVudCBJbnRlZ3JhdGVkIENpcmN1aXQgKFBNSUMpIGZv
ciBpLk1YMzUvNTEKIGZzbCxtbWE4NDUwCQlNTUE4NDUwUTogWHRyaW5zaWMgTG93LXBvd2VyLCAz
LWF4aXMgWHRyaW5zaWMgQWNjZWxlcm9tZXRlcgogZnNsLG1wcjEyMQkJTVBSMTIxOiBQcm94aW1p
dHkgQ2FwYWNpdGl2ZSBUb3VjaCBTZW5zb3IgQ29udHJvbGxlcgogZnNsLHNndGw1MDAwCQlTR1RM
NTAwMDogVWx0cmEgTG93LVBvd2VyIEF1ZGlvIENvZGVjCitnbXQsZzc4MQkJKy8tMUMgUmVtb3Rl
IGFuZCBsb2NhbCB0ZW1wZXJhdHVyZSBzZW5zb3IKIG1heGltLGRzMTA1MAkJNSBCaXQgUHJvZ3Jh
bW1hYmxlLCBQdWxzZS1XaWR0aCBNb2R1bGF0b3IKIG1heGltLG1heDEyMzcJCUxvdy1Qb3dlciwg
NC0vMTItQ2hhbm5lbCwgMi1XaXJlIFNlcmlhbCwgMTItQml0IEFEQ3MKIG1heGltLG1heDY2MjUJ
CTktQml0LzEyLUJpdCBUZW1wZXJhdHVyZSBTZW5zb3JzIHdpdGggScKyQy1Db21wYXRpYmxlIFNl
cmlhbCBJbnRlcmZhY2UKK21heGltLG1heDY2NDYJCSsxNDVDIFByZWNpc2lvbiBTTUJ1cy1Db21w
YXRpYmxlIFJlbW90ZS9Mb2NhbCBTZW5zb3JzCittYXhpbSxtYXg2NjQ3CQkrMTQ1QyBQcmVjaXNp
b24gU01CdXMtQ29tcGF0aWJsZSBSZW1vdGUvTG9jYWwgU2Vuc29ycworbWF4aW0sbWF4NjY0OQkJ
KzE0NUMgUHJlY2lzaW9uIFNNQnVzLUNvbXBhdGlibGUgUmVtb3RlL0xvY2FsIFNlbnNvcnMKK21h
eGltLG1heDY2NTcJCSsvLTFDIFNNQnVzLUNvbXBhdGlibGUgUmVtb3RlL0xvY2FsIFNlbnNvcnMK
K21heGltLG1heDY2NTgJCSsvLTFDIFNNQnVzLUNvbXBhdGlibGUgUmVtb3RlL0xvY2FsIFNlbnNv
cnMKK21heGltLG1heDY2NTkJCSsvLTFDIFNNQnVzLUNvbXBhdGlibGUgUmVtb3RlL0xvY2FsIFNl
bnNvcnMKK21heGltLG1heDY2ODAJCSsvLTFDIEZhaWwtU2FmZSBSZW1vdGUvTG9jYWwgVGVtcGVy
YXR1cmUgU2Vuc29ycworbWF4aW0sbWF4NjY4MQkJKy8tMUMgRmFpbC1TYWZlIFJlbW90ZS9Mb2Nh
bCBUZW1wZXJhdHVyZSBTZW5zb3JzCittYXhpbSxtYXg2Njk1CQlEdWFsIFJlbW90ZS9Mb2NhbCBU
ZW1wZXJhdHVyZSBTZW5zb3JzCittYXhpbSxtYXg2Njk2CQlEdWFsIFJlbW90ZS9Mb2NhbCBUZW1w
ZXJhdHVyZSBTZW5zb3JzCiBtYyxydjMwMjljMgkJUmVhbCBUaW1lIENsb2NrIE1vZHVsZSB3aXRo
IEkyQy1CdXMKIG5hdGlvbmFsLGxtNzUJCUkyQyBURU1QIFNFTlNPUgogbmF0aW9uYWwsbG04MAkJ
U2VyaWFsIEludGVyZmFjZSBBQ1BJLUNvbXBhdGlibGUgTWljcm9wcm9jZXNzb3IgU3lzdGVtIEhh
cmR3YXJlIE1vbml0b3IKK25hdGlvbmFsLGxtODYJCSsvLTAuNzVDIEFjY3VyYXRlLCBSZW1vdGUg
RGlvZGUgYW5kIExvY2FsIERpZ2l0YWwgVGVtcGVyYXR1cmUgU2Vuc29yIHdpdGggVHdvLVdpcmUg
SW50ZXJmYWNlCituYXRpb25hbCxsbTg5CQkrLy0wLjc1QyBSZW1vdGUgYW5kIExvY2FsIERpZ2l0
YWwgVGVtcGVyYXR1cmUgU2Vuc29yIHdpdGggVHdvLVdpcmUgSW50ZXJmYWNlLVdpcmUgSW50ZXJm
YWNlCituYXRpb25hbCxsbTkwCQkrLy0zQyBBY2N1cmF0ZSwgUmVtb3RlIERpb2RlIGFuZCBMb2Nh
bCBEaWdpdGFsIFRlbXBlcmF0dXJlIFNlbnNvciB3aXRoIFR3by1XaXJlIEludGVyZmFjZQogbmF0
aW9uYWwsbG05MgkJwrEwLjMzwrBDIEFjY3VyYXRlLCAxMi1CaXQgKyBTaWduIFRlbXBlcmF0dXJl
IFNlbnNvciBhbmQgVGhlcm1hbCBXaW5kb3cgQ29tcGFyYXRvciB3aXRoIFR3by1XaXJlIEludGVy
ZmFjZQorbmF0aW9uYWwsbG05OQkJKy8tMUMgQWNjdXJhdGUsIFJlbW90ZSBEaW9kZSBhbmQgTG9j
YWwgRGlnaXRhbCBUZW1wZXJhdHVyZSBTZW5zb3Igd2l0aCBUd28tV2lyZSBJbnRlcmZhY2UKIG54
cCxwY2E5NTU2CQlPY3RhbCBTTUJ1cyBhbmQgSTJDIHJlZ2lzdGVyZWQgaW50ZXJmYWNlCiBueHAs
cGNhOTU1NwkJOC1iaXQgSTJDLWJ1cyBhbmQgU01CdXMgSS9PIHBvcnQgd2l0aCByZXNldAogbnhw
LHBjZjg1NjMJCVJlYWwtdGltZSBjbG9jay9jYWxlbmRhcgorbnhwLHNhNTYwMDQJCXJlbW90ZS9s
b2NhbCBkaWdpdGFsIHRlbXBlcmF0dXJlIHNlbnNvciB3aXRoIG92ZXJ0ZW1wZXJhdHVyZSBhbGFy
bXMKK29ubm4sbmN0MTAwOAkJKy8tMUMgVGVtcGVyYXR1cmUgTW9uaXRvciB3aXRoIFNlcmllcyBS
ZXNpc3RhbmNlIENhbmNlbGxhdGlvbgogb3Z0aSxvdjU2NDIJCU9WNTY0MjogQ29sb3IgQ01PUyBR
U1hHQSAoNS1tZWdhcGl4ZWwpIEltYWdlIFNlbnNvciB3aXRoIE9tbmlCU0kgYW5kIEVtYmVkZGVk
IFRydWVGb2N1cwogcGVyaWNvbSxwdDdjNDMzOAlSZWFsLXRpbWUgQ2xvY2sgTW9kdWxlCiBwbHgs
cGV4ODY0OAkJNDgtTGFuZSwgMTItUG9ydCBQQ0kgRXhwcmVzcyBHZW4gMiAoNS4wIEdUL3MpIFN3
aXRjaApAQCAtNTksMyArNzcsNCBAQCB0YW9zLHRzbDI1NTAJCUFtYmllbnQgTGlnaHQgU2Vuc29y
IHdpdGggU01CVVMvVHdvIFdpcmUgU2VyaWFsIEludGVyZmFjZQogdGksdHNjMjAwMwkJSTJDIFRv
dWNoLVNjcmVlbiBDb250cm9sbGVyCiB0aSx0bXAxMDIJCUxvdyBQb3dlciBEaWdpdGFsIFRlbXBl
cmF0dXJlIFNlbnNvciB3aXRoIFNNQlVTL1R3byBXaXJlIFNlcmlhbCBJbnRlcmZhY2UKIHRpLHRt
cDI3NQkJRGlnaXRhbCBUZW1wZXJhdHVyZSBTZW5zb3IKK3dpbmJvbmQsdzgzbDc3MQkJSC9XIE1v
bml0b3IgSUMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92
ZW5kb3ItcHJlZml4ZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Zl
bmRvci1wcmVmaXhlcy50eHQKaW5kZXggOTAyYjFiMS4uMjA3NDY5OSAxMDA2NDQKLS0tIGEvRG9j
dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVmaXhlcy50eHQKKysrIGIv
RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZlbmRvci1wcmVmaXhlcy50eHQKQEAg
LTIzLDYgKzIzLDcgQEAgZXN0CUVTVGVlbSBXaXJlbGVzcyBNb2RlbXMKIGZzbAlGcmVlc2NhbGUg
U2VtaWNvbmR1Y3RvcgogR0VGYW51YwlHRSBGYW51YyBJbnRlbGxpZ2VudCBQbGF0Zm9ybXMgRW1i
ZWRkZWQgU3lzdGVtcywgSW5jLgogZ2VmCUdFIEZhbnVjIEludGVsbGlnZW50IFBsYXRmb3JtcyBF
bWJlZGRlZCBTeXN0ZW1zLCBJbmMuCitnbXQJR2xvYmFsIE1peGVkLW1vZGUgVGVjaG5vbG9neSBJ
bmMuCiBocAlIZXdsZXR0IFBhY2thcmQKIGlibQlJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hp
bmVzIChJQk0pCiBpZHQJSW50ZWdyYXRlZCBEZXZpY2UgVGVjaG5vbG9naWVzLCBJbmMuCmRpZmYg
LS1naXQgYS9kcml2ZXJzL2h3bW9uL2xtOTAuYyBiL2RyaXZlcnMvaHdtb24vbG05MC5jCmluZGV4
IDg2MzQxMmEuLmMwN2ZkMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbG05MC5jCisrKyBi
L2RyaXZlcnMvaHdtb24vbG05MC5jCkBAIC0xMDYsOCArMTA2LDExIEBACiAgKi8KIAogc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIHNob3J0IG5vcm1hbF9pMmNbXSA9IHsKKyNpZm5kZWYgQ09ORklHX09G
CiAJMHgxOCwgMHgxOSwgMHgxYSwgMHgyOSwgMHgyYSwgMHgyYiwgMHg0OCwgMHg0OSwgMHg0YSwg
MHg0YiwgMHg0YywKLQkweDRkLCAweDRlLCAweDRmLCBJMkNfQ0xJRU5UX0VORCB9OworCTB4NGQs
IDB4NGUsIDB4NGYsCisjZW5kaWYKKwlJMkNfQ0xJRU5UX0VORCB9OwogCiBlbnVtIGNoaXBzIHsg
bG05MCwgYWRtMTAzMiwgbG05OSwgbG04NiwgbWF4NjY1NywgbWF4NjY1OSwgYWR0NzQ2MSwgbWF4
NjY4MCwKIAltYXg2NjQ2LCB3ODNsNzcxLCBtYXg2Njk2LCBzYTU2MDA0LCBnNzgxIH07CkBAIC0y
MDksNiArMjEyLDMyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBsbTkwX2lk
W10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShpMmMsIGxtOTBfaWQpOwogCisjaWZkZWYg
Q09ORklHX09GCitzdGF0aWMgc3RydWN0IG9mX2RldmljZV9pZCBsbTkwX2R0X21hdGNoW10gPSB7
CisJeyAuY29tcGF0aWJsZSA9ICJhZCxhZG0xMDMyIiwgLmRhdGEgPSAodm9pZCAqKWFkbTEwMzIg
fSwKKwl7IC5jb21wYXRpYmxlID0gImFkaSxhZHQ3NDYxIiwgLmRhdGEgPSAodm9pZCAqKWFkdDc0
NjEgfSwKKwl7IC5jb21wYXRpYmxlID0gImdtdCxnNzgxIiwgLmRhdGEgPSAodm9pZCAqKWc3ODEg
fSwKKwl7IC5jb21wYXRpYmxlID0gIm5hdGlvbmFsLGxtOTAiLCAuZGF0YSA9ICh2b2lkICopbG05
MCB9LAorCXsgLmNvbXBhdGlibGUgPSAibmF0aW9uYWwsbG04NiIsIC5kYXRhID0gKHZvaWQgKils
bTg2IH0sCisJeyAuY29tcGF0aWJsZSA9ICJuYXRpb25hbCxsbTg5IiwgLmRhdGEgPSAodm9pZCAq
KWxtODYgfSwKKwl7IC5jb21wYXRpYmxlID0gIm5hdGlvbmFsLGxtOTkiLCAuZGF0YSA9ICh2b2lk
ICopbG05OSB9LAorCXsgLmNvbXBhdGlibGUgPSAibWF4aW0sbWF4NjY0NiIsIC5kYXRhID0gKHZv
aWQgKiltYXg2NjQ2IH0sCisJeyAuY29tcGF0aWJsZSA9ICJtYXhpbSxtYXg2NjQ3IiwgLmRhdGEg
PSAodm9pZCAqKW1heDY2NDYgfSwKKwl7IC5jb21wYXRpYmxlID0gIm1heGltLG1heDY2NDkiLCAu
ZGF0YSA9ICh2b2lkICopbWF4NjY0NiB9LAorCXsgLmNvbXBhdGlibGUgPSAibWF4aW0sbWF4NjY1
NyIsIC5kYXRhID0gKHZvaWQgKiltYXg2NjU3IH0sCisJeyAuY29tcGF0aWJsZSA9ICJtYXhpbSxt
YXg2NjU4IiwgLmRhdGEgPSAodm9pZCAqKW1heDY2NTcgfSwKKwl7IC5jb21wYXRpYmxlID0gIm1h
eGltLG1heDY2NTkiLCAuZGF0YSA9ICh2b2lkICopbWF4NjY1OSB9LAorCXsgLmNvbXBhdGlibGUg
PSAibWF4aW0sbWF4NjY4MCIsIC5kYXRhID0gKHZvaWQgKiltYXg2NjgwIH0sCisJeyAuY29tcGF0
aWJsZSA9ICJtYXhpbSxtYXg2NjgxIiwgLmRhdGEgPSAodm9pZCAqKW1heDY2ODAgfSwKKwl7IC5j
b21wYXRpYmxlID0gIm1heGltLG1heDY2OTUiLCAuZGF0YSA9ICh2b2lkICopbWF4NjY5NiB9LAor
CXsgLmNvbXBhdGlibGUgPSAibWF4aW0sbWF4NjY5NiIsIC5kYXRhID0gKHZvaWQgKiltYXg2Njk2
IH0sCisJeyAuY29tcGF0aWJsZSA9ICJvbm5uLG5jdDEwMDgiLCAuZGF0YSA9ICh2b2lkICopYWR0
NzQ2MSB9LAorCXsgLmNvbXBhdGlibGUgPSAid2luYm9uZCx3ODNsNzcxIiwgLmRhdGEgPSAodm9p
ZCAqKXc4M2w3NzEgfSwKKwl7IC5jb21wYXRpYmxlID0gIm54cCxzYTU2MDA0IiwgLmRhdGEgPSAo
dm9pZCAqKXNhNTYwMDQgfSwKKwl7IH0KK307CisjZW5kaWYKKwogLyoKICAqIGNoaXAgdHlwZSBz
cGVjaWZpYyBwYXJhbWV0ZXJzCiAgKi8KQEAgLTEzOTEsNiArMTQyMCwxOSBAQCBzdGF0aWMgdm9p
ZCBsbTkwX2luaXRfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiAJCWkyY19zbWJ1
c193cml0ZV9ieXRlX2RhdGEoY2xpZW50LCBMTTkwX1JFR19XX0NPTkZJRzEsIGNvbmZpZyk7CiB9
CiAKK3N0YXRpYyBpbmxpbmUgaW50IGxtOTBfZ2V0X2RyaXZlcl9kYXRhKHN0cnVjdCBpMmNfY2xp
ZW50ICppMmMsCisJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKK3sK
KyNpZmRlZiBDT05GSUdfT0YKKwlpZiAoaTJjLT5kZXYub2Zfbm9kZSkgeworCQljb25zdCBzdHJ1
Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaDsKKwkJbWF0Y2ggPSBvZl9tYXRjaF9ub2RlKGxtOTBfZHRf
bWF0Y2gsIGkyYy0+ZGV2Lm9mX25vZGUpOworCQlyZXR1cm4gKGludCltYXRjaC0+ZGF0YTsKKwl9
CisjZW5kaWYKKwlyZXR1cm4gKGludClpZC0+ZHJpdmVyX2RhdGE7Cit9CisKIHN0YXRpYyBpbnQg
bG05MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAogCQkgICAgICBjb25zdCBzdHJ1
Y3QgaTJjX2RldmljZV9pZCAqaWQpCiB7CkBAIC0xNDA3LDcgKzE0NDksNyBAQCBzdGF0aWMgaW50
IGxtOTBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKIAltdXRleF9pbml0KCZkYXRh
LT51cGRhdGVfbG9jayk7CiAKIAkvKiBTZXQgdGhlIGRldmljZSB0eXBlICovCi0JZGF0YS0+a2lu
ZCA9IGlkLT5kcml2ZXJfZGF0YTsKKwlkYXRhLT5raW5kID0gbG05MF9nZXRfZHJpdmVyX2RhdGEo
Y2xpZW50LCBpZCk7CiAJaWYgKGRhdGEtPmtpbmQgPT0gYWRtMTAzMikgewogCQlpZiAoIWkyY19j
aGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX0JZVEUpKQogCQkJY2xp
ZW50LT5mbGFncyAmPSB+STJDX0NMSUVOVF9QRUM7CkBAIC0xNTMzLDYgKzE1NzUsNyBAQCBzdGF0
aWMgc3RydWN0IGkyY19kcml2ZXIgbG05MF9kcml2ZXIgPSB7CiAJLmNsYXNzCQk9IEkyQ19DTEFT
U19IV01PTiwKIAkuZHJpdmVyID0gewogCQkubmFtZQk9ICJsbTkwIiwKKwkJLm9mX21hdGNoX3Rh
YmxlID0gb2ZfbWF0Y2hfcHRyKGxtOTBfZHRfbWF0Y2gpLAogCX0sCiAJLnByb2JlCQk9IGxtOTBf
cHJvYmUsCiAJLnJlbW92ZQkJPSBsbTkwX3JlbW92ZSwKLS0gCjEuOC4xCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbG0tc2Vuc29ycyBtYWlsaW5nIGxp
c3QKbG0tc2Vuc29yc0BsbS1zZW5zb3JzLm9yZwpodHRwOi8vbGlzdHMubG0tc2Vuc29ycy5vcmcv
bWFpbG1hbi9saXN0aW5mby9sbS1zZW5zb3Jz

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] hwmon: (lm90) Add device tree support
@ 2013-02-01 21:18 ` Vincent Palatin
  0 siblings, 0 replies; 7+ messages in thread
From: Vincent Palatin @ 2013-02-01 21:18 UTC (permalink / raw)
  To: Jean Delvare, lm-sensors
  Cc: Grant Likely, Rob Herring, Guenter Roeck, Vincent Palatin,
	linux-kernel, Olof Johansson, Sameer Nanda

Add support to instantiate LM90-compatible sensors from a device-tree
configuration.
When the kernel has device tree support, we avoid doing the auto-detection
as probing the busses might mess-up sensitive I2C devices or trigger long
timeouts on non-functional busses.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
---
 .../devicetree/bindings/i2c/trivial-devices.txt    | 19 +++++++++
 .../devicetree/bindings/vendor-prefixes.txt        |  1 +
 drivers/hwmon/lm90.c                               | 47 +++++++++++++++++++++-
 3 files changed, 65 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
index 446859f..4d991ca 100644
--- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
@@ -10,6 +10,7 @@ document for it just like any other devices.
 Compatible		Vendor / Chip
 ==========		=============
 ad,ad7414		SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin
+ad,adm1032		+/-1C Remote and local system temperature monitor
 ad,adm9240		ADM9240:  Complete System Hardware Monitor for uProcessor-Based Systems
 adi,adt7461		+/-1C TDM Extended Temp Range I.C
 adt7461			+/-1C TDM Extended Temp Range I.C
@@ -35,16 +36,33 @@ fsl,mc13892		MC13892: Power Management Integrated Circuit (PMIC) for i.MX35/51
 fsl,mma8450		MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
 fsl,mpr121		MPR121: Proximity Capacitive Touch Sensor Controller
 fsl,sgtl5000		SGTL5000: Ultra Low-Power Audio Codec
+gmt,g781		+/-1C Remote and local temperature sensor
 maxim,ds1050		5 Bit Programmable, Pulse-Width Modulator
 maxim,max1237		Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
 maxim,max6625		9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface
+maxim,max6646		+145C Precision SMBus-Compatible Remote/Local Sensors
+maxim,max6647		+145C Precision SMBus-Compatible Remote/Local Sensors
+maxim,max6649		+145C Precision SMBus-Compatible Remote/Local Sensors
+maxim,max6657		+/-1C SMBus-Compatible Remote/Local Sensors
+maxim,max6658		+/-1C SMBus-Compatible Remote/Local Sensors
+maxim,max6659		+/-1C SMBus-Compatible Remote/Local Sensors
+maxim,max6680		+/-1C Fail-Safe Remote/Local Temperature Sensors
+maxim,max6681		+/-1C Fail-Safe Remote/Local Temperature Sensors
+maxim,max6695		Dual Remote/Local Temperature Sensors
+maxim,max6696		Dual Remote/Local Temperature Sensors
 mc,rv3029c2		Real Time Clock Module with I2C-Bus
 national,lm75		I2C TEMP SENSOR
 national,lm80		Serial Interface ACPI-Compatible Microprocessor System Hardware Monitor
+national,lm86		+/-0.75C Accurate, Remote Diode and Local Digital Temperature Sensor with Two-Wire Interface
+national,lm89		+/-0.75C Remote and Local Digital Temperature Sensor with Two-Wire Interface-Wire Interface
+national,lm90		+/-3C Accurate, Remote Diode and Local Digital Temperature Sensor with Two-Wire Interface
 national,lm92		±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator with Two-Wire Interface
+national,lm99		+/-1C Accurate, Remote Diode and Local Digital Temperature Sensor with Two-Wire Interface
 nxp,pca9556		Octal SMBus and I2C registered interface
 nxp,pca9557		8-bit I2C-bus and SMBus I/O port with reset
 nxp,pcf8563		Real-time clock/calendar
+nxp,sa56004		remote/local digital temperature sensor with overtemperature alarms
+onnn,nct1008		+/-1C Temperature Monitor with Series Resistance Cancellation
 ovti,ov5642		OV5642: Color CMOS QSXGA (5-megapixel) Image Sensor with OmniBSI and Embedded TrueFocus
 pericom,pt7c4338	Real-time Clock Module
 plx,pex8648		48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
@@ -59,3 +77,4 @@ 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,tmp275		Digital Temperature Sensor
+winbond,w83l771		H/W Monitor IC
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 902b1b1..2074699 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -23,6 +23,7 @@ est	ESTeem Wireless Modems
 fsl	Freescale Semiconductor
 GEFanuc	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
 gef	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
+gmt	Global Mixed-mode Technology Inc.
 hp	Hewlett Packard
 ibm	International Business Machines (IBM)
 idt	Integrated Device Technologies, Inc.
diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c
index 863412a..c07fd19 100644
--- a/drivers/hwmon/lm90.c
+++ b/drivers/hwmon/lm90.c
@@ -106,8 +106,11 @@
  */
 
 static const unsigned short normal_i2c[] = {
+#ifndef CONFIG_OF
 	0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x48, 0x49, 0x4a, 0x4b, 0x4c,
-	0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
+	0x4d, 0x4e, 0x4f,
+#endif
+	I2C_CLIENT_END };
 
 enum chips { lm90, adm1032, lm99, lm86, max6657, max6659, adt7461, max6680,
 	max6646, w83l771, max6696, sa56004, g781 };
@@ -209,6 +212,32 @@ static const struct i2c_device_id lm90_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, lm90_id);
 
+#ifdef CONFIG_OF
+static struct of_device_id lm90_dt_match[] = {
+	{ .compatible = "ad,adm1032", .data = (void *)adm1032 },
+	{ .compatible = "adi,adt7461", .data = (void *)adt7461 },
+	{ .compatible = "gmt,g781", .data = (void *)g781 },
+	{ .compatible = "national,lm90", .data = (void *)lm90 },
+	{ .compatible = "national,lm86", .data = (void *)lm86 },
+	{ .compatible = "national,lm89", .data = (void *)lm86 },
+	{ .compatible = "national,lm99", .data = (void *)lm99 },
+	{ .compatible = "maxim,max6646", .data = (void *)max6646 },
+	{ .compatible = "maxim,max6647", .data = (void *)max6646 },
+	{ .compatible = "maxim,max6649", .data = (void *)max6646 },
+	{ .compatible = "maxim,max6657", .data = (void *)max6657 },
+	{ .compatible = "maxim,max6658", .data = (void *)max6657 },
+	{ .compatible = "maxim,max6659", .data = (void *)max6659 },
+	{ .compatible = "maxim,max6680", .data = (void *)max6680 },
+	{ .compatible = "maxim,max6681", .data = (void *)max6680 },
+	{ .compatible = "maxim,max6695", .data = (void *)max6696 },
+	{ .compatible = "maxim,max6696", .data = (void *)max6696 },
+	{ .compatible = "onnn,nct1008", .data = (void *)adt7461 },
+	{ .compatible = "winbond,w83l771", .data = (void *)w83l771 },
+	{ .compatible = "nxp,sa56004", .data = (void *)sa56004 },
+	{ }
+};
+#endif
+
 /*
  * chip type specific parameters
  */
@@ -1391,6 +1420,19 @@ static void lm90_init_client(struct i2c_client *client)
 		i2c_smbus_write_byte_data(client, LM90_REG_W_CONFIG1, config);
 }
 
+static inline int lm90_get_driver_data(struct i2c_client *i2c,
+				       const struct i2c_device_id *id)
+{
+#ifdef CONFIG_OF
+	if (i2c->dev.of_node) {
+		const struct of_device_id *match;
+		match = of_match_node(lm90_dt_match, i2c->dev.of_node);
+		return (int)match->data;
+	}
+#endif
+	return (int)id->driver_data;
+}
+
 static int lm90_probe(struct i2c_client *client,
 		      const struct i2c_device_id *id)
 {
@@ -1407,7 +1449,7 @@ static int lm90_probe(struct i2c_client *client,
 	mutex_init(&data->update_lock);
 
 	/* Set the device type */
-	data->kind = id->driver_data;
+	data->kind = lm90_get_driver_data(client, id);
 	if (data->kind == adm1032) {
 		if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
 			client->flags &= ~I2C_CLIENT_PEC;
@@ -1533,6 +1575,7 @@ static struct i2c_driver lm90_driver = {
 	.class		= I2C_CLASS_HWMON,
 	.driver = {
 		.name	= "lm90",
+		.of_match_table = of_match_ptr(lm90_dt_match),
 	},
 	.probe		= lm90_probe,
 	.remove		= lm90_remove,
-- 
1.8.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] [PATCH] hwmon: (lm90) Add device tree support
  2013-02-01 21:18 ` Vincent Palatin
@ 2013-02-01 21:36   ` Guenter Roeck
  -1 siblings, 0 replies; 7+ messages in thread
From: Guenter Roeck @ 2013-02-01 21:36 UTC (permalink / raw)
  To: Vincent Palatin
  Cc: Jean Delvare, lm-sensors, Grant Likely, Rob Herring, linux-kernel,
	Olof Johansson, Sameer Nanda

On Fri, Feb 01, 2013 at 01:18:22PM -0800, Vincent Palatin wrote:
> Add support to instantiate LM90-compatible sensors from a device-tree
> configuration.
> When the kernel has device tree support, we avoid doing the auto-detection
> as probing the busses might mess-up sensitive I2C devices or trigger long
> timeouts on non-functional busses.
> 
> Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

Hi Vincent,

OF support for I2C devices should already work through the I2C subsystem,
without explicit driver patch.

As for the detect function, I am not entirely sure if we want or should get
rid of it just because OF is configured. That may have unintended side effects.
Either case, I would argue that if we do want to do that, it should be done
for _all_ I2C devices and not just for the lm90 driver. In other words, it
should be done in the I2C subsystem, maybe with a separate configuration option.

Thanks,
Guenter

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] hwmon: (lm90) Add device tree support
@ 2013-02-01 21:36   ` Guenter Roeck
  0 siblings, 0 replies; 7+ messages in thread
From: Guenter Roeck @ 2013-02-01 21:36 UTC (permalink / raw)
  To: Vincent Palatin
  Cc: Jean Delvare, lm-sensors, Grant Likely, Rob Herring, linux-kernel,
	Olof Johansson, Sameer Nanda

On Fri, Feb 01, 2013 at 01:18:22PM -0800, Vincent Palatin wrote:
> Add support to instantiate LM90-compatible sensors from a device-tree
> configuration.
> When the kernel has device tree support, we avoid doing the auto-detection
> as probing the busses might mess-up sensitive I2C devices or trigger long
> timeouts on non-functional busses.
> 
> Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

Hi Vincent,

OF support for I2C devices should already work through the I2C subsystem,
without explicit driver patch.

As for the detect function, I am not entirely sure if we want or should get
rid of it just because OF is configured. That may have unintended side effects.
Either case, I would argue that if we do want to do that, it should be done
for _all_ I2C devices and not just for the lm90 driver. In other words, it
should be done in the I2C subsystem, maybe with a separate configuration option.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] [PATCH] hwmon: (lm90) Add device tree support
  2013-02-01 21:36   ` Guenter Roeck
@ 2013-02-01 21:57     ` Jean Delvare
  -1 siblings, 0 replies; 7+ messages in thread
From: Jean Delvare @ 2013-02-01 21:57 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Vincent Palatin, lm-sensors, Grant Likely, Rob Herring,
	linux-kernel, Olof Johansson, Sameer Nanda

On Fri, 1 Feb 2013 13:36:40 -0800, Guenter Roeck wrote:
> On Fri, Feb 01, 2013 at 01:18:22PM -0800, Vincent Palatin wrote:
> > When the kernel has device tree support, we avoid doing the auto-detection
> > as probing the busses might mess-up sensitive I2C devices or trigger long
> > timeouts on non-functional busses.
> (...)
> As for the detect function, I am not entirely sure if we want or should get
> rid of it just because OF is configured. That may have unintended side effects.
> Either case, I would argue that if we do want to do that, it should be done
> for _all_ I2C devices and not just for the lm90 driver. In other words, it
> should be done in the I2C subsystem, maybe with a separate configuration option.

I can't think of any reason for doing that. Detection only happens on
I2C buses which request it (by setting i2c_adapter.class.) I2C system
bus drivers for OF-based platforms would simply not set any class flag,
so detection won't be triggered on them.

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] hwmon: (lm90) Add device tree support
@ 2013-02-01 21:57     ` Jean Delvare
  0 siblings, 0 replies; 7+ messages in thread
From: Jean Delvare @ 2013-02-01 21:57 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Vincent Palatin, lm-sensors, Grant Likely, Rob Herring,
	linux-kernel, Olof Johansson, Sameer Nanda

On Fri, 1 Feb 2013 13:36:40 -0800, Guenter Roeck wrote:
> On Fri, Feb 01, 2013 at 01:18:22PM -0800, Vincent Palatin wrote:
> > When the kernel has device tree support, we avoid doing the auto-detection
> > as probing the busses might mess-up sensitive I2C devices or trigger long
> > timeouts on non-functional busses.
> (...)
> As for the detect function, I am not entirely sure if we want or should get
> rid of it just because OF is configured. That may have unintended side effects.
> Either case, I would argue that if we do want to do that, it should be done
> for _all_ I2C devices and not just for the lm90 driver. In other words, it
> should be done in the I2C subsystem, maybe with a separate configuration option.

I can't think of any reason for doing that. Detection only happens on
I2C buses which request it (by setting i2c_adapter.class.) I2C system
bus drivers for OF-based platforms would simply not set any class flag,
so detection won't be triggered on them.

-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] [PATCH] hwmon: (lm90) Add device tree support
  2013-02-01 21:18 ` Vincent Palatin
  (?)
  (?)
@ 2013-02-01 22:03 ` Vincent Palatin
  -1 siblings, 0 replies; 7+ messages in thread
From: Vincent Palatin @ 2013-02-01 22:03 UTC (permalink / raw)
  To: lm-sensors


[-- Attachment #1.1: Type: text/plain, Size: 1319 bytes --]

On Fri, Feb 1, 2013 at 1:57 PM, Jean Delvare <khali@linux-fr.org> wrote:

> On Fri, 1 Feb 2013 13:36:40 -0800, Guenter Roeck wrote:
> > On Fri, Feb 01, 2013 at 01:18:22PM -0800, Vincent Palatin wrote:
> > > When the kernel has device tree support, we avoid doing the
> auto-detection
> > > as probing the busses might mess-up sensitive I2C devices or trigger
> long
> > > timeouts on non-functional busses.
> > (...)
> > As for the detect function, I am not entirely sure if we want or should
> get
> > rid of it just because OF is configured. That may have unintended side
> effects.
> > Either case, I would argue that if we do want to do that, it should be
> done
> > for _all_ I2C devices and not just for the lm90 driver. In other words,
> it
> > should be done in the I2C subsystem, maybe with a separate configuration
> option.
>
> I can't think of any reason for doing that. Detection only happens on
> I2C buses which request it (by setting i2c_adapter.class.) I2C system
> bus drivers for OF-based platforms would simply not set any class flag,
> so detection won't be triggered on them.
>
>
Thanks for the advice.

I will try update the i2c adapter driver ( i2c-s3c2410.c in my case) to
avoid hardcoding the class flags and maybe add some configuration depending
on a device tree node property.

-- 
Vincent

[-- Attachment #1.2: Type: text/html, Size: 2009 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-02-01 22:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-01 21:18 [lm-sensors] [PATCH] hwmon: (lm90) Add device tree support Vincent Palatin
2013-02-01 21:18 ` Vincent Palatin
2013-02-01 21:36 ` [lm-sensors] " Guenter Roeck
2013-02-01 21:36   ` Guenter Roeck
2013-02-01 21:57   ` [lm-sensors] " Jean Delvare
2013-02-01 21:57     ` Jean Delvare
2013-02-01 22:03 ` [lm-sensors] " Vincent Palatin

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.