From: Yijing Wang <wangyijing@huawei.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: <linux-pci@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
Russell King <linux@arm.linux.org.uk>, <dja@axtens.net>,
<linux-xtensa@linux-xtensa.org>, <x86@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>, <linux-mips@linux-mips.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Rusty Russell <rusty@rustcorp.com.au>,
<linuxppc-dev@lists.ozlabs.org>, <linux-s390@vger.kernel.org>,
Tony Luck <tony.luck@intel.com>, <linux-ia64@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Guan Xuetao <gxt@mprc.pku.edu.cn>, <linux-alpha@vger.kernel.org>,
<linux-m68k@lists.linux-m68k.org>, <linux-am33-list@redhat.com>,
Liviu Dudau <liviu@dudau.co.uk>, Arnd Bergmann <arnd@arndb.de>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Yijing Wang <wangyijing@huawei.com>
Subject: [PATCH part3 v12 05/10] powerpc/PCI: Rename pcibios_root_bridge_prepare() to pcibios_root_bus_prepare()
Date: Mon, 20 Jul 2015 20:01:13 +0800 [thread overview]
Message-ID: <1437393678-4077-6-git-send-email-wangyijing@huawei.com> (raw)
In-Reply-To: <1437393678-4077-1-git-send-email-wangyijing@huawei.com>
Pcibios_root_bridge_prepare() in powerpc set root bus
speed, it's not the preparation for pci host bridge.
For better separation of host bridge and root bus creation,
It's need to rename it to another weak function.
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
---
arch/powerpc/include/asm/machdep.h | 2 +-
arch/powerpc/kernel/pci-common.c | 6 +++---
arch/powerpc/platforms/pseries/pci.c | 2 +-
arch/powerpc/platforms/pseries/pseries.h | 2 +-
arch/powerpc/platforms/pseries/setup.c | 2 +-
drivers/pci/probe.c | 9 +++++++++
6 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/arch/powerpc/include/asm/machdep.h b/arch/powerpc/include/asm/machdep.h
index 952579f..dbd5e8b 100644
--- a/arch/powerpc/include/asm/machdep.h
+++ b/arch/powerpc/include/asm/machdep.h
@@ -100,7 +100,7 @@ struct machdep_calls {
/* Called after allocating resources */
void (*pcibios_fixup)(void);
void (*pci_irq_fixup)(struct pci_dev *dev);
- int (*pcibios_root_bridge_prepare)(struct pci_host_bridge
+ int (*pcibios_root_bus_prepare)(struct pci_host_bridge
*bridge);
/* To setup PHBs when using automatic OF platform driver for PCI */
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index df7f018..3e398c8 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -782,10 +782,10 @@ int pci_proc_domain(struct pci_bus *bus)
return 1;
}
-int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
+int pcibios_root_bus_prepare(struct pci_host_bridge *bridge)
{
- if (ppc_md.pcibios_root_bridge_prepare)
- return ppc_md.pcibios_root_bridge_prepare(bridge);
+ if (ppc_md.pcibios_root_bus_prepare)
+ return ppc_md.pcibios_root_bus_prepare(bridge);
return 0;
}
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index fe16a50..885f9ff 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -110,7 +110,7 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_82C105,
fixup_winbond_82c105);
-int pseries_root_bridge_prepare(struct pci_host_bridge *bridge)
+int pseries_root_bus_prepare(struct pci_host_bridge *bridge)
{
struct device_node *dn, *pdn;
struct pci_bus *bus;
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
index 8411c27..41310dc 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -75,7 +75,7 @@ static inline int dlpar_memory(struct pseries_hp_errorlog *hp_elog)
/* PCI root bridge prepare function override for pseries */
struct pci_host_bridge;
-int pseries_root_bridge_prepare(struct pci_host_bridge *bridge);
+int pseries_root_bus_prepare(struct pci_host_bridge *bridge);
extern struct pci_controller_ops pseries_pci_controller_ops;
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index df6a704..2815309 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -537,7 +537,7 @@ static void __init pSeries_setup_arch(void)
ppc_md.enable_pmcs = power4_enable_pmcs;
}
- ppc_md.pcibios_root_bridge_prepare = pseries_root_bridge_prepare;
+ ppc_md.pcibios_root_bus_prepare = pseries_root_bus_prepare;
if (firmware_has_feature(FW_FEATURE_SET_MODE)) {
long rc;
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index b49deb8..0eba126 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1919,6 +1919,11 @@ int __weak pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
return 0;
}
+int __weak pcibios_root_bus_prepare(struct pci_host_bridge *bridge)
+{
+ return 0;
+}
+
void __weak pcibios_add_bus(struct pci_bus *bus)
{
}
@@ -1984,6 +1989,10 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int domain,
b->dev.class = &pcibus_class;
b->dev.parent = b->bridge;
dev_set_name(&b->dev, "%04x:%02x", pci_domain_nr(b), bus);
+ error = pcibios_root_bus_prepare(bridge);
+ if (error)
+ goto class_dev_reg_err;
+
error = device_register(&b->dev);
if (error)
goto class_dev_reg_err;
--
1.7.1
next prev parent reply other threads:[~2015-07-20 12:18 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-20 12:01 [PATCH part3 v12 00/10] Cleanup platform pci_domain_nr() Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 01/10] PCI: Save domain in pci_host_bridge Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 02/10] PCI: Move pci_bus_assign_domain_nr() declaration into drivers/pci/pci.h Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 03/10] PCI: Remove declaration for pci_get_new_domain_nr() Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 04/10] PCI: Introduce pci_host_assign_domain_nr() to assign domain Yijing Wang
2015-07-20 12:01 ` Yijing Wang [this message]
2015-07-20 12:01 ` [PATCH part3 v12 06/10] PCI: Make pci_host_bridge hold sysdata in drvdata Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 07/10] PCI: Create pci host bridge prior to root bus Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 08/10] PCI: Introduce common pci_domain_nr() and remove platform specific code Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 09/10] PCI: Remove pci_bus_assign_domain_nr() Yijing Wang
2015-07-20 12:01 ` [PATCH part3 v12 10/10] IA64/PCI: Fix build warning found by kbuild test Yijing Wang
2015-12-07 21:53 ` [PATCH part3 v12 00/10] Cleanup platform pci_domain_nr() Bjorn Helgaas
2015-12-08 1:18 ` wangyijing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1437393678-4077-6-git-send-email-wangyijing@huawei.com \
--to=wangyijing@huawei.com \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=davem@davemloft.net \
--cc=dja@axtens.net \
--cc=geert@linux-m68k.org \
--cc=gxt@mprc.pku.edu.cn \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-am33-list@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-xtensa@linux-xtensa.org \
--cc=linux@arm.linux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=liviu@dudau.co.uk \
--cc=rusty@rustcorp.com.au \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).