RE: [PATCH V5 3/3] powerpc/fsl-pci: Unify pci/pcie initialization code
flat view
From: Jia Hongtao-B38951 <hidden>
Date: 2012-08-07 08:09:52
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV29vZCBTY290dC1CMDc0 MjENCj4gU2VudDogTW9uZGF5LCBBdWd1c3QgMDYsIDIwMTIgMTE6MTAgUE0NCj4gVG86IEppYSBI b25ndGFvLUIzODk1MQ0KPiBDYzogV29vZCBTY290dC1CMDc0MjE7IGxpbnV4cHBjLWRldkBsaXN0 cy5vemxhYnMub3JnOw0KPiBnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnOyBMaSBZYW5nLVI1ODQ3 Mg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIFY1IDMvM10gcG93ZXJwYy9mc2wtcGNpOiBVbmlmeSBw Y2kvcGNpZQ0KPiBpbml0aWFsaXphdGlvbiBjb2RlDQo+IA0KPiBPbiAwOC8wNS8yMDEyIDEwOjA3 IFBNLCBKaWEgSG9uZ3Rhby1CMzg5NTEgd3JvdGU6DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBXb29kIFNjb3R0LUIwNzQyMQ0KPiA+PiBTZW50 OiBTYXR1cmRheSwgQXVndXN0IDA0LCAyMDEyIDEyOjI4IEFNDQo+ID4+IFRvOiBKaWEgSG9uZ3Rh by1CMzg5NTENCj4gPj4gQ2M6IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnOyBnYWxha0Br ZXJuZWwuY3Jhc2hpbmcub3JnOyBMaQ0KPiA+PiBZYW5nLSBSNTg0NzI7IFdvb2QgU2NvdHQtQjA3 NDIxDQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggVjUgMy8zXSBwb3dlcnBjL2ZzbC1wY2k6IFVu aWZ5IHBjaS9wY2llDQo+ID4+IGluaXRpYWxpemF0aW9uIGNvZGUNCj4gPj4NCj4gPj4gT24gMDgv MDMvMjAxMiAwNToxNCBBTSwgSmlhIEhvbmd0YW8gd3JvdGU6DQo+ID4+PiAtdm9pZCBfX2Rldmlu aXQgZnNsX3BjaV9pbml0KHZvaWQpDQo+ID4+PiArLyogQ2hlY2tvdXQgaWYgUENJIGNvbnRhaW5z IElTQSBub2RlICovIHN0YXRpYyBpbnQNCj4gPj4+ICtvZl9wY2lfaGFzX2lzYShzdHJ1Y3QgZGV2 aWNlX25vZGUgKnBjaV9ub2RlKSB7DQo+ID4+PiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnA7DQo+ ID4+PiArCWludCByZXQgPSAwOw0KPiA+Pj4gKw0KPiA+Pj4gKwlpZiAoIXBjaV9ub2RlKQ0KPiA+ Pj4gKwkJcmV0dXJuIDA7DQo+ID4+PiArDQo+ID4+PiArCXJlYWRfbG9jaygmZGV2dHJlZV9sb2Nr KTsNCj4gPj4+ICsJbnAgPSBwY2lfbm9kZS0+YWxsbmV4dDsNCj4gPj4+ICsNCj4gPj4+ICsJLyog T25seSBzY2FuIHRoZSBjaGlsZHJlbiBvZiBQQ0kgbm9kZSAqLw0KPiA+Pj4gKwlmb3IgKDsgbnAg IT0gcGNpX25vZGUtPnNpYmxpbmc7IG5wID0gbnAtPmFsbG5leHQpIHsNCj4gPj4+ICsJCWlmIChu cC0+dHlwZSAmJiAob2Zfbm9kZV9jbXAobnAtPnR5cGUsICJpc2EiKSA9PSAwKQ0KPiA+Pj4gKwkJ ICAgICYmIG9mX25vZGVfZ2V0KG5wKSkgew0KPiA+Pj4gKwkJCXJldCA9IDE7DQo+ID4+PiArCQkJ YnJlYWs7DQo+ID4+PiArCQl9DQo+ID4+PiArCX0NCj4gPj4+ICsNCj4gPj4+ICsJb2Zfbm9kZV9w dXQocGNpX25vZGUpOw0KPiA+Pj4gKwlyZWFkX3VubG9jaygmZGV2dHJlZV9sb2NrKTsNCj4gPj4+ ICsNCj4gPj4+ICsJcmV0dXJuIHJldDsNCj4gPj4+ICt9DQo+ID4+DQo+ID4+IFdoeSBkbyB5b3Ug a2VlcCBpbnNpc3Rpbmcgb24gc3Vic3RpdHV0aW5nIHlvdXIgSVNBIHNlYXJjaCBjb2RlIGhlcmU/ DQo+ID4+IFdoYXQgYWR2YW50YWdlcyBkb2VzIGl0IGhhdmUgb3ZlciB0aGUgY29kZSB0aGF0IGlz IGFscmVhZHkgdGhlcmU/ICBJdA0KPiA+PiB1bm5lY2Vzc2FyaWx5IGRpZ3MgaW50byB0aGUgaW50 ZXJuYWxzIG9mIHRoZSB0cmVlIHJlcHJlc2VudGF0aW9uLg0KPiA+Pg0KPiA+DQo+ID4gSSB3YW50 IElTQSBzZWFyY2ggaXMgZG9uZSBmcm9tIHByb2JlLg0KPiANCj4gVG9vIGJhZC4gIFlvdSdyZSBi cmVha2luZyB0aGUgY2FzZSB3aGVyZSB0aGVyZSdzIG5vIElTQSBub2RlLg0KPiANCj4gPiBBbHNv IHRoaXMgd2F5IGlzIG1vcmUgZWZmaWNpZW50IGR1ZQ0KPiA+IHRvIHdlIGp1c3Qgc2VhcmNoIHRo ZSBjaGlsZHJlbiBvZiBQQ0kuDQo+IA0KPiBJdCBpcyBub3QgbW9yZSBlZmZpY2llbnQsIGJlY2F1 c2UgeW91J3JlIGRvaW5nIHRoZSBzZWFyY2ggZm9yIGV2ZXJ5IFBDSWUNCj4gYnVzIHJhdGhlciB0 aGFuIG9uY2UuICBOb3QgdGhhdCBpdCBtYXR0ZXJzIGluIHRoaXMgY29udGV4dC4NCj4gDQo+ID4+ PiArDQo+ID4+PiArc3RhdGljIGludCBfX2RldmluaXQgZnNsX3BjaV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+Pj4gIHsNCj4gPj4+ICAJaW50IHJldDsNCj4gPj4+IC0J c3RydWN0IGRldmljZV9ub2RlICpub2RlOw0KPiA+Pj4gIAlzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIg Kmhvc2U7DQo+ID4+PiAtCWRtYV9hZGRyX3QgbWF4ID0gMHhmZmZmZmZmZjsNCj4gPj4+ICsJaW50 IGlzX3ByaW1hcnkgPSAwOw0KPiA+Pj4NCj4gPj4+IC0JLyogQ2FsbGVycyBjYW4gc3BlY2lmeSB0 aGUgcHJpbWFyeSBidXMgdXNpbmcgb3RoZXIgbWVhbnMuICovDQo+ID4+PiAgCWlmICghZnNsX3Bj aV9wcmltYXJ5KSB7DQo+ID4+PiAtCQkvKiBJZiBhIFBDSSBob3N0IGJyaWRnZSBjb250YWlucyBh biBJU0Egbm9kZSwgaXQncyBwcmltYXJ5Lg0KPiA+PiAqLw0KPiA+Pj4gLQkJbm9kZSA9IG9mX2Zp bmRfbm9kZV9ieV90eXBlKE5VTEwsICJpc2EiKTsNCj4gPj4+IC0JCXdoaWxlICgoZnNsX3BjaV9w cmltYXJ5ID0gb2ZfZ2V0X3BhcmVudChub2RlKSkpIHsNCj4gPj4+IC0JCQlvZl9ub2RlX3B1dChu b2RlKTsNCj4gPj4+IC0JCQlub2RlID0gZnNsX3BjaV9wcmltYXJ5Ow0KPiA+Pj4gLQ0KPiA+Pj4g LQkJCWlmIChvZl9tYXRjaF9ub2RlKHBjaV9pZHMsIG5vZGUpKQ0KPiA+Pj4gLQkJCQlicmVhazsN Cj4gPj4+IC0JCX0NCj4gPj4+ICsJCWlzX3ByaW1hcnkgPSBvZl9wY2lfaGFzX2lzYShwZGV2LT5k ZXYub2Zfbm9kZSk7DQo+ID4+PiArCQlpZiAoaXNfcHJpbWFyeSkNCj4gPj4+ICsJCQlmc2xfcGNp X3ByaW1hcnkgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCj4gPj4+ICAJfQ0KPiA+Pg0KPiA+PiBBcyBJ IGV4cGxhaW5lZCBiZWZvcmUsIHRoaXMgaGFzIHRvIGJlIGRvbmUgZ2xvYmFsbHksIG5vdCBmcm9t IHRoZQ0KPiA+PiBwcm9iZSBmdW5jdGlvbiwgc28gd2UgY2FuIGFzc2lnbiBhIGRlZmF1bHQgcHJp bWFyeSBidXMgaWYgdGhlcmUgaXNuJ3QNCj4gYW55IElTQS4NCj4gPj4gIFRoZXJlIGFyZSBidWdz IGluIHRoZSBMaW51eCBQUEMgUENJIGNvZGUgcmVsYXRpbmcgdG8gbm90IGhhdmluZyBhbnkNCj4g Pj4gcHJpbWFyeSBidXMuDQo+ID4+DQo+ID4+IC1TY290dA0KPiA+DQo+ID4gSW4gbXkgd2F5IG9m IHNlYXJjaGluZyBJU0EgeW91IGNhbiBhbHNvIGFzc2lnbiBhIGRlZmF1bHQgcHJpbWFyeSBidXMN Cj4gPiBpbiBib2FyZCBzcGVjaWZpYyBmaWxlcy4NCj4gDQo+IFRoYXQgd2FzIG1lYW50IGZvciB3 aGVuIHRoZSBib2FyZCBmaWxlIGhhZCBhbiBhbHRlcm5hdGUgd2F5IG9mIHNlYXJjaGluZw0KPiBm b3IgdGhlIHByaW1hcnkgYnVzIChlLmcuIGxvb2sgZm9yIGk4MjU5KSwgbm90IGFzIGEgcmVwbGFj ZW1lbnQgZm9yIHRoZQ0KPiBtZWNoYW5pc20gdGhhdCBndWFyYW50ZWVzIHRoZXJlJ3MgYSBwcmlt YXJ5IGJ1cy4NCj4gDQo+IFlvdSBhcmUgY2F1c2luZyBhIHJlZ3Jlc3Npb24gaW4gdGhlIHFlbXVf ZTUwMC5jIHBsYXRmb3JtLg0KPiANCj4gPiBJIHJlYWQgeW91ciBjb2RlIGFuZCBmb3VuZCB0aGF0 IGlmIHRoZXJlIGlzIG5vIElTQSBub2RlIHlvdSB3aWxsDQo+ID4gYXNzaWduIHRoZSBmaXJzdCBQ Q0kgYnVzIHNjYW5uZWQgYXMgcHJpbWFyeS4gSXQncyBub3QgYWxsIHJpZ2h0LiBUYWtlDQo+ID4g Z2VfaW1wM2EgYXMgYW4NCj4gPiBleGFtcGxlOiBUaGUgc2Vjb25kIFBDSSBidXMgKDkwMDApIGlz IHByaW1hcnkgbm90IHRoZSBmaXJzdCBvbmUuDQo+IA0KPiBEb2VzIHRoYXQgYm9hcmQgaGF2ZSBJ U0Egb24gaXQsIHRoYXQgaXNuJ3QgZGVzY3JpYmVkIGJ5IHRoZSBkZXZpY2UgdHJlZT8NCj4gIElm IHNvLCBiZWZvcmUgY29udmVydGluZyB0byB0aGUgbmV3IGluaXQgbWVjaGFuaXNtLCB0aGUgYm9h cmQgY29kZSB3aWxsDQo+IG5lZWQgdG8gc2V0IGZzbF9wY2lfcHJpbWFyeSBiYXNlZCBvbiBpdHMg b3duIGtub3dsZWRnZSBvZiB3aGVyZSB0aGF0IElTQQ0KPiBpcy4gIElmIGl0IGRvZXNuJ3QgaGF2 ZSBJU0EsIGl0IGRvZXNuJ3QgbWF0dGVyIHdoaWNoIG9uZSB3ZSBkZXNpZ25hdGUgYXMNCj4gcHJp bWFyeS4NCj4gDQo+ID4gSSBkb3VidCB0aGF0IHRoZXJlIGFyZSBidWdzIGlmIG5vIHByaW1hcnkg YXNzaWduZWQuDQo+IA0KPiBZZWFoLCBJIGp1c3QgaW1wbGVtZW50ZWQgdGhlIGZhbGxiYWNrIGZv ciBmdW4uICBDb21lIG9uLg0KPiANCj4gSXQgd2FzIHJlY2VudGx5IGRpc2N1c3NlZCBvbiB0aGlz IGxpc3QuICBQQ0kgdW5kZXIgUUVNVSBkaWQgbm90IHdvcmsNCj4gd2l0aG91dCBpdC4NCj4gDQo+ ID4gTGlrZSBtcGM4NXh4X3JkYiBhc3NpZ25lZA0KPiA+IG5vIHByaW1hcnkgYXQgYWxsLiBTb21l IG90aGVyIGJvYXJkcyBoYXMgbm8gcHJpbWFyeSBldGhlciBsaWtlDQo+ID4gcDEwMjJkcywgcDEw MjFtZHMsIHAxMDEwcmRiLCBwMTAyM3JkcywgYWxsIGNvcmVuZXQgYm9hcmRzIChwMjA0MV9yZGIs DQo+ID4gcDMwNDFfZHMsIHA0MDgwX2RzLCBwNTAyMF9kcywgcDUwNDBfZHMpLiBJZiBubyBwcmlt YXJ5IGlzIGEgYnVnIHRoZW4NCj4gPiBhbGwgdGhlc2UgYm9hcmRzIGFib3ZlIGFyZSBub3QgY29y cmVjdGx5IHNldHRpbmcgdXAuDQo+IA0KPiBUaG9zZSBib2FyZHMgYXJlIG5vdCBiZWluZyBjb3Jy ZWN0bHkgc2V0IHVwLiAgT24gcmVhbCBoYXJkd2FyZSB0aGluZ3MNCj4gd29yayBieSBjaGFuY2Us IGJ1dCBub3QgdW5kZXIgUUVNVS4NCj4gDQo+IC1TY290dA0KDQpJIGFtIHJlYWxseSBub3Qgc3Vy ZSB0aGF0IGFsbCBib2FyZHMgbmVlZCBwcmltYXJ5IGJ1cy4gQ291bGQgeW91IGdpdmUgbWUNCnRo ZSBsaW5rIG9mIGRpc2N1c3Npb24gYWJvdXQgcHJpbWFyeSB0aGF0IHlvdSBtZW50aW9uZWQ/DQoN Ci1Ib25ndGFvLg0KDQo=