From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Date: Sat, 28 Mar 2015 14:23:15 +0000 Subject: Re: [lm-sensors] [PATCH 2/2] hwmon: Allow to compile dell-smm-hwmon driver without /proc/i8k Message-Id: <5516B953.2050203@roeck-us.net> List-Id: References: <1427538255-10860-1-git-send-email-pali.rohar@gmail.com> <1427538255-10860-3-git-send-email-pali.rohar@gmail.com> In-Reply-To: <1427538255-10860-3-git-send-email-pali.rohar@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: =?UTF-8?B?UGFsaSBSb2jDoXI=?= , Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare Cc: Steven Honeyman , Valdis.Kletnieks@vt.edu, Jochen Eisinger , Gabriele Mazzotta , linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org T24gMDMvMjgvMjAxNSAwMzoyNCBBTSwgUGFsaSBSb2jDoXIgd3JvdGU6Cj4gVGhpcyBwYXRjaCBz cGxpdHMgQ09ORklHX0k4SyBjb21waWxlIG9wdGlvbiB0byBTRU5TT1JTX0RFTExfU01NIGFuZCBD T05GSUdfSThLLgo+IE9wdGlvbiBTRU5TT1JTX0RFTExfU01NIGlzIG5vdyB1c2VkIHRvIGVuYWJs ZSBjb21waWxhdGlvbiBvZiBkZWxsLXNtbS1od21vbgo+IGRyaXZlciBhbmQgb2xkIENPTkZJR19J OEsgb3B0aW9uIHRvIGVuYWJsZSAvcHJvYy9pOGsgaW50ZXJmYWNlIGluIGRyaXZlci4KPgo+IFNv IHRoaXMgY2hhbmdlIGFsbG93cyB0byBjb21waWxlIGRlbGwtc21tLWh3bW9uIGRyaXZlciB3aXRo b3V0IGxlZ2FjeSAvcHJvYy9pOGsKPiBpbnRlcmZhY2Ugd2hpY2ggaXMgbmVlZGVkIG9ubHkgZm9y IG9sZCBEZWxsIEluc3BpcmlvbiBtb2RlbHMgb3IgZm9yIHVzZXJzcGFjZQo+IGk4a3V0aWxzIHBh Y2thZ2UuCj4KPiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aGVuIENPTkZJR19JOEsgaXMg ZW5hYmxlZCB0aGVuIGFsc28gU0VOU09SU19ERUxMX1NNTQo+IGlzIGVuYWJsZWQgYW5kIHNvIGRy aXZlciBkZWxsLXNtbS1od21vbiAod2l0aCAvcHJvYy9pOGspIGlzIGNvbXBpbGVkLgo+Cj4gU2ln bmVkLW9mZi1ieTogUGFsaSBSb2jDoXIgPHBhbGkucm9oYXJAZ21haWwuY29tPgo+IC0tLQo+ICAg YXJjaC94ODYvS2NvbmZpZyAgICAgICAgICAgICAgIHwgICAyNSArKysrKysrKystLS0tLS0tLS0t LS0tLS0tCj4gICBkcml2ZXJzL2h3bW9uL0tjb25maWcgICAgICAgICAgfCAgIDExICsrKysrKysr KysrCj4gICBkcml2ZXJzL2h3bW9uL01ha2VmaWxlICAgICAgICAgfCAgICAyICstCj4gICBkcml2 ZXJzL2h3bW9uL2RlbGwtc21tLWh3bW9uLmMgfCAgIDIwICsrKysrKysrKysrKysrKystLS0tCj4g ICA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+Cj4g ZGlmZiAtLWdpdCBhL2FyY2gveDg2L0tjb25maWcgYi9hcmNoL3g4Ni9LY29uZmlnCj4gaW5kZXgg YjdkMzFjYS4uOGQwMjY2YiAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni9LY29uZmlnCj4gKysrIGIv YXJjaC94ODYvS2NvbmZpZwo+IEBAIC0xMDYzLDI0ICsxMDYzLDE3IEBAIGNvbmZpZyBUT1NISUJB Cj4gICAJICBTYXkgTiBvdGhlcndpc2UuCj4KPiAgIGNvbmZpZyBJOEsKPiAtCXRyaXN0YXRlICJE ZWxsIGxhcHRvcCBzdXBwb3J0Igo+IC0Jc2VsZWN0IEhXTU9OCj4gKwlib29sICJEZWxsIGk4ayBs ZWdhY3kgbGFwdG9wIHN1cHBvcnQiCgp0cmlzdGF0ZSBhbmQgc3RpbGwgInNlbGVjdCBIV01PTiIu Cgo+ICsJc2VsZWN0IFNFTlNPUlNfREVMTF9TTU0KPiAgIAktLS1oZWxwLS0tCj4gLQkgIFRoaXMg YWRkcyBhIGRyaXZlciB0byBzYWZlbHkgYWNjZXNzIHRoZSBTeXN0ZW0gTWFuYWdlbWVudCBNb2Rl Cj4gLQkgIG9mIHRoZSBDUFUgb24gdGhlIERlbGwgSW5zcGlyb24gODAwMC4gVGhlIFN5c3RlbSBN YW5hZ2VtZW50IE1vZGUKPiAtCSAgaXMgdXNlZCB0byByZWFkIGNwdSB0ZW1wZXJhdHVyZSBhbmQg Y29vbGluZyBmYW4gc3RhdHVzIGFuZCB0bwo+IC0JICBjb250cm9sIHRoZSBmYW5zIG9uIHRoZSBJ OEsgcG9ydGFibGVzLgo+ICsJICBUaGlzIG9wdGlvbnMgZW5hYmxlcyBsZWdhY3kgL3Byb2MvaThr IHVzZXJzcGFjZSBpbnRlcmZhY2UgaW4KPiArCSAgZGVsbC1zbW0taHdtb24gZHJpdmVyLiBDaGFy YWN0ZXIgZmlsZSAvcHJvYy9pOGsgcmVwb3J0cyBwb3dlciBhbmQKPiArCSAgaG90a2V5IHN0YXR1 cyBvbiBvbGQgRGVsbCBsYXB0b3BzIChsaWtlIERlbGwgSW5zcGlyb24gODAwMCkgdmlhCj4gKwkg IFN5c3RlbSBNYW5hZ2VtZW50IE1vZGUgcHJvdmlkZWQgYnkgRGVsbCBCSU9TLiBUaGlzIC9wcm9j L2k4ayBpbnRlcmZhY2UKPiArCSAgaXMgYWxzbyB1c2VkIGJ5IHVzZXJzcGFjZSBwYWNrYWdlIGk4 a3V0aWxzIHRvIGNvbnRyb2wgbGFwdG9wIGZhbnMuCj4KPiAtCSAgVGhpcyBkcml2ZXIgaGFzIGJl ZW4gdGVzdGVkIG9ubHkgb24gdGhlIEluc3Bpcm9uIDgwMDAgYnV0IGl0IG1heQo+IC0JICBhbHNv IHdvcmsgd2l0aCBvdGhlciBEZWxsIGxhcHRvcHMuIFlvdSBjYW4gZm9yY2UgbG9hZGluZyBvbiBv dGhlcgo+IC0JICBtb2RlbHMgYnkgcGFzc2luZyB0aGUgcGFyYW1ldGVyIGBmb3JjZT0xJyB0byB0 aGUgbW9kdWxlLiBVc2UgYXQKPiAtCSAgeW91ciBvd24gcmlzay4KPiAtCj4gLQkgIEZvciBpbmZv cm1hdGlvbiBvbiB1dGlsaXRpZXMgdG8gbWFrZSB1c2Ugb2YgdGhpcyBkcml2ZXIgc2VlIHRoZQo+ IC0JICBJOEsgTGludXggdXRpbGl0aWVzIHdlYiBzaXRlIGF0Ogo+IC0JICA8aHR0cDovL3Blb3Bs ZS5kZWJpYW4ub3JnL35kei9pOGsvPgo+IC0KPiAtCSAgU2F5IFkgaWYgeW91IGludGVuZCB0byBy dW4gdGhpcyBrZXJuZWwgb24gYSBEZWxsIEluc3Bpcm9uIDgwMDAuCj4gKwkgIFNheSBZIGlmIHlv dSBpbnRlbmQgdG8gcnVuIHRoaXMga2VybmVsIG9uIG9sZCBEZWxsIGxhcHRvcHMgb3Igd2FudCB0 bwo+ICsJICB1c2UgdXNlcnNwYWNlIHBhY2thZ2UgaThrdXRpbHMuCj4gICAJICBTYXkgTiBvdGhl cndpc2UuCj4KPiAgIGNvbmZpZyBYODZfUkVCT09URklYVVBTCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvaHdtb24vS2NvbmZpZyBiL2RyaXZlcnMvaHdtb24vS2NvbmZpZwo+IGluZGV4IDExMGZhZGUu Ljg2ZWViN2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9od21vbi9LY29uZmlnCj4gKysrIGIvZHJp dmVycy9od21vbi9LY29uZmlnCj4gQEAgLTE3MDMsNiArMTcwMywxNyBAQCBjb25maWcgU0VOU09S U19VTFRSQTQ1Cj4gICAJICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgVWx0 cmE0NSB3b3Jrc3RhdGlvbiBlbnZpcm9ubWVudGFsCj4gICAJICBzZW5zb3JzLgo+Cj4gK2NvbmZp ZyBTRU5TT1JTX0RFTExfU01NCj4gKwl0cmlzdGF0ZSAiRGVsbCBsYXB0b3AgU01NIEJJT1MgaHdt b24gZHJpdmVyIgo+ICsJZGVwZW5kcyBPTiBYODYKCldvbmRlcmluZyBhcyB3ZWxsIC4uIC5kaWQg eW91IHRlc3QgdGhpcyA/Cgo+ICsJLS0taGVscC0tLQo+ICsJICBUaGlzIGh3bW9uIGRyaXZlciBh ZGRzIHN1cHBvcnQgZm9yIHJlcG9ydGluZyB0ZW1wZXJhdHVyZSBvZiBkaWZmZXJlbnQKPiArCSAg c2Vuc29ycyBhbmQgY29udHJvbHMgdGhlIGZhbnMgb24gRGVsbCBsYXB0b3BzIHZpYSBTeXN0ZW0g TWFuYWdlbWVudAo+ICsJICBNb2RlIHByb3ZpZGVkIGJ5IERlbGwgQklPUy4KPiArCj4gKwkgIFdo ZW4gb3B0aW9uIEk4SyBpcyBhbHNvIGVuYWJsZWQgdGhpcyBkcml2ZXIgcHJvdmlkZXMgbGVnYWN5 IC9wcm9jL2k4awo+ICsJICB1c2Vyc3BhY2UgaW50ZXJmYWNlIGZvciBpOGt1dGlscyBwYWNrYWdl Lgo+ICsKUGxlYXNlIGFkZCB0aGlzIGluIGFscGhhYmV0aWMgb3JkZXIuCgo+ICAgaWYgQUNQSQo+ Cj4gICBjb21tZW50ICJBQ1BJIGRyaXZlcnMiCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24v TWFrZWZpbGUgYi9kcml2ZXJzL2h3bW9uL01ha2VmaWxlCj4gaW5kZXggMWMzZTQ1OC4uOWVlYzYx NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3bW9uL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9o d21vbi9NYWtlZmlsZQo+IEBAIC0xNTUsNyArMTU1LDcgQEAgb2JqLSQoQ09ORklHX1NFTlNPUlNf VzgzTDc4NVRTKQkrPSB3ODNsNzg1dHMubwo+ICAgb2JqLSQoQ09ORklHX1NFTlNPUlNfVzgzTDc4 Nk5HKQkrPSB3ODNsNzg2bmcubwo+ICAgb2JqLSQoQ09ORklHX1NFTlNPUlNfV004MzFYKQkrPSB3 bTgzMXgtaHdtb24ubwo+ICAgb2JqLSQoQ09ORklHX1NFTlNPUlNfV004MzUwKQkrPSB3bTgzNTAt aHdtb24ubwo+IC1vYmotJChDT05GSUdfSThLKQkJKz0gZGVsbC1zbW0taHdtb24ubwo+ICtvYmot JChDT05GSUdfU0VOU09SU19ERUxMX1NNTSkJKz0gZGVsbC1zbW0taHdtb24ubwoKU2FtZSBoZXJl LgoKPgo+ICAgb2JqLSQoQ09ORklHX1BNQlVTKQkJKz0gcG1idXMvCj4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9od21vbi9kZWxsLXNtbS1od21vbi5jIGIvZHJpdmVycy9od21vbi9kZWxsLXNtbS1o d21vbi5jCj4gaW5kZXggMmIwNGU0Zi4uZTk2NjFkYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3 bW9uL2RlbGwtc21tLWh3bW9uLmMKPiArKysgYi9kcml2ZXJzL2h3bW9uL2RlbGwtc21tLWh3bW9u LmMKPiBAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgdWludCBpOGtfZmFuX21heCA9IEk4S19GQU5f SElHSDsKPgo+ICAgTU9EVUxFX0FVVEhPUigiTWFzc2ltbyBEYWwgWm90dG8gKGR6QGRlYmlhbi5v cmcpIik7Cj4gICBNT0RVTEVfQVVUSE9SKCJQYWxpIFJvaMOhciA8cGFsaS5yb2hhckBnbWFpbC5j b20+Iik7Cj4gLU1PRFVMRV9ERVNDUklQVElPTigiRHJpdmVyIGZvciBhY2Nlc3NpbmcgU01NIEJJ T1Mgb24gRGVsbCBsYXB0b3BzIik7Cj4gK01PRFVMRV9ERVNDUklQVElPTigiRGVsbCBsYXB0b3Ag U01NIEJJT1MgaHdtb24gZHJpdmVyIik7Cj4gICBNT0RVTEVfTElDRU5TRSgiR1BMIik7Cj4gICBN T0RVTEVfQUxJQVMoImk4ayIpOwo+Cj4gQEAgLTkzLDYgKzkzLDcgQEAgc3RhdGljIGJvb2wgaWdu b3JlX2RtaTsKPiAgIG1vZHVsZV9wYXJhbShpZ25vcmVfZG1pLCBib29sLCAwKTsKPiAgIE1PRFVM RV9QQVJNX0RFU0MoaWdub3JlX2RtaSwgIkNvbnRpbnVlIHByb2JpbmcgaGFyZHdhcmUgZXZlbiBp ZiBETUkgZGF0YSBkb2VzIG5vdCBtYXRjaCIpOwo+Cj4gKyNpZmRlZiBDT05GSUdfSThLCj4gICBz dGF0aWMgYm9vbCByZXN0cmljdGVkOwo+ICAgbW9kdWxlX3BhcmFtKHJlc3RyaWN0ZWQsIGJvb2ws IDApOwo+ICAgTU9EVUxFX1BBUk1fREVTQyhyZXN0cmljdGVkLCAiQWxsb3cgZmFuIGNvbnRyb2wg aWYgU1lTX0FETUlOIGNhcGFiaWxpdHkgc2V0Iik7Cj4gQEAgLTEwMCw2ICsxMDEsNyBAQCBNT0RV TEVfUEFSTV9ERVNDKHJlc3RyaWN0ZWQsICJBbGxvdyBmYW4gY29udHJvbCBpZiBTWVNfQURNSU4g Y2FwYWJpbGl0eSBzZXQiKTsKPiAgIHN0YXRpYyBib29sIHBvd2VyX3N0YXR1czsKPiAgIG1vZHVs ZV9wYXJhbShwb3dlcl9zdGF0dXMsIGJvb2wsIDA2MDApOwo+ICAgTU9EVUxFX1BBUk1fREVTQyhw b3dlcl9zdGF0dXMsICJSZXBvcnQgcG93ZXIgc3RhdHVzIGluIC9wcm9jL2k4ayIpOwo+ICsjZW5k aWYKPgo+ICAgc3RhdGljIHVpbnQgZmFuX211bHQ7Cj4gICBtb2R1bGVfcGFyYW0oZmFuX211bHQs IHVpbnQsIDApOwo+IEBAIC0xMDksNiArMTExLDcgQEAgc3RhdGljIHVpbnQgZmFuX21heDsKPiAg IG1vZHVsZV9wYXJhbShmYW5fbWF4LCB1aW50LCAwKTsKPiAgIE1PRFVMRV9QQVJNX0RFU0MoZmFu X21heCwgIk1heGltdW0gY29uZmlndXJhYmxlIGZhbiBzcGVlZCAoZGVmYXVsdDogYXV0b2RldGVj dCkiKTsKPgo+ICsjaWZkZWYgQ09ORklHX0k4Swo+ICAgc3RhdGljIGludCBpOGtfb3Blbl9mcyhz dHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSk7Cj4gICBzdGF0aWMgbG9uZyBp OGtfaW9jdGwoc3RydWN0IGZpbGUgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKPgo+ IEBAIC0xMjAsNiArMTIzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMg aThrX2ZvcHMgPSB7Cj4gICAJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKPiAgIAkudW5sb2Nr ZWRfaW9jdGwJPSBpOGtfaW9jdGwsCj4gICB9Owo+ICsjZW5kaWYKPgo+ICAgc3RydWN0IHNtbV9y ZWdzIHsKPiAgIAl1bnNpZ25lZCBpbnQgZWF4Owo+IEBAIC0yMjAsNiArMjI0LDcgQEAgb3V0Ogo+ ICAgCXJldHVybiByYzsKPiAgIH0KPgo+ICsjaWZkZWYgQ09ORklHX0k4Swo+ICAgLyoKPiAgICAq IFJlYWQgdGhlIEZuIGtleSBzdGF0dXMuCj4gICAgKi8KPiBAQCAtMjU4LDYgKzI2Myw3IEBAIHN0 YXRpYyBpbnQgaThrX2dldF9wb3dlcl9zdGF0dXModm9pZCkKPgo+ICAgCXJldHVybiAocmVncy5l YXggJiAweGZmKSA9PSBJOEtfUE9XRVJfQUMgPyBJOEtfQUMgOiBJOEtfQkFUVEVSWTsKPiAgIH0K PiArI2VuZGlmCj4KPiAgIC8qCj4gICAgKiBSZWFkIHRoZSBmYW4gc3RhdHVzLgo+IEBAIC0zNzgs NiArMzg0LDcgQEAgc3RhdGljIGludCBpOGtfZ2V0X2RlbGxfc2lnbmF0dXJlKGludCByZXFfZm4p Cj4gICAJcmV0dXJuIHJlZ3MuZWF4ID09IDExNDU2NTE1MjcgJiYgcmVncy5lZHggPT0gMTE0NTM5 MjIwNCA/IDAgOiAtMTsKPiAgIH0KPgo+ICsjaWZkZWYgQ09ORklHX0k4Swo+ICAgc3RhdGljIGlu dAo+ICAgaThrX2lvY3RsX3VubG9ja2VkKHN0cnVjdCBmaWxlICpmcCwgdW5zaWduZWQgaW50IGNt ZCwgdW5zaWduZWQgbG9uZyBhcmcpCj4gICB7Cj4gQEAgLTUyNSw2ICs1MzIsNyBAQCBzdGF0aWMg aW50IGk4a19vcGVuX2ZzKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQo+ ICAgewo+ICAgCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBpOGtfcHJvY19zaG93LCBOVUxMKTsK PiAgIH0KPiArI2VuZGlmCj4KPgo+ICAgLyoKPiBAQCAtOTc0LDE3ICs5ODIsMTcgQEAgc3RhdGlj IGludCBfX2luaXQgaThrX3Byb2JlKHZvaWQpCj4KPiAgIHN0YXRpYyBpbnQgX19pbml0IGk4a19p bml0KHZvaWQpCj4gICB7Cj4gLQlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnByb2NfaThrOwo+ICAg CWludCBlcnI7Cj4KPiAgIAkvKiBBcmUgd2UgcnVubmluZyBvbiBhbiBzdXBwb3J0ZWQgbGFwdG9w PyAqLwo+ICAgCWlmIChpOGtfcHJvYmUoKSkKPiAgIAkJcmV0dXJuIC1FTk9ERVY7Cj4KPiArI2lm ZGVmIENPTkZJR19JOEsKPiAgIAkvKiBSZWdpc3RlciB0aGUgcHJvYyBlbnRyeSAqLwo+IC0JcHJv Y19pOGsgPSBwcm9jX2NyZWF0ZSgiaThrIiwgMCwgTlVMTCwgJmk4a19mb3BzKTsKPiAtCWlmICgh cHJvY19pOGspCj4gKwlpZiAoIXByb2NfY3JlYXRlKCJpOGsiLCAwLCBOVUxMLCAmaThrX2ZvcHMp KQo+ICAgCQlyZXR1cm4gLUVOT0VOVDsKCkkgd291bGQgcHJlZmVyIG5vdCB0byBmYWlsIGhlcmUg YnV0IHJlcG9ydCBhIHdhcm5pbmcuClRoaXMgaXMgbm8gbG9uZ2VyIGEgZmF0YWwgY29uZGl0aW9u LgoKPiArI2VuZGlmCj4KPiAgIAllcnIgPSBpOGtfaW5pdF9od21vbigpOwo+ICAgCWlmIChlcnIp Cj4gQEAgLTk5MywxNCArMTAwMSwxOCBAQCBzdGF0aWMgaW50IF9faW5pdCBpOGtfaW5pdCh2b2lk KQo+ICAgCXJldHVybiAwOwo+Cj4gICAgZXhpdF9yZW1vdmVfcHJvYzoKPiArI2lmZGVmIENPTkZJ R19JOEsKPiAgIAlyZW1vdmVfcHJvY19lbnRyeSgiaThrIiwgTlVMTCk7Cj4gKyNlbmRpZgo+ICAg CXJldHVybiBlcnI7Cj4gICB9Cj4KPiAgIHN0YXRpYyB2b2lkIF9fZXhpdCBpOGtfZXhpdCh2b2lk KQo+ICAgewo+ICAgCWh3bW9uX2RldmljZV91bnJlZ2lzdGVyKGk4a19od21vbl9kZXYpOwo+ICsj aWZkZWYgQ09ORklHX0k4Swo+ICAgCXJlbW92ZV9wcm9jX2VudHJ5KCJpOGsiLCBOVUxMKTsKPiAr I2VuZGlmCj4gICB9Cj4KPiAgIG1vZHVsZV9pbml0KGk4a19pbml0KTsKPgoKQ2FuIHlvdSBtb3Zl IGFsbCB0aGUgY29uZGl0aW9uYWwgZnVuY3Rpb25zIGFuZCBnbG9iYWwgdmFyaWFibGVzIHRvZ2V0 aGVyCnVuZGVyIGEgc2luZ2xlICNpZmRlZiA/IFRoYXQgc2hvdWxkIGluY2x1ZGUgZnVuY3Rpb25z IHRvIGNyZWF0ZSB0aGUgcHJvYwplbnRyaWVzLCBhbmQgc2hpbSBmdW5jdGlvbnMgZm9yIHRoZSBz YW1lIGlmIEk4SyBpcyBub3QgY29uZmlndXJlZC4KCkFsc28sIHRoZSAjaWZkZWYgd291bGQgbm90 IGNvdmVyIHRoZSBjYXNlIHdoZXJlIEk4SyBpcyBjb25maWd1cmVkIGFzIG1vZHVsZQoodGhlcmUg aXMgbm8gcmVhc29uIHRvIGZvcmNlIGl0IHRvIGJvb2wpLiBZb3Ugc2hvdWxkIHVzZSAiI2lmIElT X0VOQUJMRUQoQ09ORklHX0k4SykiCmluc3RlYWQuCgpUaGFua3MsCkd1ZW50ZXIKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsbS1zZW5zb3JzIG1haWxp bmcgbGlzdApsbS1zZW5zb3JzQGxtLXNlbnNvcnMub3JnCmh0dHA6Ly9saXN0cy5sbS1zZW5zb3Jz Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xtLXNlbnNvcnM From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753099AbbC1OY2 (ORCPT ); Sat, 28 Mar 2015 10:24:28 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:52540 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750855AbbC1OY0 (ORCPT ); Sat, 28 Mar 2015 10:24:26 -0400 Message-ID: <5516B953.2050203@roeck-us.net> Date: Sat, 28 Mar 2015 07:23:15 -0700 From: Guenter Roeck User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: =?UTF-8?B?UGFsaSBSb2jDoXI=?= , Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare CC: Steven Honeyman , Valdis.Kletnieks@vt.edu, Jochen Eisinger , Gabriele Mazzotta , linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org Subject: Re: [PATCH 2/2] hwmon: Allow to compile dell-smm-hwmon driver without /proc/i8k References: <1427538255-10860-1-git-send-email-pali.rohar@gmail.com> <1427538255-10860-3-git-send-email-pali.rohar@gmail.com> In-Reply-To: <1427538255-10860-3-git-send-email-pali.rohar@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Authenticated_sender: linux@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-CTCH-PVer: 0000001 X-CTCH-Spam: Unknown X-CTCH-VOD: Unknown X-CTCH-Flags: 0 X-CTCH-RefID: str=0001.0A020204.5516B999.0106,ss=1,re=0.001,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 X-CTCH-Score: 0.001 X-CTCH-ScoreCust: 0.000 X-CTCH-Rules: C_4847, X-CTCH-SenderID: linux@roeck-us.net X-CTCH-SenderID-Flags: 0 X-CTCH-SenderID-TotalMessages: 2 X-CTCH-SenderID-TotalSpam: 0 X-CTCH-SenderID-TotalSuspected: 0 X-CTCH-SenderID-TotalConfirmed: 0 X-CTCH-SenderID-TotalBulk: 0 X-CTCH-SenderID-TotalVirus: 0 X-CTCH-SenderID-TotalRecipients: 0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: mailgid no entry from get_relayhosts_entry X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/28/2015 03:24 AM, Pali Rohár wrote: > This patch splits CONFIG_I8K compile option to SENSORS_DELL_SMM and CONFIG_I8K. > Option SENSORS_DELL_SMM is now used to enable compilation of dell-smm-hwmon > driver and old CONFIG_I8K option to enable /proc/i8k interface in driver. > > So this change allows to compile dell-smm-hwmon driver without legacy /proc/i8k > interface which is needed only for old Dell Inspirion models or for userspace > i8kutils package. > > For backward compatibility when CONFIG_I8K is enabled then also SENSORS_DELL_SMM > is enabled and so driver dell-smm-hwmon (with /proc/i8k) is compiled. > > Signed-off-by: Pali Rohár > --- > arch/x86/Kconfig | 25 +++++++++---------------- > drivers/hwmon/Kconfig | 11 +++++++++++ > drivers/hwmon/Makefile | 2 +- > drivers/hwmon/dell-smm-hwmon.c | 20 ++++++++++++++++---- > 4 files changed, 37 insertions(+), 21 deletions(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index b7d31ca..8d0266b 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -1063,24 +1063,17 @@ config TOSHIBA > Say N otherwise. > > config I8K > - tristate "Dell laptop support" > - select HWMON > + bool "Dell i8k legacy laptop support" tristate and still "select HWMON". > + select SENSORS_DELL_SMM > ---help--- > - This adds a driver to safely access the System Management Mode > - of the CPU on the Dell Inspiron 8000. The System Management Mode > - is used to read cpu temperature and cooling fan status and to > - control the fans on the I8K portables. > + This options enables legacy /proc/i8k userspace interface in > + dell-smm-hwmon driver. Character file /proc/i8k reports power and > + hotkey status on old Dell laptops (like Dell Inspiron 8000) via > + System Management Mode provided by Dell BIOS. This /proc/i8k interface > + is also used by userspace package i8kutils to control laptop fans. > > - This driver has been tested only on the Inspiron 8000 but it may > - also work with other Dell laptops. You can force loading on other > - models by passing the parameter `force=1' to the module. Use at > - your own risk. > - > - For information on utilities to make use of this driver see the > - I8K Linux utilities web site at: > - > - > - Say Y if you intend to run this kernel on a Dell Inspiron 8000. > + Say Y if you intend to run this kernel on old Dell laptops or want to > + use userspace package i8kutils. > Say N otherwise. > > config X86_REBOOTFIXUPS > diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig > index 110fade..86eeb7d 100644 > --- a/drivers/hwmon/Kconfig > +++ b/drivers/hwmon/Kconfig > @@ -1703,6 +1703,17 @@ config SENSORS_ULTRA45 > This driver provides support for the Ultra45 workstation environmental > sensors. > > +config SENSORS_DELL_SMM > + tristate "Dell laptop SMM BIOS hwmon driver" > + depends ON X86 Wondering as well .. .did you test this ? > + ---help--- > + This hwmon driver adds support for reporting temperature of different > + sensors and controls the fans on Dell laptops via System Management > + Mode provided by Dell BIOS. > + > + When option I8K is also enabled this driver provides legacy /proc/i8k > + userspace interface for i8kutils package. > + Please add this in alphabetic order. > if ACPI > > comment "ACPI drivers" > diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile > index 1c3e458..9eec614 100644 > --- a/drivers/hwmon/Makefile > +++ b/drivers/hwmon/Makefile > @@ -155,7 +155,7 @@ obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o > obj-$(CONFIG_SENSORS_W83L786NG) += w83l786ng.o > obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o > obj-$(CONFIG_SENSORS_WM8350) += wm8350-hwmon.o > -obj-$(CONFIG_I8K) += dell-smm-hwmon.o > +obj-$(CONFIG_SENSORS_DELL_SMM) += dell-smm-hwmon.o Same here. > > obj-$(CONFIG_PMBUS) += pmbus/ > > diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c > index 2b04e4f..e9661dc 100644 > --- a/drivers/hwmon/dell-smm-hwmon.c > +++ b/drivers/hwmon/dell-smm-hwmon.c > @@ -81,7 +81,7 @@ static uint i8k_fan_max = I8K_FAN_HIGH; > > MODULE_AUTHOR("Massimo Dal Zotto (dz@debian.org)"); > MODULE_AUTHOR("Pali Rohár "); > -MODULE_DESCRIPTION("Driver for accessing SMM BIOS on Dell laptops"); > +MODULE_DESCRIPTION("Dell laptop SMM BIOS hwmon driver"); > MODULE_LICENSE("GPL"); > MODULE_ALIAS("i8k"); > > @@ -93,6 +93,7 @@ static bool ignore_dmi; > module_param(ignore_dmi, bool, 0); > MODULE_PARM_DESC(ignore_dmi, "Continue probing hardware even if DMI data does not match"); > > +#ifdef CONFIG_I8K > static bool restricted; > module_param(restricted, bool, 0); > MODULE_PARM_DESC(restricted, "Allow fan control if SYS_ADMIN capability set"); > @@ -100,6 +101,7 @@ MODULE_PARM_DESC(restricted, "Allow fan control if SYS_ADMIN capability set"); > static bool power_status; > module_param(power_status, bool, 0600); > MODULE_PARM_DESC(power_status, "Report power status in /proc/i8k"); > +#endif > > static uint fan_mult; > module_param(fan_mult, uint, 0); > @@ -109,6 +111,7 @@ static uint fan_max; > module_param(fan_max, uint, 0); > MODULE_PARM_DESC(fan_max, "Maximum configurable fan speed (default: autodetect)"); > > +#ifdef CONFIG_I8K > static int i8k_open_fs(struct inode *inode, struct file *file); > static long i8k_ioctl(struct file *, unsigned int, unsigned long); > > @@ -120,6 +123,7 @@ static const struct file_operations i8k_fops = { > .release = single_release, > .unlocked_ioctl = i8k_ioctl, > }; > +#endif > > struct smm_regs { > unsigned int eax; > @@ -220,6 +224,7 @@ out: > return rc; > } > > +#ifdef CONFIG_I8K > /* > * Read the Fn key status. > */ > @@ -258,6 +263,7 @@ static int i8k_get_power_status(void) > > return (regs.eax & 0xff) == I8K_POWER_AC ? I8K_AC : I8K_BATTERY; > } > +#endif > > /* > * Read the fan status. > @@ -378,6 +384,7 @@ static int i8k_get_dell_signature(int req_fn) > return regs.eax == 1145651527 && regs.edx == 1145392204 ? 0 : -1; > } > > +#ifdef CONFIG_I8K > static int > i8k_ioctl_unlocked(struct file *fp, unsigned int cmd, unsigned long arg) > { > @@ -525,6 +532,7 @@ static int i8k_open_fs(struct inode *inode, struct file *file) > { > return single_open(file, i8k_proc_show, NULL); > } > +#endif > > > /* > @@ -974,17 +982,17 @@ static int __init i8k_probe(void) > > static int __init i8k_init(void) > { > - struct proc_dir_entry *proc_i8k; > int err; > > /* Are we running on an supported laptop? */ > if (i8k_probe()) > return -ENODEV; > > +#ifdef CONFIG_I8K > /* Register the proc entry */ > - proc_i8k = proc_create("i8k", 0, NULL, &i8k_fops); > - if (!proc_i8k) > + if (!proc_create("i8k", 0, NULL, &i8k_fops)) > return -ENOENT; I would prefer not to fail here but report a warning. This is no longer a fatal condition. > +#endif > > err = i8k_init_hwmon(); > if (err) > @@ -993,14 +1001,18 @@ static int __init i8k_init(void) > return 0; > > exit_remove_proc: > +#ifdef CONFIG_I8K > remove_proc_entry("i8k", NULL); > +#endif > return err; > } > > static void __exit i8k_exit(void) > { > hwmon_device_unregister(i8k_hwmon_dev); > +#ifdef CONFIG_I8K > remove_proc_entry("i8k", NULL); > +#endif > } > > module_init(i8k_init); > Can you move all the conditional functions and global variables together under a single #ifdef ? That should include functions to create the proc entries, and shim functions for the same if I8K is not configured. Also, the #ifdef would not cover the case where I8K is configured as module (there is no reason to force it to bool). You should use "#if IS_ENABLED(CONFIG_I8K)" instead. Thanks, Guenter