From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yinghai Lu Subject: Re: [PATCH v8 10/30] PCI: Introduce pci_host_bridge_list to manage host bridges Date: Thu, 26 Mar 2015 09:31:58 -0700 Message-ID: References: <1427168064-8657-1-git-send-email-wangyijing@huawei.com> <1427168064-8657-11-git-send-email-wangyijing@huawei.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a1141bd0003d5b10512338ecf Return-path: In-Reply-To: <1427168064-8657-11-git-send-email-wangyijing@huawei.com> Sender: linux-m68k-owner@vger.kernel.org List-Id: linux-m68k@vger.kernel.org To: Yijing Wang Cc: Bjorn Helgaas , Jiang Liu , "linux-pci@vger.kernel.org" , Linux Kernel Mailing List , Marc Zyngier , "linux-arm-kernel@lists.infradead.org" , Russell King , the arch/x86 maintainers , Thomas Gleixner , Benjamin Herrenschmidt , Rusty Russell , Tony Luck , "linux-ia64@vger.kernel.org" , "David S. Miller" , Guan Xuetao , linux-alpha@vger.kernel.org, linux-m68k@lists.linux-m68k.org, Liviu Dudau , Arnd Bergmann , Geert Uytterhoeven --001a1141bd0003d5b10512338ecf Content-Type: text/plain; charset=UTF-8 On Mon, Mar 23, 2015 at 8:34 PM, Yijing Wang wrote: > Introduce pci_host_bridge_list to manage pci host > bridges in system, this make us have the ability > to check whether the new host would conflict with > existing one. Then we could remove bus alreay exist > check in __pci_create_root_bus(). Can we use bus_type instead? Then we can use bus_find_device for the host_bridge enumeration. Please refer the patches that I sent out couple years ago. Thanks Yinghai --001a1141bd0003d5b10512338ecf Content-Type: text/x-patch; charset=US-ASCII; name="pci_host_bridge_bus_type_1.patch" Content-Disposition: attachment; filename="pci_host_bridge_bus_type_1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7qdkrxn0 U3ViamVjdDogW1BBVENIXSBQQ0k6IEFkZCBkdW1teSBidXNfdHlwZSBmb3IgcGNpX2hvc3RfYnJp ZGdlCgpOZWVkIHRvIHVzZSBpdCBmb3IgbG9vcGluZyByZWdpc3RlcmVkIGhvc3RfYnJpZGdlcywg YW5kIGtpbGwKcGNpX3Jvb3RfYnVzZXMgbGlzdCBsYXRlci4KClNpZ25lZC1vZmYtYnk6IFlpbmdo YWkgTHUgPHlpbmdoYWlAa2VybmVsLm9yZz4KCi0tLQogZHJpdmVycy9wY2kvcGNpLWRyaXZlci5j IHwgICAxMCArKysrKysrKysrCiBkcml2ZXJzL3BjaS9wcm9iZS5jICAgICAgfCAgICAxICsKIGlu Y2x1ZGUvbGludXgvcGNpLmggICAgICB8ICAgIDIgKysKIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5z ZXJ0aW9ucygrKQoKSW5kZXg6IGxpbnV4LTIuNi9pbmNsdWRlL2xpbnV4L3BjaS5oCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGxpbnV4LTIuNi5vcmlnL2luY2x1ZGUvbGludXgvcGNpLmgKKysrIGxpbnV4LTIuNi9p bmNsdWRlL2xpbnV4L3BjaS5oCkBAIC03MzUsNiArNzM1LDcgQEAgZW51bSBwY2llX2J1c19jb25m aWdfdHlwZXMgewogCiBleHRlcm4gZW51bSBwY2llX2J1c19jb25maWdfdHlwZXMgcGNpZV9idXNf Y29uZmlnOwogCitleHRlcm4gc3RydWN0IGJ1c190eXBlIHBjaV9ob3N0X2JyaWRnZV9idXNfdHlw ZTsKIGV4dGVybiBzdHJ1Y3QgYnVzX3R5cGUgcGNpX2J1c190eXBlOwogCiAvKiBEbyBOT1QgZGly ZWN0bHkgYWNjZXNzIHRoZXNlIHR3byB2YXJpYWJsZXMsIHVubGVzcyB5b3UgYXJlIGFyY2gtc3Bl Y2lmaWMgUENJCkBAIC04MDgsNiArODA5LDcgQEAgdm9pZCBwY2lfc3RvcF9yb290X2J1cyhzdHJ1 Y3QgcGNpX2J1cyAqYgogdm9pZCBwY2lfcmVtb3ZlX3Jvb3RfYnVzKHN0cnVjdCBwY2lfYnVzICpi dXMpOwogdm9pZCBwY2lfc2V0dXBfY2FyZGJ1cyhzdHJ1Y3QgcGNpX2J1cyAqYnVzKTsKIHZvaWQg cGNpX3NvcnRfYnJlYWR0aGZpcnN0KHZvaWQpOworI2RlZmluZSBkZXZfaXNfcGNpX2hvc3RfYnJp ZGdlKGQpICgoZCktPmJ1cyA9PSAmcGNpX2hvc3RfYnJpZGdlX2J1c190eXBlKQogI2RlZmluZSBk ZXZfaXNfcGNpKGQpICgoZCktPmJ1cyA9PSAmcGNpX2J1c190eXBlKQogI2RlZmluZSBkZXZfaXNf cGYoZCkgKChkZXZfaXNfcGNpKGQpID8gdG9fcGNpX2RldihkKS0+aXNfcGh5c2ZuIDogZmFsc2Up KQogI2RlZmluZSBkZXZfbnVtX3ZmKGQpICgoZGV2X2lzX3BjaShkKSA/IHBjaV9udW1fdmYodG9f cGNpX2RldihkKSkgOiAwKSkKSW5kZXg6IGxpbnV4LTIuNi9kcml2ZXJzL3BjaS9wY2ktZHJpdmVy LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gbGludXgtMi42Lm9yaWcvZHJpdmVycy9wY2kvcGNpLWRyaXZlci5j CisrKyBsaW51eC0yLjYvZHJpdmVycy9wY2kvcGNpLWRyaXZlci5jCkBAIC0xNDA4LDYgKzE0MDgs MTYgQEAgc3RydWN0IGJ1c190eXBlIHBjaV9idXNfdHlwZSA9IHsKIH07CiBFWFBPUlRfU1lNQk9M KHBjaV9idXNfdHlwZSk7CiAKK3N0cnVjdCBidXNfdHlwZSBwY2lfaG9zdF9icmlkZ2VfYnVzX3R5 cGUgPSB7CisJLm5hbWUgICAgICAgICAgID0gInBjaV9ob3N0X2JyaWRnZSIsCit9OworCitzdGF0 aWMgaW50IF9faW5pdCBwY2lfaG9zdF9icmlkZ2VfZHJpdmVyX2luaXQodm9pZCkKK3sKKwlyZXR1 cm4gYnVzX3JlZ2lzdGVyKCZwY2lfaG9zdF9icmlkZ2VfYnVzX3R5cGUpOworfQorcG9zdGNvcmVf aW5pdGNhbGwocGNpX2hvc3RfYnJpZGdlX2RyaXZlcl9pbml0KTsKKwogc3RhdGljIGludCBfX2lu aXQgcGNpX2RyaXZlcl9pbml0KHZvaWQpCiB7CiAJcmV0dXJuIGJ1c19yZWdpc3RlcigmcGNpX2J1 c190eXBlKTsKSW5kZXg6IGxpbnV4LTIuNi9kcml2ZXJzL3BjaS9wcm9iZS5jCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGxpbnV4LTIuNi5vcmlnL2RyaXZlcnMvcGNpL3Byb2JlLmMKKysrIGxpbnV4LTIuNi9kcml2 ZXJzL3BjaS9wcm9iZS5jCkBAIC0xOTQ5LDYgKzE5NDksNyBAQCBzdHJ1Y3QgcGNpX2J1cyAqcGNp X2NyZWF0ZV9yb290X2J1cyhzdHJ1CiAJCWdvdG8gZXJyX291dDsKIAogCWJyaWRnZS0+ZGV2LnBh cmVudCA9IHBhcmVudDsKKwlicmlkZ2UtPmRldi5idXMgPSAmcGNpX2hvc3RfYnJpZGdlX2J1c190 eXBlOwogCWJyaWRnZS0+ZGV2LnJlbGVhc2UgPSBwY2lfcmVsZWFzZV9ob3N0X2JyaWRnZV9kZXY7 CiAJZGV2X3NldF9uYW1lKCZicmlkZ2UtPmRldiwgInBjaSUwNHg6JTAyeCIsIHBjaV9kb21haW5f bnIoYiksIGJ1cyk7CiAJZXJyb3IgPSBwY2liaW9zX3Jvb3RfYnJpZGdlX3ByZXBhcmUoYnJpZGdl KTsK --001a1141bd0003d5b10512338ecf Content-Type: text/x-patch; charset=US-ASCII; name="for_each_pci_host_bridge.patch" Content-Disposition: attachment; filename="for_each_pci_host_bridge.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7qdl5001 U3ViamVjdDogW1BBVENIXSBQQ0k6IEFkZCBmb3JfZWFjaF9wY2lfaG9zdF9icmlkZ2UoKSBhbmQg cGNpX2dldF9uZXh0X2hvc3RfYnJpZGdlCgpOb3cgd2UgaGF2ZSBwY2lfcm9vdF9idXNlcyBsaXN0 LCBhbmQgdGhlcmUgaXMgbG90cyBvZiBpdGVyYXRpb24gd2l0aApsaXN0X29mX2VhY2ggb2YgaXQs IHRoYXQgaXMgbm90IHNhZmUgYWZ0ZXIgd2UgYWRkIHBjaSByb290IGJ1cyBob3RwbHVnCnN1cHBv cnQgYWZ0ZXIgYm9vdGluZyBzdGFnZS4KCkFsc28gcGNpX2ZpbmRfbmV4dF9idXMgaXMgcHJldHR5 IG1pc2xlYWRpbmcgbmFtZSwgYW5kIGl0IGlzIG9ubHkgZmluZGluZwpuZXh0IHJvb3QgYnVzIGlu c3RlYWQgb2YgcmVndWxhciBwY2kgYnVzLgoKQWRkIHBjaV9nZXRfbmV4dF9ob3N0X2JyaWRnZSBh bmQgdXNlIGJ1c19maW5kX2RldmljZSBpbiBkcml2ZXIgY29yZSB0bwppdGVyYXRlIGhvc3QgYnJp ZGdlIGFuZCB0aGUgc2FtZSB0aW1lIGdldCByb290IGJ1cy4KCkluIGZvbGxsb3dpbmcgcGF0Y2hl cyB3aWxsIHJlcGxhY2Ugc2VhcmNoaW5nIHJvb3QgYnVzIHdpdGggc2VhcmNoaW5nIGhvc3RfYnJp ZGdlLgphZnRlciB1c2luZyB3aXRoIHRoYXQgaG9zdC1icmlkZ2UsIHdpbGwgbmVlZCB0byBjYWxs IHB1dCBkZXZpY2UgdG8gcmVsZWFzZQpyZWZlcmVuY2UgaWYgYnJlYWsgZWFybHkgZnJvbSB0aGUg bG9vcC4KCkFmdGVyIHRob3NlIHJlcGxhY2luZywgd2UgZXZlbiBjb3VsZCBraWxsIHBjaV9yb290 X2J1c2VzIGxpc3QuCgotdjI6IGZpeGVzIGNvbXBpbGluZyBlcnJvciB3aGVuIENPTkZJR19QQ0kg aXMgbm90IGRlZmluZWQgdGhhdCBGZW5nZ3VhbmcgZm91bmQuCgpTaWduZWQtb2ZmLWJ5OiBZaW5n aGFpIEx1IDx5aW5naGFpQGtlcm5lbC5vcmc+CgotLS0KIGRyaXZlcnMvcGNpL3NlYXJjaC5jIHwg ICAyNCArKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvcGNpLmggIHwgICAg OSArKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKQoKSW5kZXg6IGxp bnV4LTIuNi9pbmNsdWRlL2xpbnV4L3BjaS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi5vcmln L2luY2x1ZGUvbGludXgvcGNpLmgKKysrIGxpbnV4LTIuNi9pbmNsdWRlL2xpbnV4L3BjaS5oCkBA IC00MDksNiArNDA5LDggQEAgc3RydWN0IHBjaV9ob3N0X2JyaWRnZSB7CiB9OwogCiAjZGVmaW5l CXRvX3BjaV9ob3N0X2JyaWRnZShuKSBjb250YWluZXJfb2Yobiwgc3RydWN0IHBjaV9ob3N0X2Jy aWRnZSwgZGV2KQorI2RlZmluZSBmb3JfZWFjaF9wY2lfaG9zdF9icmlkZ2UoZCkgd2hpbGUgKChk ID0gcGNpX2dldF9uZXh0X2hvc3RfYnJpZGdlKGQpKSAhPSBOVUxMKQorCiB2b2lkIHBjaV9zZXRf aG9zdF9icmlkZ2VfcmVsZWFzZShzdHJ1Y3QgcGNpX2hvc3RfYnJpZGdlICpicmlkZ2UsCiAJCSAg ICAgdm9pZCAoKnJlbGVhc2VfZm4pKHN0cnVjdCBwY2lfaG9zdF9icmlkZ2UgKiksCiAJCSAgICAg dm9pZCAqcmVsZWFzZV9kYXRhKTsKQEAgLTgzMSw2ICs4MzMsNyBAQCBpbnQgcGNpX2ZpbmRfaHRf Y2FwYWJpbGl0eShzdHJ1Y3QgcGNpX2RlCiBpbnQgcGNpX2ZpbmRfbmV4dF9odF9jYXBhYmlsaXR5 KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBwb3MsIGludCBodF9jYXApOwogc3RydWN0IHBjaV9i dXMgKnBjaV9maW5kX25leHRfYnVzKGNvbnN0IHN0cnVjdCBwY2lfYnVzICpmcm9tKTsKIAorc3Ry dWN0IHBjaV9ob3N0X2JyaWRnZSAqcGNpX2dldF9uZXh0X2hvc3RfYnJpZGdlKHN0cnVjdCBwY2lf aG9zdF9icmlkZ2UgKmZyb20pOwogc3RydWN0IHBjaV9kZXYgKnBjaV9nZXRfZGV2aWNlKHVuc2ln bmVkIGludCB2ZW5kb3IsIHVuc2lnbmVkIGludCBkZXZpY2UsCiAJCQkJc3RydWN0IHBjaV9kZXYg KmZyb20pOwogc3RydWN0IHBjaV9kZXYgKnBjaV9nZXRfc3Vic3lzKHVuc2lnbmVkIGludCB2ZW5k b3IsIHVuc2lnbmVkIGludCBkZXZpY2UsCkBAIC0xNDQ3LDYgKzE0NTAsMTIgQEAgc3RhdGljIGlu bGluZSBpbnQgcGNpX2RvbWFpbl9ucihzdHJ1Y3QgcAogc3RhdGljIGlubGluZSBzdHJ1Y3QgcGNp X2RldiAqcGNpX2Rldl9nZXQoc3RydWN0IHBjaV9kZXYgKmRldikgeyByZXR1cm4gTlVMTDsgfQog c3RhdGljIGlubGluZSBpbnQgcGNpX2dldF9uZXdfZG9tYWluX25yKHZvaWQpIHsgcmV0dXJuIC1F Tk9TWVM7IH0KIAorc3RhdGljIGlubGluZSBzdHJ1Y3QgcGNpX2hvc3RfYnJpZGdlICpwY2lfZ2V0 X25leHRfaG9zdF9icmlkZ2UoCisJCQlzdHJ1Y3QgcGNpX2hvc3RfYnJpZGdlICpob3N0X2JyaWRn ZSkKK3sKKwlyZXR1cm4gTlVMTDsKK30KKwogI2RlZmluZSBkZXZfaXNfcGNpKGQpIChmYWxzZSkK ICNkZWZpbmUgZGV2X2lzX3BmKGQpIChmYWxzZSkKICNkZWZpbmUgZGV2X251bV92ZihkKSAoMCkK SW5kZXg6IGxpbnV4LTIuNi9kcml2ZXJzL3BjaS9zZWFyY2guYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaW51 eC0yLjYub3JpZy9kcml2ZXJzL3BjaS9zZWFyY2guYworKysgbGludXgtMi42L2RyaXZlcnMvcGNp L3NlYXJjaC5jCkBAIC0yMzEsNiArMjMxLDMwIEBAIHN0cnVjdCBwY2lfZGV2ICpwY2lfZ2V0X2Rv bWFpbl9idXNfYW5kX3MKIH0KIEVYUE9SVF9TWU1CT0wocGNpX2dldF9kb21haW5fYnVzX2FuZF9z bG90KTsKIAorc3RhdGljIGludCBtYXRjaF9wY2lfaG9zdF9icmlkZ2Uoc3RydWN0IGRldmljZSAq ZGV2LCB2b2lkICpkYXRhKQoreworCXJldHVybiAxOworfQorCitzdHJ1Y3QgcGNpX2hvc3RfYnJp ZGdlICpwY2lfZ2V0X25leHRfaG9zdF9icmlkZ2Uoc3RydWN0IHBjaV9ob3N0X2JyaWRnZSAqZnJv bSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJc3RydWN0IGRldmljZSAqZGV2X3N0YXJ0ID0g TlVMTDsKKwlzdHJ1Y3QgcGNpX2hvc3RfYnJpZGdlICpicmlkZ2UgPSBOVUxMOworCisJV0FSTl9P Tihpbl9pbnRlcnJ1cHQoKSk7CisJaWYgKGZyb20pCisJCWRldl9zdGFydCA9ICZmcm9tLT5kZXY7 CisJZGV2ID0gYnVzX2ZpbmRfZGV2aWNlKCZwY2lfaG9zdF9icmlkZ2VfYnVzX3R5cGUsIGRldl9z dGFydCwgTlVMTCwKKwkJCSAgICAgIG1hdGNoX3BjaV9ob3N0X2JyaWRnZSk7CisJaWYgKGRldikK KwkJYnJpZGdlID0gdG9fcGNpX2hvc3RfYnJpZGdlKGRldik7CisJaWYgKGZyb20pCisJCXB1dF9k ZXZpY2UoJmZyb20tPmRldik7CisJcmV0dXJuIGJyaWRnZTsKK30KK0VYUE9SVF9TWU1CT0xfR1BM KHBjaV9nZXRfbmV4dF9ob3N0X2JyaWRnZSk7CisKIHN0YXRpYyBpbnQgbWF0Y2hfcGNpX2Rldl9i eV9pZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IHBjaV9kZXYg KnBkZXYgPSB0b19wY2lfZGV2KGRldik7Cg== --001a1141bd0003d5b10512338ecf--