From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tan, Jui Nee" Subject: RE: [PATCH v6 1/3] x86/platform/p2sb: New Primary to Sideband bridge support driver for Intel SOC's Date: Mon, 18 Jul 2016 05:51:05 +0000 Message-ID: <0158A29DB680F54A88142ED28D55B1D00826E8F4@PGSMSX107.gar.corp.intel.com> References: <1468483919-31258-1-git-send-email-jui.nee.tan@intel.com> <1468483919-31258-2-git-send-email-jui.nee.tan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com ([192.55.52.115]:27292 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750973AbcGRFvN (ORCPT ); Mon, 18 Jul 2016 01:51:13 -0400 Content-Language: en-US Sender: linux-gpio-owner@vger.kernel.org List-Id: linux-gpio@vger.kernel.org To: "Gortmaker, Paul (Wind River)" , "andriy.shevchenko@linux.intel.com" Cc: "mika.westerberg@linux.intel.com" , "heikki.krogerus@linux.intel.com" , "tglx@linutronix.de" , "mingo@redhat.com" , "H. Peter Anvin" , X86 ML , "ptyser@xes-inc.com" , Lee Jones , Linus Walleij , "linux-gpio@vger.kernel.org" , LKML , "Yong, Jonathan" , "Yu, Ong Hock" , "Voon, Weifeng" , "Wan Mohamad, Wan Ahmad Zainie" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVGFuLCBKdWkgTmVlDQo+ IFNlbnQ6IE1vbmRheSwgSnVseSAxOCwgMjAxNiAxMTozNSBBTQ0KPiBUbzogJ1BhdWwgR29ydG1h a2VyJyA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT47DQo+IGFuZHJpeS5zaGV2Y2hlbmtv QGxpbnV4LmludGVsLmNvbQ0KPiBDYzogbWlrYS53ZXN0ZXJiZXJnQGxpbnV4LmludGVsLmNvbTsg aGVpa2tpLmtyb2dlcnVzQGxpbnV4LmludGVsLmNvbTsNCj4gdGdseEBsaW51dHJvbml4LmRlOyBt aW5nb0ByZWRoYXQuY29tOyBILiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT47DQo+IFg4NiBN TCA8eDg2QGtlcm5lbC5vcmc+OyBwdHlzZXJAeGVzLWluYy5jb207IExlZSBKb25lcw0KPiA8bGVl LmpvbmVzQGxpbmFyby5vcmc+OyBMaW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5v cmc+OyBsaW51eC0NCj4gZ3Bpb0B2Z2VyLmtlcm5lbC5vcmc7IExLTUwgPGxpbnV4LWtlcm5lbEB2 Z2VyLmtlcm5lbC5vcmc+OyBZb25nLA0KPiBKb25hdGhhbiA8am9uYXRoYW4ueW9uZ0BpbnRlbC5j b20+OyBZdSwgT25nIEhvY2sNCj4gPG9uZy5ob2NrLnl1QGludGVsLmNvbT47IFZvb24sIFdlaWZl bmcgPHdlaWZlbmcudm9vbkBpbnRlbC5jb20+OyBXYW4NCj4gTW9oYW1hZCwgV2FuIEFobWFkIFph aW5pZQ0KPiA8d2FuLmFobWFkLnphaW5pZS53YW4ubW9oYW1hZEBpbnRlbC5jb20+DQo+IFN1Ympl Y3Q6IFJFOiBbUEFUQ0ggdjYgMS8zXSB4ODYvcGxhdGZvcm0vcDJzYjogTmV3IFByaW1hcnkgdG8g U2lkZWJhbmQNCj4gYnJpZGdlIHN1cHBvcnQgZHJpdmVyIGZvciBJbnRlbCBTT0Mncw0KPiANCj4g DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogcGF1bC5nb3J0 bWFrZXJAZ21haWwuY29tIFttYWlsdG86cGF1bC5nb3J0bWFrZXJAZ21haWwuY29tXSBPbg0KPiA+ IEJlaGFsZiBPZiBQYXVsIEdvcnRtYWtlcg0KPiA+IFNlbnQ6IEZyaWRheSwgSnVseSAxNSwgMjAx NiA4OjAxIEFNDQo+ID4gVG86IFRhbiwgSnVpIE5lZSA8anVpLm5lZS50YW5AaW50ZWwuY29tPg0K PiA+IENjOiBtaWthLndlc3RlcmJlcmdAbGludXguaW50ZWwuY29tOyBoZWlra2kua3JvZ2VydXNA bGludXguaW50ZWwuY29tOw0KPiA+IGFuZHJpeS5zaGV2Y2hlbmtvQGxpbnV4LmludGVsLmNvbTsg dGdseEBsaW51dHJvbml4LmRlOw0KPiA+IG1pbmdvQHJlZGhhdC5jb207IEguIFBldGVyIEFudmlu IDxocGFAenl0b3IuY29tPjsgWDg2IE1MDQo+ID4gPHg4NkBrZXJuZWwub3JnPjsgcHR5c2VyQHhl cy1pbmMuY29tOyBMZWUgSm9uZXMNCj4gPGxlZS5qb25lc0BsaW5hcm8ub3JnPjsNCj4gPiBMaW51 cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+OyBsaW51eC1ncGlvQHZnZXIua2Vy bmVsLm9yZzsgTEtNTA0KPiA+IDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgWW9uZywg Sm9uYXRoYW4NCj4gPiA8am9uYXRoYW4ueW9uZ0BpbnRlbC5jb20+OyBZdSwgT25nIEhvY2sgPG9u Zy5ob2NrLnl1QGludGVsLmNvbT47DQo+IFZvb24sDQo+ID4gV2VpZmVuZyA8d2VpZmVuZy52b29u QGludGVsLmNvbT47IFdhbiBNb2hhbWFkLCBXYW4gQWhtYWQgWmFpbmllDQo+ID4gPHdhbi5haG1h ZC56YWluaWUud2FuLm1vaGFtYWRAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg djYgMS8zXSB4ODYvcGxhdGZvcm0vcDJzYjogTmV3IFByaW1hcnkgdG8gU2lkZWJhbmQNCj4gPiBi cmlkZ2Ugc3VwcG9ydCBkcml2ZXIgZm9yIEludGVsIFNPQydzDQo+ID4NCj4gPiBPbiBUaHUsIEp1 bCAxNCwgMjAxNiBhdCA0OjExIEFNLCBUYW4gSnVpIE5lZSA8anVpLm5lZS50YW5AaW50ZWwuY29t Pg0KPiB3cm90ZToNCj4gPiA+IEZyb206IEFuZHkgU2hldmNoZW5rbyA8YW5kcml5LnNoZXZjaGVu a29AbGludXguaW50ZWwuY29tPg0KPiA+ID4NCj4gPiA+IFRoZXJlIGlzIGFscmVhZHkgb25lIGFu ZCBhdCBsZWFzdCBvbmUgbW9yZSB1c2VyIGNvbWluZyB3aGljaCByZXF1aXJlDQo+ID4gPiBhbiBh Y2Nlc3MgdG8gUHJpbWFyeSB0byBTaWRlYmFuZCBicmlkZ2UgKFAyU0IpIGluIG9yZGVyIHRvIGdl dCBJTyBvcg0KPiA+ID4gTU1JTyBiYXIgaGlkZGVuIGJ5IEJJT1MuDQo+ID4gPiBDcmVhdGUgYSBk cml2ZXIgdG8gYWNjZXNzIFAyU0IgZm9yIHg4NiBkZXZpY2VzLg0KPiA+ID4NCj4gPiA+IFNpZ25l ZC1vZmYtYnk6IFlvbmcsIEpvbmF0aGFuIDxqb25hdGhhbi55b25nQGludGVsLmNvbT4NCj4gPiA+ IFNpZ25lZC1vZmYtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5kcml5LnNoZXZjaGVua29AbGludXgu aW50ZWwuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiBDaGFuZ2VzIGluIFY2Og0KPiA+ID4gICAgICAg ICAtIE5vIGNoYW5nZQ0KPiA+ID4NCj4gPiA+IENoYW5nZXMgaW4gVjU6DQo+ID4gPiAgICAgICAg IC0gTm8gY2hhbmdlDQo+ID4gPg0KPiA+ID4gQ2hhbmdlcyBpbiBWNDoNCj4gPiA+ICAgICAgICAg LSBNb3ZlIEtjb25maWcgb3B0aW9uIENPTkZJR19YODZfSU5URUxfTk9OX0FDUEkgZnJvbQ0KPiA+ ID4gICAgICAgICAgIFtQQVRDSCAyLzNdIHg4Ni9wbGF0Zm9ybS9wMnNiOiBOZXcgUHJpbWFyeSB0 byBTaWRlYmFuZCBicmlkZ2UNCj4gPiBzdXBwb3J0IGRyaXZlciBmb3IgSW50ZWwgU09DJ3MNCj4g PiA+ICAgICAgICAgICB0bw0KPiA+ID4gICAgICAgICAgIFtQQVRDSCAzLzNdIG1mZDogbHBjX2lj aDogQWRkIHN1cHBvcnQgZm9yIEludGVsIEFwb2xsbyBMYWtlIEdQSU8NCj4gPiBwaW5jdHJsIGlu IG5vbi1BQ1BJIHN5c3RlbQ0KPiA+ID4gICAgICAgICAgIHNpbmNlIHRoZSBjb25maWcgaXMgdXNl ZCBpbiBsYXR0ZXIgcGF0Y2guDQo+ID4gPg0KPiA+ID4gQ2hhbmdlcyBpbiBWMzoNCj4gPiA+ICAg ICAgICAgLSBObyBjaGFuZ2UNCj4gPiA+DQo+ID4gPiBDaGFuZ2VzIGluIFYyOg0KPiA+ID4gICAg ICAgICAtIEFkZCBuZXcgY29uZmlnIG9wdGlvbiBDT05GSUdfWDg2X0lOVEVMX05PTl9BQ1BJIGFu ZCAic2VsZWN0DQo+ID4gUElOQ1RSTCINCj4gPiA+ICAgICAgICAgICB0byBmaXgga2J1aWxkYm90 IGVycm9yDQo+ID4gPg0KPiA+ID4gIGFyY2gveDg2L0tjb25maWcgICAgICAgICAgICAgICAgIHwg IDQgKysNCj4gPiA+ICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wMnNiLmggICAgICB8IDI3ICsrKysr KysrKysrDQo+ID4gPiAgYXJjaC94ODYvcGxhdGZvcm0vaW50ZWwvTWFrZWZpbGUgfCAgMSArDQo+ ID4gPiAgYXJjaC94ODYvcGxhdGZvcm0vaW50ZWwvcDJzYi5jICAgfCA5OQ0KPiA+ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ICA0IGZpbGVzIGNoYW5nZWQs IDEzMSBpbnNlcnRpb25zKCspDQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gveDg2L2lu Y2x1ZGUvYXNtL3Ayc2IuaCAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiBhcmNoL3g4Ni9wbGF0 Zm9ybS9pbnRlbC9wMnNiLmMNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYvS2Nv bmZpZyBiL2FyY2gveDg2L0tjb25maWcgaW5kZXgNCj4gPiA+IGQ5YTk0ZGEuLmQzMDVkODEgMTAw NjQ0DQo+ID4gPiAtLS0gYS9hcmNoL3g4Ni9LY29uZmlnDQo+ID4gPiArKysgYi9hcmNoL3g4Ni9L Y29uZmlnDQo+ID4gPiBAQCAtNjA0LDYgKzYwNCwxMCBAQCBjb25maWcgSU9TRl9NQklfREVCVUcN Cj4gPiA+DQo+ID4gPiAgICAgICAgICAgSWYgeW91IGRvbid0IHJlcXVpcmUgdGhlIG9wdGlvbiBv ciBhcmUgaW4gZG91YnQsIHNheSBOLg0KPiA+ID4NCj4gPiA+ICtjb25maWcgUDJTQg0KPiA+ID4g KyAgICAgICB0cmlzdGF0ZQ0KPiA+DQo+ID4gT0ssIHRoaXMgaXMgdHJpc3RhdGUsIGJ1dCB0aGVu Li4uLg0KPiA+DQo+IFAyU0IgaXMgdHJpc3RhdGUgYXMgY3VycmVudGx5IGl0IGlzIG9ubHkgdXNl ZCBieSBMUENfSUNIIHRoYXQgaXMgdHJpc3RhdGUgdG9vLg0KPiAuLi4NCj4gY29uZmlnIExQQ19J Q0gNCj4gCXRyaXN0YXRlICJJbnRlbCBJQ0ggTFBDIg0KPiAJZGVwZW5kcyBvbiBYODYgJiYgUENJ DQo+IAlzZWxlY3QgTUZEX0NPUkUNCj4gCXNlbGVjdCBQMlNCDQo+IC4uLg0KPiA+ID4gKyAgICAg ICBkZXBlbmRzIG9uIFBDSQ0KPiA+ID4gKw0KPiA+ID4gIGNvbmZpZyBYODZfUkRDMzIxWA0KPiA+ ID4gICAgICAgICBib29sICJSREMgUi0zMjF4IFNvQyINCj4gPiA+ICAgICAgICAgZGVwZW5kcyBv biBYODZfMzINCj4gPiA+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wMnNiLmgg Yi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wMnNiLmgNCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 IGluZGV4IDAwMDAwMDAuLjY4NmUwN2INCj4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ICsrKyBi L2FyY2gveDg2L2luY2x1ZGUvYXNtL3Ayc2IuaA0KPiA+ID4gQEAgLTAsMCArMSwyNyBAQA0KPiA+ ID4gKy8qDQo+ID4gPiArICogUHJpbWFyeSB0byBTaWRlYmFuZCBicmlkZ2UgKFAyU0IpIGFjY2Vz cyBzdXBwb3J0ICAqLw0KPiA+ID4gKw0KPiA+ID4gKyNpZm5kZWYgUDJTQl9TWU1TX0gNCj4gPiA+ ICsjZGVmaW5lIFAyU0JfU1lNU19IDQo+ID4gPiArDQo+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2lv cG9ydC5oPg0KPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4NCj4gPiA+ICsNCj4gPiA+ICsj aWYgSVNfRU5BQkxFRChDT05GSUdfUDJTQikNCj4gPiA+ICsNCj4gPiA+ICtpbnQgcDJzYl9iYXIo c3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCBkZXZmbiwNCj4gPiA+ICsgICAgICAg c3RydWN0IHJlc291cmNlICpyZXMpOw0KPiA+ID4gKw0KPiA+ID4gKyNlbHNlIC8qIENPTkZJR19Q MlNCIGlzIG5vdCBzZXQgKi8NCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgaW5saW5lDQo+ID4gPiAr aW50IHAyc2JfYmFyKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB1bnNpZ25lZCBpbnQgZGV2Zm4sDQo+ ID4gPiArICAgICAgIHN0cnVjdCByZXNvdXJjZSAqcmVzKQ0KPiA+ID4gK3sNCj4gPiA+ICsgICAg ICAgcmV0dXJuIC1FTk9ERVY7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gKyNlbmRpZiAvKiBD T05GSUdfUDJTQiAqLw0KPiA+ID4gKw0KPiA+ID4gKyNlbmRpZiAvKiBQMlNCX1NZTVNfSCAqLw0K PiA+ID4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BsYXRmb3JtL2ludGVsL01ha2VmaWxlDQo+ID4g PiBiL2FyY2gveDg2L3BsYXRmb3JtL2ludGVsL01ha2VmaWxlDQo+ID4gPiBpbmRleCBiODc4MDMy Li5kYmY5ZjEwIDEwMDY0NA0KPiA+ID4gLS0tIGEvYXJjaC94ODYvcGxhdGZvcm0vaW50ZWwvTWFr ZWZpbGUNCj4gPiA+ICsrKyBiL2FyY2gveDg2L3BsYXRmb3JtL2ludGVsL01ha2VmaWxlDQo+ID4g PiBAQCAtMSArMSwyIEBADQo+ID4gPiAgb2JqLSQoQ09ORklHX0lPU0ZfTUJJKSAgICAgICAgICAg ICAgICAgKz0gaW9zZl9tYmkubw0KPiA+ID4gK29iai0kKENPTkZJR19QMlNCKSAgICAgICAgICAg ICAgICAgICAgICs9IHAyc2Iubw0KPiA+ID4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BsYXRmb3Jt L2ludGVsL3Ayc2IuYw0KPiA+ID4gYi9hcmNoL3g4Ni9wbGF0Zm9ybS9pbnRlbC9wMnNiLmMgbmV3 IGZpbGUgbW9kZSAxMDA2NDQgaW5kZXgNCj4gPiA+IDAwMDAwMDAuLjhiZTQ3YTQNCj4gPiA+IC0t LSAvZGV2L251bGwNCj4gPiA+ICsrKyBiL2FyY2gveDg2L3BsYXRmb3JtL2ludGVsL3Ayc2IuYw0K PiA+ID4gQEAgLTAsMCArMSw5OSBAQA0KPiA+ID4gKy8qDQo+ID4gPiArICogUHJpbWFyeSB0byBT aWRlYmFuZCBicmlkZ2UgKFAyU0IpIGRyaXZlcg0KPiA+ID4gKyAqDQo+ID4gPiArICogQ29weXJp Z2h0IChjKSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4NCj4gPiA+ICsgKg0KPiA+ID4gKyAqIEF1 dGhvcnM6IEFuZHkgU2hldmNoZW5rbyA8YW5kcml5LnNoZXZjaGVua29AbGludXguaW50ZWwuY29t Pg0KPiA+ID4gKyAqICAgICAgICAgICAgICAgICAgICAgSm9uYXRoYW4gWW9uZyA8am9uYXRoYW4u eW9uZ0BpbnRlbC5jb20+DQo+ID4gPiArICoNCj4gPiA+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQo+ID4gPiArbW9kaWZ5 IGl0DQo+ID4gPiArICogdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSwNCj4gPiA+ICsgKiB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KPiA+ID4gKyAqDQo+ID4gPiArICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIGl0IHdpbGwgYmUgdXNlZnVs LCBidXQNCj4gPiA+ICtXSVRIT1VUDQo+ID4gPiArICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4gPiBNRVJDSEFOVEFCSUxJVFkNCj4gPiA+ICtv cg0KPiA+ID4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMNCj4gPiA+ICtMaWNlbnNlIGZvcg0KPiA+ID4gKyAqIG1vcmUgZGV0 YWlscy4NCj4gPiA+ICsgKg0KPiA+ID4gKyAqLw0KPiA+ID4gKw0KPiA+ID4gKyNpbmNsdWRlIDxs aW51eC9pb3BvcnQuaD4NCj4gPiA+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQo+ID4NCj4g PiAuLi5hbmQgbW9kdWxlLmggaXMgaW5jbHVkZWQsIGJ1dCB5ZXQuLi4NCj4gPg0KPiA+ID4gKyNp bmNsdWRlIDxsaW51eC9wY2kuaD4NCj4gPiA+ICsjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4N Cj4gPiA+ICsNCj4gPiA+ICsjaW5jbHVkZSA8YXNtL3Ayc2IuaD4NCj4gPiA+ICsNCj4gPiA+ICsj ZGVmaW5lIFNCUkVHX0JBUiAgICAgIDB4MTANCj4gPiA+ICsjZGVmaW5lIFNCUkVHX0hJREUgICAg IDB4ZTENCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHAyc2Jfc3Bpbmxv Y2spOw0KPiA+ID4gKw0KPiA+ID4gKy8qDQo+ID4gPiArICogcDJzYl9iYXIgLSBHZXQgUHJpbWFy eSB0byBTaWRlYmFuZCBicmlkZ2UgKFAyU0IpIEJBUg0KPiA+ID4gKyAqIEBwZGV2OiAgICAgIFBD SSBkZXZpY2UgdG8gZ2V0IFBDSSBidXMgdG8gY29tbXVuaWNhdGUgd2l0aA0KPiA+ID4gKyAqIEBk ZXZmbjogICAgIFBDSSBkZXZpY2UgYW5kIGZ1bmN0aW9uIHRvIGNvbW11bmljYXRlIHdpdGgNCj4g PiA+ICsgKiBAcmVzOiAgICAgICByZXNvdXJjZXMgdG8gYmUgZmlsbGVkIGluDQo+ID4gPiArICoN Cj4gPiA+ICsgKiBUaGUgQklPUyBwcmV2ZW50cyB0aGUgUDJTQiBkZXZpY2UgZnJvbSBiZWluZyBl bnVtZXJhdGVkIGJ5IHRoZQ0KPiBQQ0kNCj4gPiA+ICsgKiBzdWJzeXN0ZW0sIHNvIHdlIG5lZWQg dG8gdW5oaWRlIGFuZCBoaWRlIGl0IGJhY2sgdG8gbG9va3VwIHRoZSBQMlNCDQo+ID4gQkFSLg0K PiA+ID4gKyAqDQo+ID4gPiArICogTG9ja2luZyBpcyBoYW5kbGVkIGJ5IHNwaW5sb2NrIC0gY2Fu bm90IHNsZWVwLg0KPiA+ID4gKyAqDQo+ID4gPiArICogUmV0dXJuOg0KPiA+ID4gKyAqIDAgb24g c3VjY2VzcyBvciBhcHByb3ByaWF0ZSBlcnJubyB2YWx1ZSBvbiBlcnJvci4NCj4gPiA+ICsgKi8N Cj4gPiA+ICtpbnQgcDJzYl9iYXIoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCBk ZXZmbiwNCj4gPiA+ICsgICAgICAgc3RydWN0IHJlc291cmNlICpyZXMpDQo+ID4gPiArew0KPiA+ ID4gKyAgICAgICB1MzIgYmFzZV9hZGRyOw0KPiA+ID4gKyAgICAgICB1NjQgYmFzZTY0X2FkZHI7 DQo+ID4gPiArICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ID4gPiArDQo+ID4gPiArICAg ICAgIGlmICghcmVzKQ0KPiA+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ ID4gKw0KPiA+ID4gKyAgICAgICBzcGluX2xvY2soJnAyc2Jfc3BpbmxvY2spOw0KPiA+ID4gKw0K PiA+ID4gKyAgICAgICAvKiBVbmhpZGUgdGhlIFAyU0IgZGV2aWNlICovDQo+ID4gPiArICAgICAg IHBjaV9idXNfd3JpdGVfY29uZmlnX2J5dGUocGRldi0+YnVzLCBkZXZmbiwgU0JSRUdfSElERSwg MHgwMCk7DQo+ID4gPiArDQo+ID4gPiArICAgICAgIC8qIENoZWNrIGlmIGRldmljZSBwcmVzZW50 ICovDQo+ID4gPiArICAgICAgIHBjaV9idXNfcmVhZF9jb25maWdfZHdvcmQocGRldi0+YnVzLCBk ZXZmbiwgMCwgJmJhc2VfYWRkcik7DQo+ID4gPiArICAgICAgIGlmIChiYXNlX2FkZHIgPT0gMHhm ZmZmZmZmZiB8fCBiYXNlX2FkZHIgPT0gMHgwMDAwMDAwMCkgew0KPiA+ID4gKyAgICAgICAgICAg ICAgIHNwaW5fdW5sb2NrKCZwMnNiX3NwaW5sb2NrKTsNCj4gPiA+ICsgICAgICAgICAgICAgICBk ZXZfd2FybigmcGRldi0+ZGV2LCAiUDJTQiBkZXZpY2UgYWNjZXNzIGRpc2FibGVkIGJ5DQo+ID4g QklPUz9cbiIpOw0KPiA+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PREVWOw0KPiA+ID4g KyAgICAgICB9DQo+ID4gPiArDQo+ID4gPiArICAgICAgIC8qIEdldCBJTyBvciBNTUlPIEJBUiAq Lw0KPiA+ID4gKyAgICAgICBwY2lfYnVzX3JlYWRfY29uZmlnX2R3b3JkKHBkZXYtPmJ1cywgZGV2 Zm4sIFNCUkVHX0JBUiwNCj4gPiAmYmFzZV9hZGRyKTsNCj4gPiA+ICsgICAgICAgaWYgKChiYXNl X2FkZHIgJiBQQ0lfQkFTRV9BRERSRVNTX1NQQUNFKSA9PQ0KPiA+IFBDSV9CQVNFX0FERFJFU1Nf U1BBQ0VfSU8pIHsNCj4gPiA+ICsgICAgICAgICAgICAgICBmbGFncyA9IElPUkVTT1VSQ0VfSU87 DQo+ID4gPiArICAgICAgICAgICAgICAgYmFzZTY0X2FkZHIgPSBiYXNlX2FkZHIgJiBQQ0lfQkFT RV9BRERSRVNTX0lPX01BU0s7DQo+ID4gPiArICAgICAgIH0gZWxzZSB7DQo+ID4gPiArICAgICAg ICAgICAgICAgZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsNCj4gPiA+ICsgICAgICAgICAgICAgICBi YXNlNjRfYWRkciA9IGJhc2VfYWRkciAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0s7DQo+ID4g PiArICAgICAgICAgICAgICAgaWYgKGJhc2VfYWRkciAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX1RZ UEVfNjQpIHsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzIHw9IElPUkVTT1VS Q0VfTUVNXzY0Ow0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcGNpX2J1c19yZWFkX2Nv bmZpZ19kd29yZChwZGV2LT5idXMsIGRldmZuLA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTQlJFR19CQVIgKyA0LCAmYmFzZV9hZGRyKTsNCj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIGJhc2U2NF9hZGRyIHw9ICh1NjQpYmFzZV9hZGRyIDw8IDMyOw0KPiA+ID4g KyAgICAgICAgICAgICAgIH0NCj4gPiA+ICsgICAgICAgfQ0KPiA+ID4gKw0KPiA+ID4gKyAgICAg ICAvKiBIaWRlIHRoZSBQMlNCIGRldmljZSAqLw0KPiA+ID4gKyAgICAgICBwY2lfYnVzX3dyaXRl X2NvbmZpZ19ieXRlKHBkZXYtPmJ1cywgZGV2Zm4sIFNCUkVHX0hJREUsIDB4MDEpOw0KPiA+ID4g Kw0KPiA+ID4gKyAgICAgICBzcGluX3VubG9jaygmcDJzYl9zcGlubG9jayk7DQo+ID4gPiArDQo+ ID4gPiArICAgICAgIC8qIFVzZXIgcHJvdmlkZXMgcHJlZmlsbGVkIHJlc291cmNlcyAqLw0KPiA+ ID4gKyAgICAgICByZXMtPnN0YXJ0ICs9IChyZXNvdXJjZV9zaXplX3QpYmFzZTY0X2FkZHI7DQo+ ID4gPiArICAgICAgIHJlcy0+ZW5kICs9IChyZXNvdXJjZV9zaXplX3QpYmFzZTY0X2FkZHI7DQo+ ID4gPiArICAgICAgIHJlcy0+ZmxhZ3MgPSBmbGFnczsNCj4gPiA+ICsNCj4gPiA+ICsgICAgICAg cmV0dXJuIDA7DQo+ID4gPiArfQ0KPiA+ID4gK0VYUE9SVF9TWU1CT0wocDJzYl9iYXIpOw0KPiA+ ID4gKw0KPiA+ID4gK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsNCj4gPg0KPiA+IC4uLnRoZSBhYm92 ZSBpcyB0aGUgb25seSBtb2R1bGFyICJ1c2UiIHRoYXQgSSBjYW4gZmluZC4gIFNvIGlzIHRoZQ0K PiA+IHRyaXN0YXRlIGJvZ3VzPyAgIFdpdGhvdXQgYSBtb2R1bGVfaW5pdCBhbmQgYSBtb2R1bGVf ZXhpdCBJIGFtDQo+ID4gY29uZnVzZWQuLi4uDQo+ID4NCj4gPiBJIGp1c3QgZmluaXNoZWQgYW4g YXVkaXQgb2YgYXJjaC94ODYgZm9yIGJvZ3VzIHVzZXMgb2YgbW9kdWxlLmggc28gSSdkIGxpa2Ug dG8NCj4gPiBlbnN1cmUgd2UgZG9uJ3QgYWRkIG1vcmUuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4g UGF1bC4NCj4gPiAtLQ0KPiA+DQo+IFAyU0IgY291bGQgYmUgImJvb2wiIGluc3RlYWQgb2YgdHJp c3RhdGUuDQo+IE15IGNvbmNlcm4gaXMgaWYgTFBDX0lDSCBidWlsdCBhcyBtb2R1bGUgYW5kIG5v dCBsb2FkZWQsIFAyU0IgbWlnaHQNCj4gY29uc3VtZSBtZW1vcnkgd2hlbiBQMlNCIGlzIG5vdCBi ZWluZyB1c2VkLg0KV2hhdCBJIG1lYW50IHRvIHNheSBpcywgd2hlbiBMUENfSUNIIGlzIGJ1aWx0 IGJ1dCBub3QgdXNlIGJ5IHRoZSBjdXJyZW50DQpoYXJkd2FyZSwgdGhlIFAyU0IgY29tcGlsZWQg Y29kZSB3aWxsIG9jY3VweSBtZW1vcnkgYW5kIGNhbm5vdCBiZQ0KdW5sb2FkZWQgZXZlbiBpZiBp dCBpcyBub3QgaW4gdXNlLiBJZiBtZW1vcnkgdXNhZ2UgaXMgbm90IHRoZSBjb25jZXJuLCBJIHdp bGwNCnJld29yayB0aGlzIHBhdGNoIHRvIHVzZSBCb29sZWFuIG9wdGlvbi4NCj4gV2hhdCBkbyB5 b3UgdGhpbms/IElmIHRoYXQncyBvayBmb3IgeW91LCBteSBuZXh0IHBhdGNoIHdpbGwgYmUgc29t ZXRoaW5nIGxpa2UNCj4gdGhpczoNCj4gLi4uDQo+IGNvbmZpZyBQMlNCDQo+IAlib29sDQo+IAlk ZXBlbmRzIG9uIFBDSQ0KPiAuLi4NCj4gSW4gcDJzYi5jLCBtb2R1bGUuaCBoZWFkZXIgZmlsZSB3 aWxsIGJlIHJlbW92ZWQgYXMgd2VsbC4NCj4gSGkgQW5keSwgcGxlYXNlIHByb3ZpZGUgeW91ciBj b21tZW50cyBhbmQvb3IgY29uY2VybnMgaWYgYW55LiBUaGFua3MuDQo+ID4gPiAtLQ0KPiA+ID4g MS45LjENCj4gPiA+DQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751607AbcGRFvQ (ORCPT ); Mon, 18 Jul 2016 01:51:16 -0400 Received: from mga14.intel.com ([192.55.52.115]:27292 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750973AbcGRFvN (ORCPT ); Mon, 18 Jul 2016 01:51:13 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,382,1464678000"; d="scan'208";a="848147257" From: "Tan, Jui Nee" To: "Gortmaker, Paul (Wind River)" , "andriy.shevchenko@linux.intel.com" CC: "mika.westerberg@linux.intel.com" , "heikki.krogerus@linux.intel.com" , "tglx@linutronix.de" , "mingo@redhat.com" , "H. Peter Anvin" , X86 ML , "ptyser@xes-inc.com" , Lee Jones , Linus Walleij , "linux-gpio@vger.kernel.org" , LKML , "Yong, Jonathan" , "Yu, Ong Hock" , "Voon, Weifeng" , "Wan Mohamad, Wan Ahmad Zainie" Subject: RE: [PATCH v6 1/3] x86/platform/p2sb: New Primary to Sideband bridge support driver for Intel SOC's Thread-Topic: [PATCH v6 1/3] x86/platform/p2sb: New Primary to Sideband bridge support driver for Intel SOC's Thread-Index: AQHR3ad5+xYKcWB/M0C96d5YMVIB/6AYFoSAgAVim+CAADspMA== Date: Mon, 18 Jul 2016 05:51:05 +0000 Message-ID: <0158A29DB680F54A88142ED28D55B1D00826E8F4@PGSMSX107.gar.corp.intel.com> References: <1468483919-31258-1-git-send-email-jui.nee.tan@intel.com> <1468483919-31258-2-git-send-email-jui.nee.tan@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTllYjAyYmYtNmFlMy00NDUwLTg4N2YtZjkyYmYzZTM4MTAxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IkZPdVh3OGtCZExEZTdXT2g0ZTg4ZEdCWHZMV0pTWlNQTXFvcnNMZTZuRVE9In0= x-ctpclassification: CTP_IC x-originating-ip: [172.30.20.205] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 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 mail.home.local id u6I5pL1R006855 > -----Original Message----- > From: Tan, Jui Nee > Sent: Monday, July 18, 2016 11:35 AM > To: 'Paul Gortmaker' ; > andriy.shevchenko@linux.intel.com > Cc: mika.westerberg@linux.intel.com; heikki.krogerus@linux.intel.com; > tglx@linutronix.de; mingo@redhat.com; H. Peter Anvin ; > X86 ML ; ptyser@xes-inc.com; Lee Jones > ; Linus Walleij ; linux- > gpio@vger.kernel.org; LKML ; Yong, > Jonathan ; Yu, Ong Hock > ; Voon, Weifeng ; Wan > Mohamad, Wan Ahmad Zainie > > Subject: RE: [PATCH v6 1/3] x86/platform/p2sb: New Primary to Sideband > bridge support driver for Intel SOC's > > > > > -----Original Message----- > > From: paul.gortmaker@gmail.com [mailto:paul.gortmaker@gmail.com] On > > Behalf Of Paul Gortmaker > > Sent: Friday, July 15, 2016 8:01 AM > > To: Tan, Jui Nee > > Cc: mika.westerberg@linux.intel.com; heikki.krogerus@linux.intel.com; > > andriy.shevchenko@linux.intel.com; tglx@linutronix.de; > > mingo@redhat.com; H. Peter Anvin ; X86 ML > > ; ptyser@xes-inc.com; Lee Jones > ; > > Linus Walleij ; linux-gpio@vger.kernel.org; LKML > > ; Yong, Jonathan > > ; Yu, Ong Hock ; > Voon, > > Weifeng ; Wan Mohamad, Wan Ahmad Zainie > > > > Subject: Re: [PATCH v6 1/3] x86/platform/p2sb: New Primary to Sideband > > bridge support driver for Intel SOC's > > > > On Thu, Jul 14, 2016 at 4:11 AM, Tan Jui Nee > wrote: > > > From: Andy Shevchenko > > > > > > There is already one and at least one more user coming which require > > > an access to Primary to Sideband bridge (P2SB) in order to get IO or > > > MMIO bar hidden by BIOS. > > > Create a driver to access P2SB for x86 devices. > > > > > > Signed-off-by: Yong, Jonathan > > > Signed-off-by: Andy Shevchenko > > > --- > > > Changes in V6: > > > - No change > > > > > > Changes in V5: > > > - No change > > > > > > Changes in V4: > > > - Move Kconfig option CONFIG_X86_INTEL_NON_ACPI from > > > [PATCH 2/3] x86/platform/p2sb: New Primary to Sideband bridge > > support driver for Intel SOC's > > > to > > > [PATCH 3/3] mfd: lpc_ich: Add support for Intel Apollo Lake GPIO > > pinctrl in non-ACPI system > > > since the config is used in latter patch. > > > > > > Changes in V3: > > > - No change > > > > > > Changes in V2: > > > - Add new config option CONFIG_X86_INTEL_NON_ACPI and "select > > PINCTRL" > > > to fix kbuildbot error > > > > > > arch/x86/Kconfig | 4 ++ > > > arch/x86/include/asm/p2sb.h | 27 +++++++++++ > > > arch/x86/platform/intel/Makefile | 1 + > > > arch/x86/platform/intel/p2sb.c | 99 > > ++++++++++++++++++++++++++++++++++++++++ > > > 4 files changed, 131 insertions(+) > > > create mode 100644 arch/x86/include/asm/p2sb.h create mode 100644 > > > arch/x86/platform/intel/p2sb.c > > > > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index > > > d9a94da..d305d81 100644 > > > --- a/arch/x86/Kconfig > > > +++ b/arch/x86/Kconfig > > > @@ -604,6 +604,10 @@ config IOSF_MBI_DEBUG > > > > > > If you don't require the option or are in doubt, say N. > > > > > > +config P2SB > > > + tristate > > > > OK, this is tristate, but then.... > > > P2SB is tristate as currently it is only used by LPC_ICH that is tristate too. > ... > config LPC_ICH > tristate "Intel ICH LPC" > depends on X86 && PCI > select MFD_CORE > select P2SB > ... > > > + depends on PCI > > > + > > > config X86_RDC321X > > > bool "RDC R-321x SoC" > > > depends on X86_32 > > > diff --git a/arch/x86/include/asm/p2sb.h b/arch/x86/include/asm/p2sb.h > > > new file mode 100644 index 0000000..686e07b > > > --- /dev/null > > > +++ b/arch/x86/include/asm/p2sb.h > > > @@ -0,0 +1,27 @@ > > > +/* > > > + * Primary to Sideband bridge (P2SB) access support */ > > > + > > > +#ifndef P2SB_SYMS_H > > > +#define P2SB_SYMS_H > > > + > > > +#include > > > +#include > > > + > > > +#if IS_ENABLED(CONFIG_P2SB) > > > + > > > +int p2sb_bar(struct pci_dev *pdev, unsigned int devfn, > > > + struct resource *res); > > > + > > > +#else /* CONFIG_P2SB is not set */ > > > + > > > +static inline > > > +int p2sb_bar(struct pci_dev *pdev, unsigned int devfn, > > > + struct resource *res) > > > +{ > > > + return -ENODEV; > > > +} > > > + > > > +#endif /* CONFIG_P2SB */ > > > + > > > +#endif /* P2SB_SYMS_H */ > > > diff --git a/arch/x86/platform/intel/Makefile > > > b/arch/x86/platform/intel/Makefile > > > index b878032..dbf9f10 100644 > > > --- a/arch/x86/platform/intel/Makefile > > > +++ b/arch/x86/platform/intel/Makefile > > > @@ -1 +1,2 @@ > > > obj-$(CONFIG_IOSF_MBI) += iosf_mbi.o > > > +obj-$(CONFIG_P2SB) += p2sb.o > > > diff --git a/arch/x86/platform/intel/p2sb.c > > > b/arch/x86/platform/intel/p2sb.c new file mode 100644 index > > > 0000000..8be47a4 > > > --- /dev/null > > > +++ b/arch/x86/platform/intel/p2sb.c > > > @@ -0,0 +1,99 @@ > > > +/* > > > + * Primary to Sideband bridge (P2SB) driver > > > + * > > > + * Copyright (c) 2016, Intel Corporation. > > > + * > > > + * Authors: Andy Shevchenko > > > + * Jonathan Yong > > > + * > > > + * This program is free software; you can redistribute it and/or > > > +modify it > > > + * under the terms and conditions of the GNU General Public License, > > > + * version 2, as published by the Free Software Foundation. > > > + * > > > + * This program is distributed in the hope it will be useful, but > > > +WITHOUT > > > + * ANY WARRANTY; without even the implied warranty of > > MERCHANTABILITY > > > +or > > > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public > > > +License for > > > + * more details. > > > + * > > > + */ > > > + > > > +#include > > > +#include > > > > ...and module.h is included, but yet... > > > > > +#include > > > +#include > > > + > > > +#include > > > + > > > +#define SBREG_BAR 0x10 > > > +#define SBREG_HIDE 0xe1 > > > + > > > +static DEFINE_SPINLOCK(p2sb_spinlock); > > > + > > > +/* > > > + * p2sb_bar - Get Primary to Sideband bridge (P2SB) BAR > > > + * @pdev: PCI device to get PCI bus to communicate with > > > + * @devfn: PCI device and function to communicate with > > > + * @res: resources to be filled in > > > + * > > > + * The BIOS prevents the P2SB device from being enumerated by the > PCI > > > + * subsystem, so we need to unhide and hide it back to lookup the P2SB > > BAR. > > > + * > > > + * Locking is handled by spinlock - cannot sleep. > > > + * > > > + * Return: > > > + * 0 on success or appropriate errno value on error. > > > + */ > > > +int p2sb_bar(struct pci_dev *pdev, unsigned int devfn, > > > + struct resource *res) > > > +{ > > > + u32 base_addr; > > > + u64 base64_addr; > > > + unsigned long flags; > > > + > > > + if (!res) > > > + return -EINVAL; > > > + > > > + spin_lock(&p2sb_spinlock); > > > + > > > + /* Unhide the P2SB device */ > > > + pci_bus_write_config_byte(pdev->bus, devfn, SBREG_HIDE, 0x00); > > > + > > > + /* Check if device present */ > > > + pci_bus_read_config_dword(pdev->bus, devfn, 0, &base_addr); > > > + if (base_addr == 0xffffffff || base_addr == 0x00000000) { > > > + spin_unlock(&p2sb_spinlock); > > > + dev_warn(&pdev->dev, "P2SB device access disabled by > > BIOS?\n"); > > > + return -ENODEV; > > > + } > > > + > > > + /* Get IO or MMIO BAR */ > > > + pci_bus_read_config_dword(pdev->bus, devfn, SBREG_BAR, > > &base_addr); > > > + if ((base_addr & PCI_BASE_ADDRESS_SPACE) == > > PCI_BASE_ADDRESS_SPACE_IO) { > > > + flags = IORESOURCE_IO; > > > + base64_addr = base_addr & PCI_BASE_ADDRESS_IO_MASK; > > > + } else { > > > + flags = IORESOURCE_MEM; > > > + base64_addr = base_addr & PCI_BASE_ADDRESS_MEM_MASK; > > > + if (base_addr & PCI_BASE_ADDRESS_MEM_TYPE_64) { > > > + flags |= IORESOURCE_MEM_64; > > > + pci_bus_read_config_dword(pdev->bus, devfn, > > > + SBREG_BAR + 4, &base_addr); > > > + base64_addr |= (u64)base_addr << 32; > > > + } > > > + } > > > + > > > + /* Hide the P2SB device */ > > > + pci_bus_write_config_byte(pdev->bus, devfn, SBREG_HIDE, 0x01); > > > + > > > + spin_unlock(&p2sb_spinlock); > > > + > > > + /* User provides prefilled resources */ > > > + res->start += (resource_size_t)base64_addr; > > > + res->end += (resource_size_t)base64_addr; > > > + res->flags = flags; > > > + > > > + return 0; > > > +} > > > +EXPORT_SYMBOL(p2sb_bar); > > > + > > > +MODULE_LICENSE("GPL"); > > > > ...the above is the only modular "use" that I can find. So is the > > tristate bogus? Without a module_init and a module_exit I am > > confused.... > > > > I just finished an audit of arch/x86 for bogus uses of module.h so I'd like to > > ensure we don't add more. > > > > Thanks, > > Paul. > > -- > > > P2SB could be "bool" instead of tristate. > My concern is if LPC_ICH built as module and not loaded, P2SB might > consume memory when P2SB is not being used. What I meant to say is, when LPC_ICH is built but not use by the current hardware, the P2SB compiled code will occupy memory and cannot be unloaded even if it is not in use. If memory usage is not the concern, I will rework this patch to use Boolean option. > What do you think? If that's ok for you, my next patch will be something like > this: > ... > config P2SB > bool > depends on PCI > ... > In p2sb.c, module.h header file will be removed as well. > Hi Andy, please provide your comments and/or concerns if any. Thanks. > > > -- > > > 1.9.1 > > >