* [lm-sensors] [PATCH v4] hwmon: (nct7802) Add autopoint attributes @ 2015-07-25 21:45 ` Constantine Shulyupin 0 siblings, 0 replies; 4+ messages in thread From: Constantine Shulyupin @ 2015-07-25 21:45 UTC (permalink / raw) To: Jean Delvare, Guenter Roeck, Jonathan Corbet, open list:HARDWARE MONITORING, open list:DOCUMENTATION, open list Cc: Constantine Shulyupin SW50cm9kdWNlZCBSRUdfUFdNLCBwd21bMS4uM11fYXV0b19wb2ludFsxLi41XV90ZW1wLApwd21b MS4uM11fYXV0b19wb2ludFsxLi41XV9wd20sIG5jdDc4MDJfYXV0b19wb2ludF9hdHRycywKbmN0 NzgwMl9hdXRvX3BvaW50X2dyb3VwLCB1cGRhdGVkIG5jdDc4MDJfcmVnbWFwX2lzX3ZvbGF0aWxl CgpTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluZSBTaHVseXVwaW4gPGNvbnN0QE1ha2VMaW51eC5j b20+Ci0tLQoKQ2hhbmdlZCBpbiB2NDoKLSBmaXhlZCBleHByZXNzaW9uIGluIG5jdDc4MDJfcmVn bWFwX2lzX3ZvbGF0aWxlCi0gYWRkZWQgcHdtWF9hdXRvX3RlbXAgdG8gZHJpdmVyJ3MgZG9jdW1l bnRhdGlvbgpDaGFuZ2VkIGluIHYzOgotIHJlbW92ZWQgbmN0NzgwMl9hdXRvX3BvaW50X2lzX3Zp c2libGUKLSByZW1vdmVkIHVzYWdlIG9mIHN5c2ZzX3VwZGF0ZV9ncm91cAotIGludHJvZHVjZWQg UkVHX1BXTQotIHJlbW92ZWQgU19JV1VTUiBmcm9tIFJPIGF0dHJpYnV0ZXMKLSBhZGRlZCBQV00g cmVnaXN0ZXJzIHRvIG5jdDc4MDJfcmVnbWFwX2lzX3ZvbGF0aWxlCkNoYW5nZWQgaW4gdjI6Ci0g cmVtb3ZlZCBQV01fUkVHLCBURU1QX1JFRwotIHJlbW92ZWQgYXV0b19wb2ludFsxLi40XV90ZW1w LCBhdXRvX3BvaW50WzEuLjRdX3B3bQogIGFuZCBhdXRvX3BvaW50X2NyaXRfdGVtcAotIGludHJv ZHVjZWQgcHdtWzEuLjNdX2F1dG9fcG9pbnRbMS4uNV1fdGVtcAogIGFuZCBwd21bMS4uM11fYXV0 b19wb2ludFsxLi41XV9wd20uCi0gaW50cm9kdWNlZCBuY3Q3ODAyX2F1dG9fcG9pbnRfaXNfdmlz aWJsZQotIHVzZWQgc3lzZnNfdXBkYXRlX2dyb3VwIGluIHN0b3JlX3B3bV9lbmFibGUKCkRlZmF1 bHQgdmFsdWVzIG9uIG15IHBsYXRmb3JtOgoKZmFuMV9hbGFybTowICAgICAgICAgICAgICAgICAg ICBwd20yX2F1dG9fcG9pbnQxX3RlbXA6MjUwMDAKZmFuMV9iZWVwOjAgICAgICAgICAgICAgICAg ICAgICBwd20yX2F1dG9fcG9pbnQyX3B3bToxNzAKZmFuMV9pbnB1dDoxNTAwMDAgICAgICAgICAg ICAgICBwd20yX2F1dG9fcG9pbnQyX3RlbXA6MzUwMDAKZmFuMV9taW46MCAgICAgICAgICAgICAg ICAgICAgICBwd20yX2F1dG9fcG9pbnQzX3B3bToyMDAKZmFuMl9hbGFybTowICAgICAgICAgICAg ICAgICAgICBwd20yX2F1dG9fcG9pbnQzX3RlbXA6NDUwMDAKZmFuMl9iZWVwOjAgICAgICAgICAg ICAgICAgICAgICBwd20yX2F1dG9fcG9pbnQ0X3B3bToyMzAKZmFuMl9pbnB1dDowICAgICAgICAg ICAgICAgICAgICBwd20yX2F1dG9fcG9pbnQ0X3RlbXA6NTUwMDAKZmFuMl9taW46MCAgICAgICAg ICAgICAgICAgICAgICBwd20yX2F1dG9fcG9pbnQ1X3B3bToyNTUKZmFuM19hbGFybTowICAgICAg ICAgICAgICAgICAgICBwd20yX2F1dG9fcG9pbnQ1X3RlbXA6NjAwMDAKZmFuM19iZWVwOjAgICAg ICAgICAgICAgICAgICAgICBwd20yX2VuYWJsZToxCmZhbjNfaW5wdXQ6MCAgICAgICAgICAgICAg ICAgICAgcHdtMl9tb2RlOjEKZmFuM19taW46MCAgICAgICAgICAgICAgICAgICAgICBwd20zOjEy NwppbjBfYWxhcm06MCAgICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2ludDFfcHdtOjE0 MAppbjBfYmVlcDowICAgICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2ludDFfdGVtcDoy NTAwMAppbjBfaW5wdXQ6MzMxMiAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2ludDJfcHdt OjE3MAppbjBfbWF4OjQwOTIgICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2ludDJfdGVt cDozNTAwMAppbjBfbWluOjAgICAgICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2ludDNf cHdtOjIwMAppbjFfaW5wdXQ6OTAyICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2ludDNf dGVtcDo0NTAwMAppbjNfYWxhcm06MCAgICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2lu dDRfcHdtOjIzMAppbjNfYmVlcDowICAgICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2lu dDRfdGVtcDo1NTAwMAppbjNfaW5wdXQ6MTgwOCAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19w b2ludDVfcHdtOjI1NQppbjNfbWF4OjIwNDYgICAgICAgICAgICAgICAgICAgIHB3bTNfYXV0b19w b2ludDVfdGVtcDo2MDAwMAppbjNfbWluOjAgICAgICAgICAgICAgICAgICAgICAgIHB3bTNfZW5h YmxlOjEKaW40X2FsYXJtOjAgICAgICAgICAgICAgICAgICAgICBwd20zX21vZGU6MQppbjRfYmVl cDowICAgICAgICAgICAgICAgICAgICAgIHRlbXAxX2JlZXA6MAppbjRfaW5wdXQ6MTUwOCAgICAg ICAgICAgICAgICAgIHRlbXAxX2NyaXQ6MTAwMDAwCmluNF9tYXg6MjA0NiAgICAgICAgICAgICAg ICAgICAgdGVtcDFfY3JpdF9hbGFybTowCmluNF9taW46MCAgICAgICAgICAgICAgICAgICAgICAg dGVtcDFfZmF1bHQ6MApuYW1lOm5jdDc4MDIgICAgICAgICAgICAgICAgICAgIHRlbXAxX2lucHV0 OjM1NTAwCnB3bTE6MTI3ICAgICAgICAgICAgICAgICAgICAgICAgdGVtcDFfbWF4Ojg1MDAwCnB3 bTFfYXV0b19wb2ludDFfcHdtOjE0MCAgICAgICAgdGVtcDFfbWF4X2FsYXJtOjAKcHdtMV9hdXRv X3BvaW50MV90ZW1wOjI1MDAwICAgICB0ZW1wMV9taW46MApwd20xX2F1dG9fcG9pbnQyX3B3bTox NzAgICAgICAgIHRlbXAxX21pbl9hbGFybTowCnB3bTFfYXV0b19wb2ludDJfdGVtcDozNTAwMCAg ICAgdGVtcDFfdHlwZTo0CnB3bTFfYXV0b19wb2ludDNfcHdtOjIwMCAgICAgICAgdGVtcDRfYmVl cDowCnB3bTFfYXV0b19wb2ludDNfdGVtcDo0NTAwMCAgICAgdGVtcDRfY3JpdDoxMDAwMDAKcHdt MV9hdXRvX3BvaW50NF9wd206MjMwICAgICAgICB0ZW1wNF9jcml0X2FsYXJtOjAKcHdtMV9hdXRv X3BvaW50NF90ZW1wOjU1MDAwICAgICB0ZW1wNF9pbnB1dDozOTAwMApwd20xX2F1dG9fcG9pbnQ1 X3B3bToyNTUgICAgICAgIHRlbXA0X21heDo4NTAwMApwd20xX2F1dG9fcG9pbnQ1X3RlbXA6NjAw MDAgICAgIHRlbXA0X21heF9hbGFybTowCnB3bTFfZW5hYmxlOjEgICAgICAgICAgICAgICAgICAg dGVtcDRfbWluOjAKcHdtMV9tb2RlOjEgICAgICAgICAgICAgICAgICAgICB0ZW1wNF9taW5fYWxh cm06MApwd20yOjEyNyAgICAgICAgICAgICAgICAgICAgICAgIHRlbXA2X2JlZXA6MApwd20yX2F1 dG9fcG9pbnQxX3B3bToxNDAgICAgICAgIHRlbXA2X2lucHV0OjAKCi0tLQogRG9jdW1lbnRhdGlv bi9od21vbi9uY3Q3ODAyIHwgICA1ICstCiBkcml2ZXJzL2h3bW9uL25jdDc4MDIuYyAgICAgfCAx MzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDIgZmlsZXMg Y2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv RG9jdW1lbnRhdGlvbi9od21vbi9uY3Q3ODAyIGIvRG9jdW1lbnRhdGlvbi9od21vbi9uY3Q3ODAy CmluZGV4IDJlMDBmNWUuLmM1YzI1YTUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaHdtb24v bmN0NzgwMgorKysgYi9Eb2N1bWVudGF0aW9uL2h3bW9uL25jdDc4MDIKQEAgLTUsNyArNSw3IEBA IFN1cHBvcnRlZCBjaGlwczoKICAgKiBOdXZvdG9uIE5DVDc4MDJZCiAgICAgUHJlZml4OiAnbmN0 NzgwMicKICAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MjguLjB4MmYKLSAgICBEYXRhc2hl ZXQ6IEF2YWlsYWJsZSBmcm9tIE51dm90b24gd2ViIHNpdGUKKyAgICBEYXRhc2hlZXQ6IGh0dHA6 Ly93d3cubnV2b3Rvbi5jb20vaHEvcHJvZHVjdHMvY2xvdWQtY29tcHV0aW5nL2hhcmR3YXJlLW1v bml0b3JzL2Rlc2t0b3Atc2VydmVyLXNlcmllcy9uY3Q3ODAyeS8KIAogQXV0aG9yczoKICAgICAg ICAgR3VlbnRlciBSb2VjayA8bGludXhAcm9lY2stdXMubmV0PgpAQCAtMTcsOCArMTcsNyBAQCBU aGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZSBOdXZvdG9uIE5DVDc4MDJZIGhh cmR3YXJlIG1vbml0b3JpbmcKIGNoaXAuIE5DVDc4MDJZIHN1cHBvcnRzIDYgdGVtcGVyYXR1cmUg c2Vuc29ycywgNSB2b2x0YWdlIHNlbnNvcnMsIGFuZCAzIGZhbgogc3BlZWQgc2Vuc29ycy4KIAot VGhlIGNoaXAgYWxzbyBzdXBwb3J0cyBpbnRlbGxpZ2VudCBmYW4gc3BlZWQgY29udHJvbC4gVGhp cyBmdW5jdGlvbmFsaXR5IGlzCi1ub3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVy LgorU21hcnQgRmFu4oSiIHNwZWVkIGNvbnRyb2wgaXMgYXZpbGFiZWwgdmlhIHB3bVhfYXV0b190 ZW1wIGF0dHJpYnV0ZXMuCiAKIFRlc3RlZCBCb2FyZHMgYW5kIEJJT1MgVmVyc2lvbnMKIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vbmN0 NzgwMi5jIGIvZHJpdmVycy9od21vbi9uY3Q3ODAyLmMKaW5kZXggZDAxODU3MS4uYzE4OThiYSAx MDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9uY3Q3ODAyLmMKKysrIGIvZHJpdmVycy9od21vbi9u Y3Q3ODAyLmMKQEAgLTUzLDYgKzUzLDcgQEAgc3RhdGljIGNvbnN0IHU4IFJFR19WT0xUQUdFX0xJ TUlUX01TQl9TSElGVFsyXVs1XSA9IHsKICNkZWZpbmUgUkVHX1BFQ0lfRU5BQkxFCQkweDIzCiAj ZGVmaW5lIFJFR19GQU5fRU5BQkxFCQkweDI0CiAjZGVmaW5lIFJFR19WTU9OX0VOQUJMRQkJMHgy NQorI2RlZmluZSBSRUdfUFdNKHgpCQkoMHg2MCArICh4KSkKICNkZWZpbmUgUkVHX1NNQVJURkFO X0VOKHgpICAgICAgKDB4NjQgKyAoeCkgLyAyKQogI2RlZmluZSBTTUFSVEZBTl9FTl9TSElGVCh4 KSAgICAoKHgpICUgMiAqIDQpCiAjZGVmaW5lIFJFR19WRU5ET1JfSUQJCTB4ZmQKQEAgLTEzMCw2 ICsxMzEsOSBAQCBzdGF0aWMgc3NpemVfdCBzaG93X3B3bShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0 cnVjdCBkZXZpY2VfYXR0cmlidXRlICpkZXZhdHRyLAogCXVuc2lnbmVkIGludCB2YWw7CiAJaW50 IHJldDsKIAorCWlmICghYXR0ci0+aW5kZXgpCisJCXJldHVybiBzcHJpbnRmKGJ1ZiwgIjI1NVxu Iik7CisKIAlyZXQgPSByZWdtYXBfcmVhZChkYXRhLT5yZWdtYXAsIGF0dHItPmluZGV4LCAmdmFs KTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTgyNiw5ICs4MzAsMTIgQEAgc3Rh dGljIFNFTlNPUl9ERVZJQ0VfQVRUUihwd20yX21vZGUsIFNfSVJVR08sIHNob3dfcHdtX21vZGUs IE5VTEwsIDEpOwogc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUihwd20zX21vZGUsIFNfSVJVR08s IHNob3dfcHdtX21vZGUsIE5VTEwsIDIpOwogCiAvKiA3LjIuOTEuLi4gRmFuIENvbnRyb2wgT3V0 cHV0IFZhbHVlICovCi1zdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKHB3bTEsIFNfSVJVR08gfCBT X0lXVVNSLCBzaG93X3B3bSwgc3RvcmVfcHdtLCAweDYwKTsKLXN0YXRpYyBTRU5TT1JfREVWSUNF X0FUVFIocHdtMiwgU19JUlVHTyB8IFNfSVdVU1IsIHNob3dfcHdtLCBzdG9yZV9wd20sIDB4NjEp Owotc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUihwd20zLCBTX0lSVUdPIHwgU19JV1VTUiwgc2hv d19wd20sIHN0b3JlX3B3bSwgMHg2Mik7CitzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKHB3bTEs IFNfSVJVR08gfCBTX0lXVVNSLCBzaG93X3B3bSwgc3RvcmVfcHdtLAorCQkJICBSRUdfUFdNKDAp KTsKK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIocHdtMiwgU19JUlVHTyB8IFNfSVdVU1IsIHNo b3dfcHdtLCBzdG9yZV9wd20sCisJCQkgIFJFR19QV00oMSkpOworc3RhdGljIFNFTlNPUl9ERVZJ Q0VfQVRUUihwd20zLCBTX0lSVUdPIHwgU19JV1VTUiwgc2hvd19wd20sIHN0b3JlX3B3bSwKKwkJ CSAgUkVHX1BXTSgyKSk7CiAKIC8qIDcuMi45NS4uLiBUZW1wZXJhdHVyZSB0byBGYW4gbWFwcGlu ZyBSZWxhdGlvbnNoaXBzIFJlZ2lzdGVyICovCiBzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKHB3 bTFfZW5hYmxlLCBTX0lSVUdPIHwgU19JV1VTUiwgc2hvd19wd21fZW5hYmxlLApAQCAtODkzLDEx ICs5MDAsMTI1IEBAIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIG5jdDc4MDJfcHdtX2dy b3VwID0gewogCS5hdHRycyA9IG5jdDc4MDJfcHdtX2F0dHJzLAogfTsKIAorLyogNy4yLjExNS4u LiAweDgwLTB4ODMsIDB4ODQgVGVtcGVyYXR1cmUgKFgtYXhpcykgdHJhbnNpdGlvbiAqLworc3Rh dGljIFNFTlNPUl9ERVZJQ0VfQVRUUl8yKHB3bTFfYXV0b19wb2ludDFfdGVtcCwgU19JUlVHTyB8 IFNfSVdVU1IsCisJCQkgICAgc2hvd190ZW1wLCBzdG9yZV90ZW1wLCAweDgwLCAwKTsKK3N0YXRp YyBTRU5TT1JfREVWSUNFX0FUVFJfMihwd20xX2F1dG9fcG9pbnQyX3RlbXAsIFNfSVJVR08gfCBT X0lXVVNSLAorCQkJICAgIHNob3dfdGVtcCwgc3RvcmVfdGVtcCwgMHg4MSwgMCk7CitzdGF0aWMg U0VOU09SX0RFVklDRV9BVFRSXzIocHdtMV9hdXRvX3BvaW50M190ZW1wLCBTX0lSVUdPIHwgU19J V1VTUiwKKwkJCSAgICBzaG93X3RlbXAsIHN0b3JlX3RlbXAsIDB4ODIsIDApOworc3RhdGljIFNF TlNPUl9ERVZJQ0VfQVRUUl8yKHB3bTFfYXV0b19wb2ludDRfdGVtcCwgU19JUlVHTyB8IFNfSVdV U1IsCisJCQkgICAgc2hvd190ZW1wLCBzdG9yZV90ZW1wLCAweDgzLCAwKTsKK3N0YXRpYyBTRU5T T1JfREVWSUNFX0FUVFJfMihwd20xX2F1dG9fcG9pbnQ1X3RlbXAsIFNfSVJVR08gfCBTX0lXVVNS LAorCQkJICAgIHNob3dfdGVtcCwgc3RvcmVfdGVtcCwgMHg4NCwgMCk7CisKKy8qIDcuMi4xMjAu Li4gMHg4NS0weDg4IFBXTSAoWS1heGlzKSB0cmFuc2l0aW9uICovCitzdGF0aWMgU0VOU09SX0RF VklDRV9BVFRSKHB3bTFfYXV0b19wb2ludDFfcHdtLCBTX0lSVUdPIHwgU19JV1VTUiwKKwkJCSAg c2hvd19wd20sIHN0b3JlX3B3bSwgMHg4NSk7CitzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKHB3 bTFfYXV0b19wb2ludDJfcHdtLCBTX0lSVUdPIHwgU19JV1VTUiwKKwkJCSAgc2hvd19wd20sIHN0 b3JlX3B3bSwgMHg4Nik7CitzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKHB3bTFfYXV0b19wb2lu dDNfcHdtLCBTX0lSVUdPIHwgU19JV1VTUiwKKwkJCSAgc2hvd19wd20sIHN0b3JlX3B3bSwgMHg4 Nyk7CitzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKHB3bTFfYXV0b19wb2ludDRfcHdtLCBTX0lS VUdPIHwgU19JV1VTUiwKKwkJCSAgc2hvd19wd20sIHN0b3JlX3B3bSwgMHg4OCk7CitzdGF0aWMg U0VOU09SX0RFVklDRV9BVFRSKHB3bTFfYXV0b19wb2ludDVfcHdtLCBTX0lSVUdPLCBzaG93X3B3 bSwgTlVMTCwgMCk7CisKKy8qIDcuMi4xMjQgVGFibGUgMiBYLWF4aXMgVHJhbnNpdGlvbiBQb2lu dCAxIFJlZ2lzdGVyICovCitzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSXzIocHdtMl9hdXRvX3Bv aW50MV90ZW1wLCBTX0lSVUdPIHwgU19JV1VTUiwKKwkJCSAgICBzaG93X3RlbXAsIHN0b3JlX3Rl bXAsIDB4OTAsIDApOworc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUl8yKHB3bTJfYXV0b19wb2lu dDJfdGVtcCwgU19JUlVHTyB8IFNfSVdVU1IsCisJCQkgICAgc2hvd190ZW1wLCBzdG9yZV90ZW1w LCAweDkxLCAwKTsKK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFJfMihwd20yX2F1dG9fcG9pbnQz X3RlbXAsIFNfSVJVR08gfCBTX0lXVVNSLAorCQkJICAgIHNob3dfdGVtcCwgc3RvcmVfdGVtcCwg MHg5MiwgMCk7CitzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSXzIocHdtMl9hdXRvX3BvaW50NF90 ZW1wLCBTX0lSVUdPIHwgU19JV1VTUiwKKwkJCSAgICBzaG93X3RlbXAsIHN0b3JlX3RlbXAsIDB4 OTMsIDApOworc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUl8yKHB3bTJfYXV0b19wb2ludDVfdGVt cCwgU19JUlVHTyB8IFNfSVdVU1IsCisJCQkgICAgc2hvd190ZW1wLCBzdG9yZV90ZW1wLCAweDk0 LCAwKTsKKworLyogNy4yLjEyOSBUYWJsZSAyIFktYXhpcyBUcmFuc2l0aW9uIFBvaW50IDEgUmVn aXN0ZXIgKi8KK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIocHdtMl9hdXRvX3BvaW50MV9wd20s IFNfSVJVR08gfCBTX0lXVVNSLAorCQkJICBzaG93X3B3bSwgc3RvcmVfcHdtLCAweDk1KTsKK3N0 YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIocHdtMl9hdXRvX3BvaW50Ml9wd20sIFNfSVJVR08gfCBT X0lXVVNSLAorCQkJICBzaG93X3B3bSwgc3RvcmVfcHdtLCAweDk2KTsKK3N0YXRpYyBTRU5TT1Jf REVWSUNFX0FUVFIocHdtMl9hdXRvX3BvaW50M19wd20sIFNfSVJVR08gfCBTX0lXVVNSLAorCQkJ ICBzaG93X3B3bSwgc3RvcmVfcHdtLCAweDk3KTsKK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIo cHdtMl9hdXRvX3BvaW50NF9wd20sIFNfSVJVR08gfCBTX0lXVVNSLAorCQkJICBzaG93X3B3bSwg c3RvcmVfcHdtLCAweDk4KTsKK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIocHdtMl9hdXRvX3Bv aW50NV9wd20sIFNfSVJVR08sIHNob3dfcHdtLCBOVUxMLCAwKTsKKworLyogNy4yLjEzMyBUYWJs ZSAzIFgtYXhpcyBUcmFuc2l0aW9uIFBvaW50IDEgUmVnaXN0ZXIgKi8KK3N0YXRpYyBTRU5TT1Jf REVWSUNFX0FUVFJfMihwd20zX2F1dG9fcG9pbnQxX3RlbXAsIFNfSVJVR08gfCBTX0lXVVNSLAor CQkJICAgIHNob3dfdGVtcCwgc3RvcmVfdGVtcCwgMHhBMCwgMCk7CitzdGF0aWMgU0VOU09SX0RF VklDRV9BVFRSXzIocHdtM19hdXRvX3BvaW50Ml90ZW1wLCBTX0lSVUdPIHwgU19JV1VTUiwKKwkJ CSAgICBzaG93X3RlbXAsIHN0b3JlX3RlbXAsIDB4QTEsIDApOworc3RhdGljIFNFTlNPUl9ERVZJ Q0VfQVRUUl8yKHB3bTNfYXV0b19wb2ludDNfdGVtcCwgU19JUlVHTyB8IFNfSVdVU1IsCisJCQkg ICAgc2hvd190ZW1wLCBzdG9yZV90ZW1wLCAweEEyLCAwKTsKK3N0YXRpYyBTRU5TT1JfREVWSUNF X0FUVFJfMihwd20zX2F1dG9fcG9pbnQ0X3RlbXAsIFNfSVJVR08gfCBTX0lXVVNSLAorCQkJICAg IHNob3dfdGVtcCwgc3RvcmVfdGVtcCwgMHhBMywgMCk7CitzdGF0aWMgU0VOU09SX0RFVklDRV9B VFRSXzIocHdtM19hdXRvX3BvaW50NV90ZW1wLCBTX0lSVUdPIHwgU19JV1VTUiwKKwkJCSAgICBz aG93X3RlbXAsIHN0b3JlX3RlbXAsIDB4QTQsIDApOworCisvKiA3LjIuMTM4IFRhYmxlIDMgWS1h eGlzIFRyYW5zaXRpb24gUG9pbnQgMSBSZWdpc3RlciAqLworc3RhdGljIFNFTlNPUl9ERVZJQ0Vf QVRUUihwd20zX2F1dG9fcG9pbnQxX3B3bSwgU19JUlVHTyB8IFNfSVdVU1IsCisJCQkgIHNob3df cHdtLCBzdG9yZV9wd20sIDB4QTUpOworc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUihwd20zX2F1 dG9fcG9pbnQyX3B3bSwgU19JUlVHTyB8IFNfSVdVU1IsCisJCQkgIHNob3dfcHdtLCBzdG9yZV9w d20sIDB4QTYpOworc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUihwd20zX2F1dG9fcG9pbnQzX3B3 bSwgU19JUlVHTyB8IFNfSVdVU1IsCisJCQkgIHNob3dfcHdtLCBzdG9yZV9wd20sIDB4QTcpOwor c3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUihwd20zX2F1dG9fcG9pbnQ0X3B3bSwgU19JUlVHTyB8 IFNfSVdVU1IsCisJCQkgIHNob3dfcHdtLCBzdG9yZV9wd20sIDB4QTgpOworc3RhdGljIFNFTlNP Ul9ERVZJQ0VfQVRUUihwd20zX2F1dG9fcG9pbnQ1X3B3bSwgU19JUlVHTywgc2hvd19wd20sIE5V TEwsIDApOworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqbmN0NzgwMl9hdXRvX3BvaW50X2F0 dHJzW10gPSB7CisJJnNlbnNvcl9kZXZfYXR0cl9wd20xX2F1dG9fcG9pbnQxX3RlbXAuZGV2X2F0 dHIuYXR0ciwKKwkmc2Vuc29yX2Rldl9hdHRyX3B3bTFfYXV0b19wb2ludDJfdGVtcC5kZXZfYXR0 ci5hdHRyLAorCSZzZW5zb3JfZGV2X2F0dHJfcHdtMV9hdXRvX3BvaW50M190ZW1wLmRldl9hdHRy LmF0dHIsCisJJnNlbnNvcl9kZXZfYXR0cl9wd20xX2F1dG9fcG9pbnQ0X3RlbXAuZGV2X2F0dHIu YXR0ciwKKwkmc2Vuc29yX2Rldl9hdHRyX3B3bTFfYXV0b19wb2ludDVfdGVtcC5kZXZfYXR0ci5h dHRyLAorCisJJnNlbnNvcl9kZXZfYXR0cl9wd20xX2F1dG9fcG9pbnQxX3B3bS5kZXZfYXR0ci5h dHRyLAorCSZzZW5zb3JfZGV2X2F0dHJfcHdtMV9hdXRvX3BvaW50Ml9wd20uZGV2X2F0dHIuYXR0 ciwKKwkmc2Vuc29yX2Rldl9hdHRyX3B3bTFfYXV0b19wb2ludDNfcHdtLmRldl9hdHRyLmF0dHIs CisJJnNlbnNvcl9kZXZfYXR0cl9wd20xX2F1dG9fcG9pbnQ0X3B3bS5kZXZfYXR0ci5hdHRyLAor CSZzZW5zb3JfZGV2X2F0dHJfcHdtMV9hdXRvX3BvaW50NV9wd20uZGV2X2F0dHIuYXR0ciwKKwor CSZzZW5zb3JfZGV2X2F0dHJfcHdtMl9hdXRvX3BvaW50MV90ZW1wLmRldl9hdHRyLmF0dHIsCisJ JnNlbnNvcl9kZXZfYXR0cl9wd20yX2F1dG9fcG9pbnQyX3RlbXAuZGV2X2F0dHIuYXR0ciwKKwkm c2Vuc29yX2Rldl9hdHRyX3B3bTJfYXV0b19wb2ludDNfdGVtcC5kZXZfYXR0ci5hdHRyLAorCSZz ZW5zb3JfZGV2X2F0dHJfcHdtMl9hdXRvX3BvaW50NF90ZW1wLmRldl9hdHRyLmF0dHIsCisJJnNl bnNvcl9kZXZfYXR0cl9wd20yX2F1dG9fcG9pbnQ1X3RlbXAuZGV2X2F0dHIuYXR0ciwKKworCSZz ZW5zb3JfZGV2X2F0dHJfcHdtMl9hdXRvX3BvaW50MV9wd20uZGV2X2F0dHIuYXR0ciwKKwkmc2Vu c29yX2Rldl9hdHRyX3B3bTJfYXV0b19wb2ludDJfcHdtLmRldl9hdHRyLmF0dHIsCisJJnNlbnNv cl9kZXZfYXR0cl9wd20yX2F1dG9fcG9pbnQzX3B3bS5kZXZfYXR0ci5hdHRyLAorCSZzZW5zb3Jf ZGV2X2F0dHJfcHdtMl9hdXRvX3BvaW50NF9wd20uZGV2X2F0dHIuYXR0ciwKKwkmc2Vuc29yX2Rl dl9hdHRyX3B3bTJfYXV0b19wb2ludDVfcHdtLmRldl9hdHRyLmF0dHIsCisKKwkmc2Vuc29yX2Rl dl9hdHRyX3B3bTNfYXV0b19wb2ludDFfdGVtcC5kZXZfYXR0ci5hdHRyLAorCSZzZW5zb3JfZGV2 X2F0dHJfcHdtM19hdXRvX3BvaW50Ml90ZW1wLmRldl9hdHRyLmF0dHIsCisJJnNlbnNvcl9kZXZf YXR0cl9wd20zX2F1dG9fcG9pbnQzX3RlbXAuZGV2X2F0dHIuYXR0ciwKKwkmc2Vuc29yX2Rldl9h dHRyX3B3bTNfYXV0b19wb2ludDRfdGVtcC5kZXZfYXR0ci5hdHRyLAorCSZzZW5zb3JfZGV2X2F0 dHJfcHdtM19hdXRvX3BvaW50NV90ZW1wLmRldl9hdHRyLmF0dHIsCisKKwkmc2Vuc29yX2Rldl9h dHRyX3B3bTNfYXV0b19wb2ludDFfcHdtLmRldl9hdHRyLmF0dHIsCisJJnNlbnNvcl9kZXZfYXR0 cl9wd20zX2F1dG9fcG9pbnQyX3B3bS5kZXZfYXR0ci5hdHRyLAorCSZzZW5zb3JfZGV2X2F0dHJf cHdtM19hdXRvX3BvaW50M19wd20uZGV2X2F0dHIuYXR0ciwKKwkmc2Vuc29yX2Rldl9hdHRyX3B3 bTNfYXV0b19wb2ludDRfcHdtLmRldl9hdHRyLmF0dHIsCisJJnNlbnNvcl9kZXZfYXR0cl9wd20z X2F1dG9fcG9pbnQ1X3B3bS5kZXZfYXR0ci5hdHRyLAorCisJTlVMTAorfTsKKworc3RhdGljIHN0 cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgbmN0NzgwMl9hdXRvX3BvaW50X2dyb3VwID0geworCS5hdHRy cyA9IG5jdDc4MDJfYXV0b19wb2ludF9hdHRycywKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg YXR0cmlidXRlX2dyb3VwICpuY3Q3ODAyX2dyb3Vwc1tdID0gewogCSZuY3Q3ODAyX3RlbXBfZ3Jv dXAsCiAJJm5jdDc4MDJfaW5fZ3JvdXAsCiAJJm5jdDc4MDJfZmFuX2dyb3VwLAogCSZuY3Q3ODAy X3B3bV9ncm91cCwKKwkmbmN0NzgwMl9hdXRvX3BvaW50X2dyb3VwLAogCU5VTEwKIH07CiAKQEAg LTk0NSw3ICsxMDY2LDggQEAgc3RhdGljIGludCBuY3Q3ODAyX2RldGVjdChzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50LAogCiBzdGF0aWMgYm9vbCBuY3Q3ODAyX3JlZ21hcF9pc192b2xhdGlsZShz dHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCByZWcpCiB7Ci0JcmV0dXJuIHJlZyAhPSBS RUdfQkFOSyAmJiByZWcgPD0gMHgyMDsKKwlyZXR1cm4gKHJlZyAhPSBSRUdfQkFOSyAmJiByZWcg PD0gMHgyMCkgfHwKKwkJKHJlZyA+PSBSRUdfUFdNKDApICYmIHJlZyA8PSBSRUdfUFdNKDIpKTsK IH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIG5jdDc4MDJfcmVnbWFwX2Nv bmZpZyA9IHsKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbG0tc2Vuc29ycyBtYWlsaW5nIGxpc3QKbG0tc2Vuc29yc0BsbS1zZW5zb3Jz Lm9yZwpodHRwOi8vbGlzdHMubG0tc2Vuc29ycy5vcmcvbWFpbG1hbi9saXN0aW5mby9sbS1zZW5z b3Jz ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v4] hwmon: (nct7802) Add autopoint attributes @ 2015-07-25 21:45 ` Constantine Shulyupin 0 siblings, 0 replies; 4+ messages in thread From: Constantine Shulyupin @ 2015-07-25 21:45 UTC (permalink / raw) To: Jean Delvare, Guenter Roeck, Jonathan Corbet, open list:HARDWARE MONITORING, open list:DOCUMENTATION, open list Cc: Constantine Shulyupin Introduced REG_PWM, pwm[1..3]_auto_point[1..5]_temp, pwm[1..3]_auto_point[1..5]_pwm, nct7802_auto_point_attrs, nct7802_auto_point_group, updated nct7802_regmap_is_volatile Signed-off-by: Constantine Shulyupin <const@MakeLinux.com> --- Changed in v4: - fixed expression in nct7802_regmap_is_volatile - added pwmX_auto_temp to driver's documentation Changed in v3: - removed nct7802_auto_point_is_visible - removed usage of sysfs_update_group - introduced REG_PWM - removed S_IWUSR from RO attributes - added PWM registers to nct7802_regmap_is_volatile Changed in v2: - removed PWM_REG, TEMP_REG - removed auto_point[1..4]_temp, auto_point[1..4]_pwm and auto_point_crit_temp - introduced pwm[1..3]_auto_point[1..5]_temp and pwm[1..3]_auto_point[1..5]_pwm. - introduced nct7802_auto_point_is_visible - used sysfs_update_group in store_pwm_enable Default values on my platform: fan1_alarm:0 pwm2_auto_point1_temp:25000 fan1_beep:0 pwm2_auto_point2_pwm:170 fan1_input:150000 pwm2_auto_point2_temp:35000 fan1_min:0 pwm2_auto_point3_pwm:200 fan2_alarm:0 pwm2_auto_point3_temp:45000 fan2_beep:0 pwm2_auto_point4_pwm:230 fan2_input:0 pwm2_auto_point4_temp:55000 fan2_min:0 pwm2_auto_point5_pwm:255 fan3_alarm:0 pwm2_auto_point5_temp:60000 fan3_beep:0 pwm2_enable:1 fan3_input:0 pwm2_mode:1 fan3_min:0 pwm3:127 in0_alarm:0 pwm3_auto_point1_pwm:140 in0_beep:0 pwm3_auto_point1_temp:25000 in0_input:3312 pwm3_auto_point2_pwm:170 in0_max:4092 pwm3_auto_point2_temp:35000 in0_min:0 pwm3_auto_point3_pwm:200 in1_input:902 pwm3_auto_point3_temp:45000 in3_alarm:0 pwm3_auto_point4_pwm:230 in3_beep:0 pwm3_auto_point4_temp:55000 in3_input:1808 pwm3_auto_point5_pwm:255 in3_max:2046 pwm3_auto_point5_temp:60000 in3_min:0 pwm3_enable:1 in4_alarm:0 pwm3_mode:1 in4_beep:0 temp1_beep:0 in4_input:1508 temp1_crit:100000 in4_max:2046 temp1_crit_alarm:0 in4_min:0 temp1_fault:0 name:nct7802 temp1_input:35500 pwm1:127 temp1_max:85000 pwm1_auto_point1_pwm:140 temp1_max_alarm:0 pwm1_auto_point1_temp:25000 temp1_min:0 pwm1_auto_point2_pwm:170 temp1_min_alarm:0 pwm1_auto_point2_temp:35000 temp1_type:4 pwm1_auto_point3_pwm:200 temp4_beep:0 pwm1_auto_point3_temp:45000 temp4_crit:100000 pwm1_auto_point4_pwm:230 temp4_crit_alarm:0 pwm1_auto_point4_temp:55000 temp4_input:39000 pwm1_auto_point5_pwm:255 temp4_max:85000 pwm1_auto_point5_temp:60000 temp4_max_alarm:0 pwm1_enable:1 temp4_min:0 pwm1_mode:1 temp4_min_alarm:0 pwm2:127 temp6_beep:0 pwm2_auto_point1_pwm:140 temp6_input:0 --- Documentation/hwmon/nct7802 | 5 +- drivers/hwmon/nct7802.c | 130 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 128 insertions(+), 7 deletions(-) diff --git a/Documentation/hwmon/nct7802 b/Documentation/hwmon/nct7802 index 2e00f5e..c5c25a5 100644 --- a/Documentation/hwmon/nct7802 +++ b/Documentation/hwmon/nct7802 @@ -5,7 +5,7 @@ Supported chips: * Nuvoton NCT7802Y Prefix: 'nct7802' Addresses scanned: I2C 0x28..0x2f - Datasheet: Available from Nuvoton web site + Datasheet: http://www.nuvoton.com/hq/products/cloud-computing/hardware-monitors/desktop-server-series/nct7802y/ Authors: Guenter Roeck <linux@roeck-us.net> @@ -17,8 +17,7 @@ This driver implements support for the Nuvoton NCT7802Y hardware monitoring chip. NCT7802Y supports 6 temperature sensors, 5 voltage sensors, and 3 fan speed sensors. -The chip also supports intelligent fan speed control. This functionality is -not currently supported by the driver. +Smart Fan™ speed control is avilabel via pwmX_auto_temp attributes. Tested Boards and BIOS Versions ------------------------------- diff --git a/drivers/hwmon/nct7802.c b/drivers/hwmon/nct7802.c index d018571..c1898ba 100644 --- a/drivers/hwmon/nct7802.c +++ b/drivers/hwmon/nct7802.c @@ -53,6 +53,7 @@ static const u8 REG_VOLTAGE_LIMIT_MSB_SHIFT[2][5] = { #define REG_PECI_ENABLE 0x23 #define REG_FAN_ENABLE 0x24 #define REG_VMON_ENABLE 0x25 +#define REG_PWM(x) (0x60 + (x)) #define REG_SMARTFAN_EN(x) (0x64 + (x) / 2) #define SMARTFAN_EN_SHIFT(x) ((x) % 2 * 4) #define REG_VENDOR_ID 0xfd @@ -130,6 +131,9 @@ static ssize_t show_pwm(struct device *dev, struct device_attribute *devattr, unsigned int val; int ret; + if (!attr->index) + return sprintf(buf, "255\n"); + ret = regmap_read(data->regmap, attr->index, &val); if (ret < 0) return ret; @@ -826,9 +830,12 @@ static SENSOR_DEVICE_ATTR(pwm2_mode, S_IRUGO, show_pwm_mode, NULL, 1); static SENSOR_DEVICE_ATTR(pwm3_mode, S_IRUGO, show_pwm_mode, NULL, 2); /* 7.2.91... Fan Control Output Value */ -static SENSOR_DEVICE_ATTR(pwm1, S_IRUGO | S_IWUSR, show_pwm, store_pwm, 0x60); -static SENSOR_DEVICE_ATTR(pwm2, S_IRUGO | S_IWUSR, show_pwm, store_pwm, 0x61); -static SENSOR_DEVICE_ATTR(pwm3, S_IRUGO | S_IWUSR, show_pwm, store_pwm, 0x62); +static SENSOR_DEVICE_ATTR(pwm1, S_IRUGO | S_IWUSR, show_pwm, store_pwm, + REG_PWM(0)); +static SENSOR_DEVICE_ATTR(pwm2, S_IRUGO | S_IWUSR, show_pwm, store_pwm, + REG_PWM(1)); +static SENSOR_DEVICE_ATTR(pwm3, S_IRUGO | S_IWUSR, show_pwm, store_pwm, + REG_PWM(2)); /* 7.2.95... Temperature to Fan mapping Relationships Register */ static SENSOR_DEVICE_ATTR(pwm1_enable, S_IRUGO | S_IWUSR, show_pwm_enable, @@ -893,11 +900,125 @@ static struct attribute_group nct7802_pwm_group = { .attrs = nct7802_pwm_attrs, }; +/* 7.2.115... 0x80-0x83, 0x84 Temperature (X-axis) transition */ +static SENSOR_DEVICE_ATTR_2(pwm1_auto_point1_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x80, 0); +static SENSOR_DEVICE_ATTR_2(pwm1_auto_point2_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x81, 0); +static SENSOR_DEVICE_ATTR_2(pwm1_auto_point3_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x82, 0); +static SENSOR_DEVICE_ATTR_2(pwm1_auto_point4_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x83, 0); +static SENSOR_DEVICE_ATTR_2(pwm1_auto_point5_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x84, 0); + +/* 7.2.120... 0x85-0x88 PWM (Y-axis) transition */ +static SENSOR_DEVICE_ATTR(pwm1_auto_point1_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x85); +static SENSOR_DEVICE_ATTR(pwm1_auto_point2_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x86); +static SENSOR_DEVICE_ATTR(pwm1_auto_point3_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x87); +static SENSOR_DEVICE_ATTR(pwm1_auto_point4_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x88); +static SENSOR_DEVICE_ATTR(pwm1_auto_point5_pwm, S_IRUGO, show_pwm, NULL, 0); + +/* 7.2.124 Table 2 X-axis Transition Point 1 Register */ +static SENSOR_DEVICE_ATTR_2(pwm2_auto_point1_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x90, 0); +static SENSOR_DEVICE_ATTR_2(pwm2_auto_point2_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x91, 0); +static SENSOR_DEVICE_ATTR_2(pwm2_auto_point3_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x92, 0); +static SENSOR_DEVICE_ATTR_2(pwm2_auto_point4_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x93, 0); +static SENSOR_DEVICE_ATTR_2(pwm2_auto_point5_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0x94, 0); + +/* 7.2.129 Table 2 Y-axis Transition Point 1 Register */ +static SENSOR_DEVICE_ATTR(pwm2_auto_point1_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x95); +static SENSOR_DEVICE_ATTR(pwm2_auto_point2_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x96); +static SENSOR_DEVICE_ATTR(pwm2_auto_point3_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x97); +static SENSOR_DEVICE_ATTR(pwm2_auto_point4_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0x98); +static SENSOR_DEVICE_ATTR(pwm2_auto_point5_pwm, S_IRUGO, show_pwm, NULL, 0); + +/* 7.2.133 Table 3 X-axis Transition Point 1 Register */ +static SENSOR_DEVICE_ATTR_2(pwm3_auto_point1_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0xA0, 0); +static SENSOR_DEVICE_ATTR_2(pwm3_auto_point2_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0xA1, 0); +static SENSOR_DEVICE_ATTR_2(pwm3_auto_point3_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0xA2, 0); +static SENSOR_DEVICE_ATTR_2(pwm3_auto_point4_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0xA3, 0); +static SENSOR_DEVICE_ATTR_2(pwm3_auto_point5_temp, S_IRUGO | S_IWUSR, + show_temp, store_temp, 0xA4, 0); + +/* 7.2.138 Table 3 Y-axis Transition Point 1 Register */ +static SENSOR_DEVICE_ATTR(pwm3_auto_point1_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0xA5); +static SENSOR_DEVICE_ATTR(pwm3_auto_point2_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0xA6); +static SENSOR_DEVICE_ATTR(pwm3_auto_point3_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0xA7); +static SENSOR_DEVICE_ATTR(pwm3_auto_point4_pwm, S_IRUGO | S_IWUSR, + show_pwm, store_pwm, 0xA8); +static SENSOR_DEVICE_ATTR(pwm3_auto_point5_pwm, S_IRUGO, show_pwm, NULL, 0); + +static struct attribute *nct7802_auto_point_attrs[] = { + &sensor_dev_attr_pwm1_auto_point1_temp.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point2_temp.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point3_temp.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point4_temp.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point5_temp.dev_attr.attr, + + &sensor_dev_attr_pwm1_auto_point1_pwm.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point2_pwm.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point3_pwm.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point4_pwm.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point5_pwm.dev_attr.attr, + + &sensor_dev_attr_pwm2_auto_point1_temp.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point2_temp.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point3_temp.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point4_temp.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point5_temp.dev_attr.attr, + + &sensor_dev_attr_pwm2_auto_point1_pwm.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point2_pwm.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point3_pwm.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point4_pwm.dev_attr.attr, + &sensor_dev_attr_pwm2_auto_point5_pwm.dev_attr.attr, + + &sensor_dev_attr_pwm3_auto_point1_temp.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point2_temp.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point3_temp.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point4_temp.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point5_temp.dev_attr.attr, + + &sensor_dev_attr_pwm3_auto_point1_pwm.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point2_pwm.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point3_pwm.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point4_pwm.dev_attr.attr, + &sensor_dev_attr_pwm3_auto_point5_pwm.dev_attr.attr, + + NULL +}; + +static struct attribute_group nct7802_auto_point_group = { + .attrs = nct7802_auto_point_attrs, +}; + static const struct attribute_group *nct7802_groups[] = { &nct7802_temp_group, &nct7802_in_group, &nct7802_fan_group, &nct7802_pwm_group, + &nct7802_auto_point_group, NULL }; @@ -945,7 +1066,8 @@ static int nct7802_detect(struct i2c_client *client, static bool nct7802_regmap_is_volatile(struct device *dev, unsigned int reg) { - return reg != REG_BANK && reg <= 0x20; + return (reg != REG_BANK && reg <= 0x20) || + (reg >= REG_PWM(0) && reg <= REG_PWM(2)); } static const struct regmap_config nct7802_regmap_config = { -- 1.9.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [lm-sensors] [PATCH v4] hwmon: (nct7802) Add autopoint attributes 2015-07-25 21:45 ` Constantine Shulyupin (?) @ 2015-07-26 11:40 ` Guenter Roeck -1 siblings, 0 replies; 4+ messages in thread From: Guenter Roeck @ 2015-07-26 11:40 UTC (permalink / raw) To: lm-sensors SGkgQ29uc3RhbnRpbmUsCgpPbiAwNy8yNS8yMDE1IDAyOjQ1IFBNLCBDb25zdGFudGluZSBTaHVs eXVwaW4gd3JvdGU6Cj4gSW50cm9kdWNlZCBSRUdfUFdNLCBwd21bMS4uM11fYXV0b19wb2ludFsx Li41XV90ZW1wLAo+IHB3bVsxLi4zXV9hdXRvX3BvaW50WzEuLjVdX3B3bSwgbmN0NzgwMl9hdXRv X3BvaW50X2F0dHJzLAo+IG5jdDc4MDJfYXV0b19wb2ludF9ncm91cCwgdXBkYXRlZCBuY3Q3ODAy X3JlZ21hcF9pc192b2xhdGlsZQo+Cj4gU2lnbmVkLW9mZi1ieTogQ29uc3RhbnRpbmUgU2h1bHl1 cGluIDxjb25zdEBNYWtlTGludXguY29tPgo+IC0tLQo+Cj4gQ2hhbmdlZCBpbiB2NDoKPiAtIGZp eGVkIGV4cHJlc3Npb24gaW4gbmN0NzgwMl9yZWdtYXBfaXNfdm9sYXRpbGUKPiAtIGFkZGVkIHB3 bVhfYXV0b190ZW1wIHRvIGRyaXZlcidzIGRvY3VtZW50YXRpb24KPiBDaGFuZ2VkIGluIHYzOgo+ IC0gcmVtb3ZlZCBuY3Q3ODAyX2F1dG9fcG9pbnRfaXNfdmlzaWJsZQo+IC0gcmVtb3ZlZCB1c2Fn ZSBvZiBzeXNmc191cGRhdGVfZ3JvdXAKPiAtIGludHJvZHVjZWQgUkVHX1BXTQo+IC0gcmVtb3Zl ZCBTX0lXVVNSIGZyb20gUk8gYXR0cmlidXRlcwo+IC0gYWRkZWQgUFdNIHJlZ2lzdGVycyB0byBu Y3Q3ODAyX3JlZ21hcF9pc192b2xhdGlsZQo+IENoYW5nZWQgaW4gdjI6Cj4gLSByZW1vdmVkIFBX TV9SRUcsIFRFTVBfUkVHCj4gLSByZW1vdmVkIGF1dG9fcG9pbnRbMS4uNF1fdGVtcCwgYXV0b19w b2ludFsxLi40XV9wd20KPiAgICBhbmQgYXV0b19wb2ludF9jcml0X3RlbXAKPiAtIGludHJvZHVj ZWQgcHdtWzEuLjNdX2F1dG9fcG9pbnRbMS4uNV1fdGVtcAo+ICAgIGFuZCBwd21bMS4uM11fYXV0 b19wb2ludFsxLi41XV9wd20uCj4gLSBpbnRyb2R1Y2VkIG5jdDc4MDJfYXV0b19wb2ludF9pc192 aXNpYmxlCj4gLSB1c2VkIHN5c2ZzX3VwZGF0ZV9ncm91cCBpbiBzdG9yZV9wd21fZW5hYmxlCj4K PiBEZWZhdWx0IHZhbHVlcyBvbiBteSBwbGF0Zm9ybToKPgo+IGZhbjFfYWxhcm06MCAgICAgICAg ICAgICAgICAgICAgcHdtMl9hdXRvX3BvaW50MV90ZW1wOjI1MDAwCj4gZmFuMV9iZWVwOjAgICAg ICAgICAgICAgICAgICAgICBwd20yX2F1dG9fcG9pbnQyX3B3bToxNzAKPiBmYW4xX2lucHV0OjE1 MDAwMCAgICAgICAgICAgICAgIHB3bTJfYXV0b19wb2ludDJfdGVtcDozNTAwMAoKZmFuMV9pbnB1 dCBpcyBhIGJpdCBoaWdoLCBpc24ndCBpdCA/Cgo+IGZhbjFfbWluOjAgICAgICAgICAgICAgICAg ICAgICAgcHdtMl9hdXRvX3BvaW50M19wd206MjAwCj4gZmFuMl9hbGFybTowICAgICAgICAgICAg ICAgICAgICBwd20yX2F1dG9fcG9pbnQzX3RlbXA6NDUwMDAKPiBmYW4yX2JlZXA6MCAgICAgICAg ICAgICAgICAgICAgIHB3bTJfYXV0b19wb2ludDRfcHdtOjIzMAo+IGZhbjJfaW5wdXQ6MCAgICAg ICAgICAgICAgICAgICAgcHdtMl9hdXRvX3BvaW50NF90ZW1wOjU1MDAwCj4gZmFuMl9taW46MCAg ICAgICAgICAgICAgICAgICAgICBwd20yX2F1dG9fcG9pbnQ1X3B3bToyNTUKPiBmYW4zX2FsYXJt OjAgICAgICAgICAgICAgICAgICAgIHB3bTJfYXV0b19wb2ludDVfdGVtcDo2MDAwMAo+IGZhbjNf YmVlcDowICAgICAgICAgICAgICAgICAgICAgcHdtMl9lbmFibGU6MQo+IGZhbjNfaW5wdXQ6MCAg ICAgICAgICAgICAgICAgICAgcHdtMl9tb2RlOjEKPiBmYW4zX21pbjowICAgICAgICAgICAgICAg ICAgICAgIHB3bTM6MTI3Cj4gaW4wX2FsYXJtOjAgICAgICAgICAgICAgICAgICAgICBwd20zX2F1 dG9fcG9pbnQxX3B3bToxNDAKPiBpbjBfYmVlcDowICAgICAgICAgICAgICAgICAgICAgIHB3bTNf YXV0b19wb2ludDFfdGVtcDoyNTAwMAo+IGluMF9pbnB1dDozMzEyICAgICAgICAgICAgICAgICAg cHdtM19hdXRvX3BvaW50Ml9wd206MTcwCj4gaW4wX21heDo0MDkyICAgICAgICAgICAgICAgICAg ICBwd20zX2F1dG9fcG9pbnQyX3RlbXA6MzUwMDAKPiBpbjBfbWluOjAgICAgICAgICAgICAgICAg ICAgICAgIHB3bTNfYXV0b19wb2ludDNfcHdtOjIwMAo+IGluMV9pbnB1dDo5MDIgICAgICAgICAg ICAgICAgICAgcHdtM19hdXRvX3BvaW50M190ZW1wOjQ1MDAwCj4gaW4zX2FsYXJtOjAgICAgICAg ICAgICAgICAgICAgICBwd20zX2F1dG9fcG9pbnQ0X3B3bToyMzAKPiBpbjNfYmVlcDowICAgICAg ICAgICAgICAgICAgICAgIHB3bTNfYXV0b19wb2ludDRfdGVtcDo1NTAwMAo+IGluM19pbnB1dDox ODA4ICAgICAgICAgICAgICAgICAgcHdtM19hdXRvX3BvaW50NV9wd206MjU1Cj4gaW4zX21heDoy MDQ2ICAgICAgICAgICAgICAgICAgICBwd20zX2F1dG9fcG9pbnQ1X3RlbXA6NjAwMDAKPiBpbjNf bWluOjAgICAgICAgICAgICAgICAgICAgICAgIHB3bTNfZW5hYmxlOjEKPiBpbjRfYWxhcm06MCAg ICAgICAgICAgICAgICAgICAgIHB3bTNfbW9kZToxCj4gaW40X2JlZXA6MCAgICAgICAgICAgICAg ICAgICAgICB0ZW1wMV9iZWVwOjAKPiBpbjRfaW5wdXQ6MTUwOCAgICAgICAgICAgICAgICAgIHRl bXAxX2NyaXQ6MTAwMDAwCj4gaW40X21heDoyMDQ2ICAgICAgICAgICAgICAgICAgICB0ZW1wMV9j cml0X2FsYXJtOjAKPiBpbjRfbWluOjAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAxX2ZhdWx0 OjAKPiBuYW1lOm5jdDc4MDIgICAgICAgICAgICAgICAgICAgIHRlbXAxX2lucHV0OjM1NTAwCj4g cHdtMToxMjcgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wMV9tYXg6ODUwMDAKPiBwd20xX2F1 dG9fcG9pbnQxX3B3bToxNDAgICAgICAgIHRlbXAxX21heF9hbGFybTowCj4gcHdtMV9hdXRvX3Bv aW50MV90ZW1wOjI1MDAwICAgICB0ZW1wMV9taW46MAo+IHB3bTFfYXV0b19wb2ludDJfcHdtOjE3 MCAgICAgICAgdGVtcDFfbWluX2FsYXJtOjAKPiBwd20xX2F1dG9fcG9pbnQyX3RlbXA6MzUwMDAg ICAgIHRlbXAxX3R5cGU6NAo+IHB3bTFfYXV0b19wb2ludDNfcHdtOjIwMCAgICAgICAgdGVtcDRf YmVlcDowCj4gcHdtMV9hdXRvX3BvaW50M190ZW1wOjQ1MDAwICAgICB0ZW1wNF9jcml0OjEwMDAw MAo+IHB3bTFfYXV0b19wb2ludDRfcHdtOjIzMCAgICAgICAgdGVtcDRfY3JpdF9hbGFybTowCj4g cHdtMV9hdXRvX3BvaW50NF90ZW1wOjU1MDAwICAgICB0ZW1wNF9pbnB1dDozOTAwMAo+IHB3bTFf YXV0b19wb2ludDVfcHdtOjI1NSAgICAgICAgdGVtcDRfbWF4Ojg1MDAwCj4gcHdtMV9hdXRvX3Bv aW50NV90ZW1wOjYwMDAwICAgICB0ZW1wNF9tYXhfYWxhcm06MAo+IHB3bTFfZW5hYmxlOjEgICAg ICAgICAgICAgICAgICAgdGVtcDRfbWluOjAKPiBwd20xX21vZGU6MSAgICAgICAgICAgICAgICAg ICAgIHRlbXA0X21pbl9hbGFybTowCj4gcHdtMjoxMjcgICAgICAgICAgICAgICAgICAgICAgICB0 ZW1wNl9iZWVwOjAKPiBwd20yX2F1dG9fcG9pbnQxX3B3bToxNDAgICAgICAgIHRlbXA2X2lucHV0 OjAKPgpRdWVzdGlvbiBpcyBpZiB0aGUgdmFsdWVzIGFib3ZlIGFyZSBjb25zaXN0ZW50IGZvciB5 b3Ugd2hlbiB5b3UgcmVsb2FkCnRoZSBkcml2ZXIgKHdpdGhvdXQgdXBkYXRpbmcgdGhlIHB3bSB2 YWx1ZXMsIHdoaWNoIEkgdGhpbmsgeW91IGRpZCBhYm92ZSkuCkkgYW0gaGF2aW5nIHRyb3VibGUg d2l0aCBib3RoIHRoZSByZWFsIHRhcmdldCBhbmQgd2l0aCBteSBtb2R1bGUgdGVzdCBjb2RlLgpJ dCBmYWlscyBmb3IgbWUgd2l0aCBhbGwga2VybmVsIHZlcnNpb25zIGZyb20gMy4xNiB0byA0LjEg aWYgdGhlIHJlZ21hcApjYWNoZSB0eXBlIGlzIHNldCB0byBSRUdDQUNIRV9SQlRSRUUuIEkgYW0g Y3VycmVudGx5IHRyeWluZyB0byB0cmFjayB0aGlzIGRvd24uCgo+IC0tLQo+ICAgRG9jdW1lbnRh dGlvbi9od21vbi9uY3Q3ODAyIHwgICA1ICstCj4gICBkcml2ZXJzL2h3bW9uL25jdDc4MDIuYyAg ICAgfCAxMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAg IDIgZmlsZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4KPiBk aWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9od21vbi9uY3Q3ODAyIGIvRG9jdW1lbnRhdGlvbi9o d21vbi9uY3Q3ODAyCj4gaW5kZXggMmUwMGY1ZS4uYzVjMjVhNSAxMDA2NDQKPiAtLS0gYS9Eb2N1 bWVudGF0aW9uL2h3bW9uL25jdDc4MDIKPiArKysgYi9Eb2N1bWVudGF0aW9uL2h3bW9uL25jdDc4 MDIKPiBAQCAtNSw3ICs1LDcgQEAgU3VwcG9ydGVkIGNoaXBzOgo+ICAgICAqIE51dm90b24gTkNU NzgwMlkKPiAgICAgICBQcmVmaXg6ICduY3Q3ODAyJwo+ICAgICAgIEFkZHJlc3NlcyBzY2FubmVk OiBJMkMgMHgyOC4uMHgyZgo+IC0gICAgRGF0YXNoZWV0OiBBdmFpbGFibGUgZnJvbSBOdXZvdG9u IHdlYiBzaXRlCj4gKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cubnV2b3Rvbi5jb20vaHEvcHJv ZHVjdHMvY2xvdWQtY29tcHV0aW5nL2hhcmR3YXJlLW1vbml0b3JzL2Rlc2t0b3Atc2VydmVyLXNl cmllcy9uY3Q3ODAyeS8KPgpSZWFzb24gZm9yIG5vdCBsaXN0aW5nIHRoZSBleGFjdCBkYXRhc2hl ZXQgbGluayBpcyB0aGF0IGl0IGtlZXBzIGNoYW5naW5nLgpQbGVhc2UgZHJvcCB0aGlzIGNoYW5n ZS4KCj4gICBBdXRob3JzOgo+ICAgICAgICAgICBHdWVudGVyIFJvZWNrIDxsaW51eEByb2Vjay11 cy5uZXQ+Cj4gQEAgLTE3LDggKzE3LDcgQEAgVGhpcyBkcml2ZXIgaW1wbGVtZW50cyBzdXBwb3J0 IGZvciB0aGUgTnV2b3RvbiBOQ1Q3ODAyWSBoYXJkd2FyZSBtb25pdG9yaW5nCj4gICBjaGlwLiBO Q1Q3ODAyWSBzdXBwb3J0cyA2IHRlbXBlcmF0dXJlIHNlbnNvcnMsIDUgdm9sdGFnZSBzZW5zb3Jz LCBhbmQgMyBmYW4KPiAgIHNwZWVkIHNlbnNvcnMuCj4KPiAtVGhlIGNoaXAgYWxzbyBzdXBwb3J0 cyBpbnRlbGxpZ2VudCBmYW4gc3BlZWQgY29udHJvbC4gVGhpcyBmdW5jdGlvbmFsaXR5IGlzCj4g LW5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIuCj4gK1NtYXJ0IEZhbuKEoiBz cGVlZCBjb250cm9sIGlzIGF2aWxhYmVsIHZpYSBwd21YX2F1dG9fdGVtcCBhdHRyaWJ1dGVzLgoK cy9hdmlsYWJlbC9hdmFpbGFibGUvCgpObyBuZWVkIHRvIHJlc3VibWl0IGF0IHRoaXMgdGltZS4g VGhlIHJlc3Qgb2YgdGhlIHBhdGNoIGxvb2tzIGdvb2QsIGJ1dApJIHdhbnQgdG8gdHJhY2sgZG93 biB0aGUgcmVnbWFwIHByb2JsZW0gYmVmb3JlIGFjY2VwdGluZyBpdC4gSWYgaXQgaXMgYQpyZWdt YXAgcHJvYmxlbSwga2luZCBvZiBvZGQgdGhhdCBvdGhlcnMgZG9uJ3Qgc2VlIGl0LCBzbyBJIGFt IG5vdCBzdXJlCmlmIHRoYXQgaXMgdGhlIGNhc2UuIElmIGl0IGlzIGEgZHJpdmVyIHByb2JsZW0s IHdlJ2xsIG5lZWQgdG8gZml4IGl0CmJlZm9yZSBhcHBseWluZyB0aGUgcGF0Y2guIEknbGwgbGV0 IHlvdSBrbm93IHdoYXQgSSBmaW5kLgoKVGhhbmtzLApHdWVudGVyCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbG0tc2Vuc29ycyBtYWlsaW5nIGxpc3QK bG0tc2Vuc29yc0BsbS1zZW5zb3JzLm9yZwpodHRwOi8vbGlzdHMubG0tc2Vuc29ycy5vcmcvbWFp bG1hbi9saXN0aW5mby9sbS1zZW5zb3Jz ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [lm-sensors] [PATCH v4] hwmon: (nct7802) Add autopoint attributes 2015-07-25 21:45 ` Constantine Shulyupin (?) (?) @ 2015-07-27 4:05 ` Guenter Roeck -1 siblings, 0 replies; 4+ messages in thread From: Guenter Roeck @ 2015-07-27 4:05 UTC (permalink / raw) To: lm-sensors Hi Constantine, On 07/26/2015 04:40 AM, Guenter Roeck wrote: > Question is if the values above are consistent for you when you reload > the driver (without updating the pwm values, which I think you did above). > I am having trouble with both the real target and with my module test code. > It fails for me with all kernel versions from 3.16 to 4.1 if the regmap > cache type is set to REGCACHE_RBTREE. I am currently trying to track this down. > Confirmed to be a regmap problem with REGCACHE_RBTREE. If a block of registers is enlarged, the cache bitmap memory size is increased with krealloc(). Unfortunately, krealloc() does not zero out the additional memory, which means the bitmap indicating which registers are cached includes random values. I'll submit a patch for that after some more testing. Please resubmit your patch with the changes I asked for. 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] 4+ messages in thread
end of thread, other threads:[~2015-07-27 4:05 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-07-25 21:45 [lm-sensors] [PATCH v4] hwmon: (nct7802) Add autopoint attributes Constantine Shulyupin 2015-07-25 21:45 ` Constantine Shulyupin 2015-07-26 11:40 ` [lm-sensors] " Guenter Roeck 2015-07-27 4:05 ` Guenter Roeck
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.