From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Renninger Subject: [PATCH 2/2] RFC: ACPI: Set enforce_resources to strict if a ATK0110 device is found in namespace Date: Mon, 2 Feb 2009 18:22:19 +0100 Message-ID: <200902021822.20237.trenn@suse.de> References: <20090125210520.GA12963@dreamland.darkstar.lan> <20090202101103.1208c035@hyperion.delvare> <68676e00902020338o7326ff7dx4efadf94ed534acf@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from ns1.suse.de ([195.135.220.2]:43208 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753462AbZBBRWW (ORCPT ); Mon, 2 Feb 2009 12:22:22 -0500 In-Reply-To: <68676e00902020338o7326ff7dx4efadf94ed534acf@mail.gmail.com> Content-Disposition: inline Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Luca Tettamanti Cc: Jean Delvare , Hans de Goede , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Len Brown T24gTW9uZGF5IDAyIEZlYnJ1YXJ5IDIwMDkgMTI6Mzg6MjQgeW91IHdyb3RlOgo+IE9uIE1vbiwg RmViIDIsIDIwMDkgYXQgMTA6MTEgQU0sIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3Jn PiB3cm90ZToKPiA+IE9uIFN1biwgMSBGZWIgMjAwOSAyMjoyMjo0MyArMDEwMCwgTHVjYSBUZXR0 YW1hbnRpIHdyb3RlOgo+ID4+IC0tLSBhL2RyaXZlcnMvYWNwaS9vc2wuYwo+ID4+ICsrKyBiL2Ry aXZlcnMvYWNwaS9vc2wuYwo+ID4+IEBAIC0xMDYzLDcgKzEwNjMsMTAgQEAgX19zZXR1cCgiYWNw aV93YWtlX2dwZXNfYWx3YXlzX29uIiwKPiA+PiBhY3BpX3dha2VfZ3Blc19hbHdheXNfb25fc2V0 dXApOyAqIGluIGFyYml0cmFyeSBBTUwgY29kZSBhbmQgY2FuCj4gPj4gaW50ZXJmZXJlIHdpdGgg bGVnYWN5IGRyaXZlcnMuICogYWNwaV9lbmZvcmNlX3Jlc291cmNlcz0gY2FuIGJlIHNldCB0bzoK PiA+PiAgICoKPiA+PiAtICogICAtIHN0cmljdCAgICAgICAgICAgKDIpCj4gPj4gKyAqICAgLSBh dXRvICAgICAgICAgICAgICgyKQo+ID4+ICsgKiAgICAgLT4gZGV0ZWN0IHBvc3NpYmxlIGNvbmZs aWN0cyB3aXRoIEFDUEkgZHJpdmVycyBhbmQgc3dpdGNoIHRvCj4gPj4gKyAqICAgICBzdHJpY3Qg aWYgbmVlZGVkLCBvdGhlcndpc2UgYWN0IGxpa2UgbGF4Cj4gPj4gKyAqICAgLSBzdHJpY3QgICAg ICAgICAgICgzKQo+ID4+ICAgKiAgICAgLT4gZnVydGhlciBkcml2ZXIgdHJ5aW5nIHRvIGFjY2Vz cyB0aGUgcmVzb3VyY2VzIHdpbGwgbm90IGxvYWQKPiA+PiAgICogICAtIGxheCAoZGVmYXVsdCkg ICAgKDEpCj4gPj4gICAqICAgICAtPiBmdXJ0aGVyIGRyaXZlciB0cnlpbmcgdG8gYWNjZXNzIHRo ZSByZXNvdXJjZXMgd2lsbCBsb2FkLCBidXQKPiA+PiB5b3UgQEAgLTEwNzMsMTEgKzEwNzYsMTIg QEAgX19zZXR1cCgiYWNwaV93YWtlX2dwZXNfYWx3YXlzX29uIiwKPiA+PiBhY3BpX3dha2VfZ3Bl c19hbHdheXNfb25fc2V0dXApOyAqICAgICAtPiBBQ1BJIE9wZXJhdGlvbiBSZWdpb24KPiA+PiBy ZXNvdXJjZXMgd2lsbCBub3QgYmUgcmVnaXN0ZXJlZCAqCj4gPj4gICAqLwo+ID4+IC0jZGVmaW5l IEVORk9SQ0VfUkVTT1VSQ0VTX1NUUklDVCAyCj4gPj4gKyNkZWZpbmUgRU5GT1JDRV9SRVNPVVJD RVNfU1RSSUNUIDMKPiA+PiArI2RlZmluZSBFTkZPUkNFX1JFU09VUkNFU19BVVRPICAgMgo+ID4+ ICAjZGVmaW5lIEVORk9SQ0VfUkVTT1VSQ0VTX0xBWCAgICAxCj4gPj4gICNkZWZpbmUgRU5GT1JD RV9SRVNPVVJDRVNfTk8gICAgIDAKPiA+Cj4gPiBJIGRvbid0IHNlZSBhbnkgcmVhc29uIHRvIGNo YW5nZSBFTkZPUkNFX1JFU09VUkNFU19TVFJJQ1QgZnJvbSAyIHRvIDMuCj4gPiBKdXN0IGFkZCBF TkZPUkNFX1JFU09VUkNFU19BVVRPIGFzIDMgYW5kIHRoYXQncyBpdCwgbWFrZXMgeW91ciBwYXRj aAo+ID4gc21hbGxlci4KPgo+IFRoZXJlJ3MgYW4gdW5zcG9rZW4gcmVhc29uIDstKSBUaGUgb3B0 aW9ucyBhcmUgb3JkZXJlZCBieQo+ICJzdHJpY3RuZXNzIiwgSSB3YXMgZXhwZXJpbWVudGluZyB3 aXRoIGFuIEFQSSB0byBleHBvcnQgdGhlIHBhcmFtZXRlciwKPiBpbiBvcmRlciB0byBtb3ZlIHRo ZSBjb2RlIHRvIGEgc2VwYXJhdGUgcXVpcmsgZmlsZS4gU2luY2UgaXQncyBub3QKPiByZWxldmFu dCBpbiB0aGlzIHBhdGNoIEknbGwgYmFjayBvdXQgdGhlIGNoYW5nZS4KCkFuZCB0aGUgb3RoZXIg b25lLCBpbXBsZW1lbnRpbmcgdGhlIEFUSzAxMTAgcXVpcmsuClRoZSBzYW1lIHByb2JhYmx5IGNv dWxkIGJlIGVhc3kgZG9uZSBub3cgd2l0aCB2aWRlb19kZXRlY3QuYy4KVGhlIHZpZGVvIGRldmlj ZSBISUQgc2hvdWxkIGdldCBhZGRlZCBpbiBzY2FuLmMgYWdhaW4gYXMgc3VnZ2VzdGVkIGJ5IEJq b3JuLgpUaGVuIHRoZSB2aWRlb19kZXRlY3QuYyBjYW4gZ28gaW50byBxdWlya3MuYyBhbmQgZ2V0 IGRlbGV0ZWQuCgpXaGF0IGRvIHlvdSB0aGluaz8KCiAgICAgVGhvbWFzCgotLS0KQUNQSTogU2V0 IGVuZm9yY2VfcmVzb3VyY2VzIHRvIHN0cmljdCBpZiBhIEFUSzAxMTAgZGV2aWNlIGlzIGZvdW5k IGluIG5hbWVzcGFjZQoKQVRLMDExMCBhY3BpIGRyaXZlciBvbiBBU1VTIGJvYXJkcyB0b3VjaGVz IHRoZSBod21vbiBIVyB2aWEgQUNQSSBmdW5jdGlvbnMuCkV2ZXJ5IG5hdGl2ZSBod21vbiBkcml2 ZXIgd2hpY2ggdHJpZXMgdG8gYWNxdWlyZSByZXNvdXJjZXMgd2hpY2ggYXJlIGFscmVhZHkKZGVm aW5lZCBhcyBPcGVyYXRpb25SZWdpb25zIHdpbGwgbm90IGxvYWQgb24gdGhlc2UgYm9hcmRzIGJ5 IGRlZmF1bHQuClRoaXMgYXZvaWRzIGludGVyZmVyZW5jZSBiZXR3ZWVuIG5vbi1hdG9taWMgZGF0 YS9jb21tYW5kIHJlZ2lzdGVyIHJlYWRzCmJldHdlZW4gdGhlIGh3bW9uIGFuZCB0aGUgQVRLMDEx MCBBc3VzIEFDUEkgZHJpdmVycy4KClNpZ25lZC1vZmYtYnk6IFRob21hcyBSZW5uaW5nZXIgPHRy ZW5uQHN1c2UuZGU+CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FjcGkuaCBiL2RyaXZlcnMv YWNwaS9hY3BpLmgKaW5kZXggOTVlMjljYS4uYzA4MDM3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9h Y3BpL2FjcGkuaAorKysgYi9kcml2ZXJzL2FjcGkvYWNwaS5oCkBAIC01LDQgKzUsMjggQEAKIAog dm9pZCBfX2luaXQgYWNwaV9kZXZpY2VfcXVpcmtzKHZvaWQpOwogCisvKiBDaGVjayBvZiByZXNv dXJjZSBpbnRlcmZlcmVuY2UgYmV0d2VlbiBuYXRpdmUgZHJpdmVycyBhbmQgQUNQSQorICogT3Bl cmF0aW9uUmVnaW9ucyAoU3lzdGVtSU8gYW5kIFN5c3RlbSBNZW1vcnkgb25seSkuCisgKiBJTyBw b3J0cyBhbmQgbWVtb3J5IGRlY2xhcmVkIGluIEFDUEkgbWlnaHQgYmUgdXNlZCBieSB0aGUgQUNQ SSBzdWJzeXN0ZW0KKyAqIGluIGFyYml0cmFyeSBBTUwgY29kZSBhbmQgY2FuIGludGVyZmVyZSB3 aXRoIGxlZ2FjeSBkcml2ZXJzLgorICogYWNwaV9lbmZvcmNlX3Jlc291cmNlcz0gY2FuIGJlIHNl dCB0bzoKKyAqCisgKiAgIC0gc3RyaWN0ICAgICAgICAgICAoMikKKyAqICAgICAtPiBmdXJ0aGVy IGRyaXZlciB0cnlpbmcgdG8gYWNjZXNzIHRoZSByZXNvdXJjZXMgd2lsbCBub3QgbG9hZAorICog ICAtIGxheCAoZGVmYXVsdCkgICAgKDEpCisgKiAgICAgLT4gZnVydGhlciBkcml2ZXIgdHJ5aW5n IHRvIGFjY2VzcyB0aGUgcmVzb3VyY2VzIHdpbGwgbG9hZCwgYnV0IHlvdQorICogICAgIGdldCBh IHN5c3RlbSBtZXNzYWdlIHRoYXQgc29tZXRoaW5nIG1pZ2h0IGdvIHdyb25nLi4uCisgKgorICog ICAtIG5vICAgICAgICAgICAgICAgKDApCisgKiAgICAgLT4gQUNQSSBPcGVyYXRpb24gUmVnaW9u IHJlc291cmNlcyB3aWxsIG5vdCBiZSByZWdpc3RlcmVkCisgKgorICovCisjZGVmaW5lIEVORk9S Q0VfUkVTT1VSQ0VTX0FVVE8gICAzCisjZGVmaW5lIEVORk9SQ0VfUkVTT1VSQ0VTX1NUUklDVCAy CisjZGVmaW5lIEVORk9SQ0VfUkVTT1VSQ0VTX0xBWCAgICAxCisjZGVmaW5lIEVORk9SQ0VfUkVT T1VSQ0VTX05PICAgICAwCisKK2V4dGVybiB1bnNpZ25lZCBpbnQgYWNwaV9lbmZvcmNlX3Jlc291 cmNlczsKKworCiAjZW5kaWYgLyogX0xJTlVYX0xPQ0FMX0FDUElfSCAqLwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9hY3BpL29zbC5jIGIvZHJpdmVycy9hY3BpL29zbC5jCmluZGV4IDY3MjlhNDkuLjky ZTQyMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9vc2wuYworKysgYi9kcml2ZXJzL2FjcGkv b3NsLmMKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlIDxhY3BpL2FjcGkuaD4KICNpbmNsdWRl IDxhY3BpL2FjcGlfYnVzLmg+CiAjaW5jbHVkZSA8YWNwaS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRl ICJhY3BpLmgiCiAKICNkZWZpbmUgX0NPTVBPTkVOVAkJQUNQSV9PU19TRVJWSUNFUwogQUNQSV9N T0RVTEVfTkFNRSgib3NsIik7CkBAIC0xMDU3LDI3ICsxMDU4LDcgQEAgc3RhdGljIGludCBfX2lu aXQgYWNwaV93YWtlX2dwZXNfYWx3YXlzX29uX3NldHVwKGNoYXIgKnN0cikKIAogX19zZXR1cCgi YWNwaV93YWtlX2dwZXNfYWx3YXlzX29uIiwgYWNwaV93YWtlX2dwZXNfYWx3YXlzX29uX3NldHVw KTsKIAotLyogQ2hlY2sgb2YgcmVzb3VyY2UgaW50ZXJmZXJlbmNlIGJldHdlZW4gbmF0aXZlIGRy aXZlcnMgYW5kIEFDUEkKLSAqIE9wZXJhdGlvblJlZ2lvbnMgKFN5c3RlbUlPIGFuZCBTeXN0ZW0g TWVtb3J5IG9ubHkpLgotICogSU8gcG9ydHMgYW5kIG1lbW9yeSBkZWNsYXJlZCBpbiBBQ1BJIG1p Z2h0IGJlIHVzZWQgYnkgdGhlIEFDUEkgc3Vic3lzdGVtCi0gKiBpbiBhcmJpdHJhcnkgQU1MIGNv ZGUgYW5kIGNhbiBpbnRlcmZlcmUgd2l0aCBsZWdhY3kgZHJpdmVycy4KLSAqIGFjcGlfZW5mb3Jj ZV9yZXNvdXJjZXM9IGNhbiBiZSBzZXQgdG86Ci0gKgotICogICAtIHN0cmljdCAgICAgICAgICAg KDIpCi0gKiAgICAgLT4gZnVydGhlciBkcml2ZXIgdHJ5aW5nIHRvIGFjY2VzcyB0aGUgcmVzb3Vy Y2VzIHdpbGwgbm90IGxvYWQKLSAqICAgLSBsYXggKGRlZmF1bHQpICAgICgxKQotICogICAgIC0+ IGZ1cnRoZXIgZHJpdmVyIHRyeWluZyB0byBhY2Nlc3MgdGhlIHJlc291cmNlcyB3aWxsIGxvYWQs IGJ1dCB5b3UKLSAqICAgICBnZXQgYSBzeXN0ZW0gbWVzc2FnZSB0aGF0IHNvbWV0aGluZyBtaWdo dCBnbyB3cm9uZy4uLgotICoKLSAqICAgLSBubyAgICAgICAgICAgICAgICgwKQotICogICAgIC0+ IEFDUEkgT3BlcmF0aW9uIFJlZ2lvbiByZXNvdXJjZXMgd2lsbCBub3QgYmUgcmVnaXN0ZXJlZAot ICoKLSAqLwotI2RlZmluZSBFTkZPUkNFX1JFU09VUkNFU19TVFJJQ1QgMgotI2RlZmluZSBFTkZP UkNFX1JFU09VUkNFU19MQVggICAgMQotI2RlZmluZSBFTkZPUkNFX1JFU09VUkNFU19OTyAgICAg MAotCi1zdGF0aWMgdW5zaWduZWQgaW50IGFjcGlfZW5mb3JjZV9yZXNvdXJjZXMgPSBFTkZPUkNF X1JFU09VUkNFU19MQVg7Cit1bnNpZ25lZCBpbnQgYWNwaV9lbmZvcmNlX3Jlc291cmNlcyA9IEVO Rk9SQ0VfUkVTT1VSQ0VTX0FVVE87CiAKIHN0YXRpYyBpbnQgX19pbml0IGFjcGlfZW5mb3JjZV9y ZXNvdXJjZXNfc2V0dXAoY2hhciAqc3RyKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3F1 aXJrcy5jIGIvZHJpdmVycy9hY3BpL3F1aXJrcy5jCmluZGV4IDg0NDQ4MGUuLmEwZDA3MzEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9xdWlya3MuYworKysgYi9kcml2ZXJzL2FjcGkvcXVpcmtz LmMKQEAgLTMwLDYgKzMwLDIwIEBAIHN0cnVjdCBhY3BpX2RldmljZV9maXh1cCB7CiB9OwogCiAv KgorICogQVRLMDExMCBpcyBrbm93biB0byBpbnRlcmZlcmUgd2l0aCBzZXZlcmFsIGh3bW9uIGRy aXZlcnMsIGFzIGl0IGFsc28KKyAqIHJlYWRzIHRlbXBlcnR1cmUsIGZhbiwgZXRjLiBvbiB0aGUg c2FtZSBkZXZpY2UgaHdtb24gZHJpdmVycyBkby4KKyAqIE1ha2Ugc3VyZSBwb3NzaWJseSBpbnRl cmZlcmluZyBod21vbi9pMmMvc21idXMgZHJpdmVycyB0b3VjaGluZyBJTyBhcmVhcworICogd2hp Y2ggYWxyZWFkeSBnb3QgZGVjbGFyZWQgYXMgQUNQSSBPcGVyYXRpb24gUmVnaW9ucyBjYW5ub3Qg YmUgbG9hZGVkLgorICovCitpbnQgX19pbml0IGF0azAxMTBfaW50ZXJmZXJlX2ZpeHVwcyAoc3Ry dWN0IGFjcGlfZGV2aWNlICpkZXYpIHsKKworCXByaW50ayAoIkZvdW5kIGRldmljZTogJXNcbiIs IGFjcGlfZGV2aWNlX2JpZChkZXYpKTsKKwlpZiAoYWNwaV9lbmZvcmNlX3Jlc291cmNlcyA9PSBF TkZPUkNFX1JFU09VUkNFU19BVVRPKQorCQlhY3BpX2VuZm9yY2VfcmVzb3VyY2VzID0gRU5GT1JD RV9SRVNPVVJDRVNfU1RSSUNUOworCXJldHVybiAwOworfQorCisvKgogICogQWRkIGEgY2FsbGJh Y2sgaGVyZSBpZiB5b3VyIG1vZHVsZSBuZWVkcyB0byBwcm9jZXNzIGNvZGUgYWZ0ZXIgdGhlIEFD UEkKICAqIGNvcmUgaGFzIHBhcnNlZCB0aGUgRFNEVCBhbmQgaW5pdGlhbGl6ZWQgYWxsIGRldmlj ZXMsIGJ1dCB0aGUgY29kZSBtdXN0CiAgKiBiZSBwcm9jZXNzZWQgYmVmb3JlIG1vZHVsZSBsb2Fk IHRpbWUuCkBAIC0zNyw2ICs1MSw3IEBAIHN0cnVjdCBhY3BpX2RldmljZV9maXh1cCB7CiAgKiBi ZWZvcmUgdGhlIGRyaXZlciBpcyBsb2FkZWQuCiAgKi8KIGNvbnN0IHN0cnVjdCBhY3BpX2Rldmlj ZV9maXh1cCBfX2luaXRkYXRhIGZpeHVwX3RhYmxlW10gPSB7CisJeyAiQVRLMDExMCIsIGF0azAx MTBfaW50ZXJmZXJlX2ZpeHVwcyB9LAogfTsKIAogc3RhdGljIGFjcGlfc3RhdHVzIF9faW5pdAoA Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757017AbZBBRXZ (ORCPT ); Mon, 2 Feb 2009 12:23:25 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753287AbZBBRWY (ORCPT ); Mon, 2 Feb 2009 12:22:24 -0500 Received: from ns1.suse.de ([195.135.220.2]:43208 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753462AbZBBRWW (ORCPT ); Mon, 2 Feb 2009 12:22:22 -0500 From: Thomas Renninger Organization: SUSE Products GmbH To: Luca Tettamanti Subject: [PATCH 2/2] RFC: ACPI: Set enforce_resources to strict if a ATK0110 device is found in namespace Date: Mon, 2 Feb 2009 18:22:19 +0100 User-Agent: KMail/1.10.3 (Linux/2.6.27.13-HEAD_20090130075504_71baee03-default; KDE/4.1.3; x86_64; ; ) References: <20090125210520.GA12963@dreamland.darkstar.lan> <20090202101103.1208c035@hyperion.delvare> <68676e00902020338o7326ff7dx4efadf94ed534acf@mail.gmail.com> In-Reply-To: <68676e00902020338o7326ff7dx4efadf94ed534acf@mail.gmail.com> Cc: Jean Delvare , Hans de Goede , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Len Brown MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200902021822.20237.trenn@suse.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by alpha id n12HNkwM000751 On Monday 02 February 2009 12:38:24 you wrote:> On Mon, Feb 2, 2009 at 10:11 AM, Jean Delvare wrote:> > On Sun, 1 Feb 2009 22:22:43 +0100, Luca Tettamanti wrote:> >> --- a/drivers/acpi/osl.c> >> +++ b/drivers/acpi/osl.c> >> @@ -1063,7 +1063,10 @@ __setup("acpi_wake_gpes_always_on",> >> acpi_wake_gpes_always_on_setup); * in arbitrary AML code and can> >> interfere with legacy drivers. * acpi_enforce_resources= can be set to:> >> *> >> - * - strict (2)> >> + * - auto (2)> >> + * -> detect possible conflicts with ACPI drivers and switch to> >> + * strict if needed, otherwise act like lax> >> + * - strict (3)> >> * -> further driver trying to access the resources will not load> >> * - lax (default) (1)> >> * -> further driver trying to access the resources will load, but> >> you @@ -1073,11 +1076,12 @@ __setup("acpi_wake_gpes_always_on",> >> acpi_wake_gpes_always_on_setup); * -> ACPI Operation Region> >> resources will not be registered *> >> */> >> -#define ENFORCE_RESOURCES_STRICT 2> >> +#define ENFORCE_RESOURCES_STRICT 3> >> +#define ENFORCE_RESOURCES_AUTO 2> >> #define ENFORCE_RESOURCES_LAX 1> >> #define ENFORCE_RESOURCES_NO 0> >> > I don't see any reason to change ENFORCE_RESOURCES_STRICT from 2 to 3.> > Just add ENFORCE_RESOURCES_AUTO as 3 and that's it, makes your patch> > smaller.>> There's an unspoken reason ;-) The options are ordered by> "strictness", I was experimenting with an API to export the parameter,> in order to move the code to a separate quirk file. Since it's not> relevant in this patch I'll back out the change. And the other one, implementing the ATK0110 quirk.The same probably could be easy done now with video_detect.c.The video device HID should get added in scan.c again as suggested by Bjorn.Then the video_detect.c can go into quirks.c and get deleted. What do you think? Thomas ---ACPI: Set enforce_resources to strict if a ATK0110 device is found in namespace ATK0110 acpi driver on ASUS boards touches the hwmon HW via ACPI functions.Every native hwmon driver which tries to acquire resources which are alreadydefined as OperationRegions will not load on these boards by default.This avoids interference between non-atomic data/command register readsbetween the hwmon and the ATK0110 Asus ACPI drivers. Signed-off-by: Thomas Renninger diff --git a/drivers/acpi/acpi.h b/drivers/acpi/acpi.hindex 95e29ca..c08037e 100644--- a/drivers/acpi/acpi.h+++ b/drivers/acpi/acpi.h@@ -5,4 +5,28 @@ void __init acpi_device_quirks(void); +/* Check of resource interference between native drivers and ACPI+ * OperationRegions (SystemIO and System Memory only).+ * IO ports and memory declared in ACPI might be used by the ACPI subsystem+ * in arbitrary AML code and can interfere with legacy drivers.+ * acpi_enforce_resources= can be set to:+ *+ * - strict (2)+ * -> further driver trying to access the resources will not load+ * - lax (default) (1)+ * -> further driver trying to access the resources will load, but you+ * get a system message that something might go wrong...+ *+ * - no (0)+ * -> ACPI Operation Region resources will not be registered+ *+ */+#define ENFORCE_RESOURCES_AUTO 3+#define ENFORCE_RESOURCES_STRICT 2+#define ENFORCE_RESOURCES_LAX 1+#define ENFORCE_RESOURCES_NO 0++extern unsigned int acpi_enforce_resources;++ #endif /* _LINUX_LOCAL_ACPI_H */diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.cindex 6729a49..92e4226 100644--- a/drivers/acpi/osl.c+++ b/drivers/acpi/osl.c@@ -50,6 +50,7 @@ #include #include #include +#include "acpi.h" #define _COMPONENT ACPI_OS_SERVICES ACPI_MODULE_NAME("osl");@@ -1057,27 +1058,7 @@ static int __init acpi_wake_gpes_always_on_setup(char *str) __setup("acpi_wake_gpes_always_on", acpi_wake_gpes_always_on_setup); -/* Check of resource interference between native drivers and ACPI- * OperationRegions (SystemIO and System Memory only).- * IO ports and memory declared in ACPI might be used by the ACPI subsystem- * in arbitrary AML code and can interfere with legacy drivers.- * acpi_enforce_resources= can be set to:- *- * - strict (2)- * -> further driver trying to access the resources will not load- * - lax (default) (1)- * -> further driver trying to access the resources will load, but you- * get a system message that something might go wrong...- *- * - no (0)- * -> ACPI Operation Region resources will not be registered- *- */-#define ENFORCE_RESOURCES_STRICT 2-#define ENFORCE_RESOURCES_LAX 1-#define ENFORCE_RESOURCES_NO 0--static unsigned int acpi_enforce_resources = ENFORCE_RESOURCES_LAX;+unsigned int acpi_enforce_resources = ENFORCE_RESOURCES_AUTO; static int __init acpi_enforce_resources_setup(char *str) {diff --git a/drivers/acpi/quirks.c b/drivers/acpi/quirks.cindex 844480e..a0d0731 100644--- a/drivers/acpi/quirks.c+++ b/drivers/acpi/quirks.c@@ -30,6 +30,20 @@ struct acpi_device_fixup { }; /*+ * ATK0110 is known to interfere with several hwmon drivers, as it also+ * reads temperture, fan, etc. on the same device hwmon drivers do.+ * Make sure possibly interfering hwmon/i2c/smbus drivers touching IO areas+ * which already got declared as ACPI Operation Regions cannot be loaded.+ */+int __init atk0110_interfere_fixups (struct acpi_device *dev) {++ printk ("Found device: %s\n", acpi_device_bid(dev));+ if (acpi_enforce_resources == ENFORCE_RESOURCES_AUTO)+ acpi_enforce_resources = ENFORCE_RESOURCES_STRICT;+ return 0;+}++/* * Add a callback here if your module needs to process code after the ACPI * core has parsed the DSDT and initialized all devices, but the code must * be processed before module load time.@@ -37,6 +51,7 @@ struct acpi_device_fixup { * before the driver is loaded. */ const struct acpi_device_fixup __initdata fixup_table[] = {+ { "ATK0110", atk0110_interfere_fixups }, }; static acpi_status __init{.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I