Now we save the domain number in pci_host_bridge,
we could remove pci_bus_assign_domain_nr() and
clean the domain member in pci_bus.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.c |5 -
drivers/pci/pci.h |9 -
drivers/pci/probe.c | 11 +++
include/linux/pci.h
Now platform specific sysdata is saved in pci_bus,
and pcibios_root_bridge_prepare() need to know
the sysdata. Later, we would move pcibios_root_bridge_prepare()
prior to root bus creation, so we need to make
pci_host_bridge hold sysdata.
Signed-off-by: Yijing Wang
---
arch/ia64/pci/pci.c
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
---
arch/powerpc/include/asm/machdep.h
, so introduce pci_create_root_bus_generic
and pci_scan_root_bus_generic() which simply assign domain
number to -1.
Tested-by: Gregory CLEMENT #mvebu part
Signed-off-by: Yijing Wang
---
arch/alpha/kernel/pci.c|4 ++--
arch/alpha/kernel/sys_nautilus.c |2 +-
arch/arm/kernel
Introduce pci_host_assign_domain_nr() to assign domain number
for pci_host_bridge.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.c | 24 +++-
drivers/pci/pci.h |1 +
2 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
Now pci_host_bridge holds the domain number, we could
introduce common pci_domain_nr(), and remove platform specific code.
Signed-off-by: Yijing Wang
---
arch/alpha/include/asm/pci.h |2 --
arch/ia64/include/asm/pci.h |1 -
arch/microblaze/include/asm/pci.h |2 --
arch
pci_get_new_domain_nr() is only used in drivers/pci/pci.c,
remove the declaration in include/linux/pci.h.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.c |4 ++--
include/linux/pci.h |3 ---
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers
Pci_host_bridge hold the domain number, we need
to assign domain number prior to root bus creation,
because root bus need to know the domain number
to check whether it's alreay exist. Also it's
preparation for separating pci_host_bridge creation
from pci_create_root_bus().
Signed-off-
pci_bus_assign_domain_nr() is only called in probe.c,
Move pci_bus_assign_domain_nr() declaration into
drivers/pci/pci.h.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.h |9 +
include/linux/pci.h |6 --
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a
ci_bus * have opaque sysdata, so IA64 specific
pci_domain_nr() could get the pci_controller and return the exact
domain number, but now we use common pci_domain_nr() functions, so we
should fix this warning.
Signed-off-by: Yijing Wang
---
arch/ia64/sn/kernel/io_acpi_init.c |6 +++---
arch/i
wrap function pci_create_root_bus_generic()
and pci_create_root_bus_generic() for arm/arm64 which
enable CONFIG_PCI_DOMAINS_GENERIC.
Rebased this series based 4.2-rc1
Yijing Wang (10):
PCI: Save domain in pci_host_bridge
PCI: Move pci_bus_assign_domain_nr() declaration into
drivers/pci/pci.h
pci_get_new_domain_nr() is only used in drivers/pci/pci.c,
remove the declaration in include/linux/pci.h.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.c |4 ++--
include/linux/pci.h |3 ---
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers
github.com/YijingWang/linux-pci.git enumer11
Yijing Wang (9):
PCI: Save domain in pci_host_bridge
PCI: Move pci_bus_assign_domain_nr() declaration into
drivers/pci/pci.h
PCI: Remove declaration for pci_get_new_domain_nr()
PCI: Introduce pci_host_assign_domain_nr() to assign domain
p
, so we pass meaningless -1 as the domain
number.
Tested-by: Gregory CLEMENT #mvebu part
Signed-off-by: Yijing Wang
---
arch/alpha/kernel/pci.c|4 ++--
arch/alpha/kernel/sys_nautilus.c |2 +-
arch/arm/kernel/bios32.c |2 +-
arch/arm/mach-dove/pcie.c
Now platform specific sysdata is saved in pci_bus,
and pcibios_root_bridge_prepare() need to know
the sysdata. Later, we would move pcibios_root_bridge_prepare()
prior to root bus creation, so we need to make
pci_host_bridge hold sysdata.
Signed-off-by: Yijing Wang
---
arch/ia64/pci/pci.c
Introduce pci_host_assign_domain_nr() to save domain number
in pci_host_bridge.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.c | 24 +++-
drivers/pci/pci.h |1 +
2 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
Now pci_host_bridge holds the domain number,
so we could eliminate all platform specific
pci_domain_nr().
Signed-off-by: Yijing Wang
---
arch/alpha/include/asm/pci.h |2 --
arch/ia64/include/asm/pci.h |1 -
arch/microblaze/pci/pci-common.c | 11 ---
arch/mips/include
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
---
arch/powerpc/include/asm/machdep.h
pci_bus_assign_domain_nr() is only called in probe.c,
Move pci_bus_assign_domain_nr() declaration into
drivers/pci/pci.h.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.h |9 +
include/linux/pci.h |6 --
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a
Now we save the domain number in pci_host_bridge,
we could remove pci_bus_assign_domain_nr() and
clean the domain member in pci_bus.
Signed-off-by: Yijing Wang
---
drivers/pci/pci.c |5 -
drivers/pci/pci.h |9 -
drivers/pci/probe.c | 11 +++
include/linux/pci.h
Pci_host_bridge hold the domain number, we need
to assign domain number prior to root bus creation,
because root bus need to know the domain number
to check whether it's alreay exist.
Signed-off-by: Yijing Wang
---
drivers/pci/probe.c | 60 ++--
Now we could use pci_scan_host_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Tested-by: Daniel Axtens
Signed-off-by: Yijing Wang
Reviewed-by: Daniel Axtens
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/kernel/pci-common.c | 62
hanks very much for your test and review.
Thanks!
Yijing.
>
>
> On Fri, 2015-04-03 at 17:25 +0800, Yijing Wang wrote:
>> Now we could use pci_scan_host_bridge() to scan
>> pci buses, provide powerpc specific pci_host_bridge_ops.
>>
>> Sign
Now we could use pci_scan_host_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/kernel/pci-common.c | 62 +++--
1 files changed
> pci_host_ops.pci_ops = hose->ops;
>
>
> Basically, the changes in PowerPC need to be quite a bit more through
> just to get the changes to build.
>
> I'm keen to work on simplifying PCI code in PowerPC, but at this point,
> it will need a lot more work befor
On 2015/3/26 6:13, Daniel Axtens wrote:
> Hi Yijing,
>
> I wasn't quite sure I understood your comments, so I was trying to apply
> your patch series and test it, but patch 3 doesn't apply cleanly to
> 4.0-rc5 or master. Can you respin the series?
Hi Daniel,
Could you pull the series from Bjor
On 2015/3/25 7:58, Daniel Axtens wrote:
> On Tue, 2015-03-24 at 11:34 +0800, Yijing Wang wrote:
>> Now we could use pci_scan_host_bridge() to scan
>> pci buses, provide powerpc specific pci_host_bridge_ops.
>>
>> Signed-off-by: Yijing Wang
>> CC: Benjamin H
Now we could use pci_scan_host_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/kernel/pci-common.c | 60 +++--
1 files changed
Now we could use pci_scan_host_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/kernel/pci-common.c | 60 +++--
1 files changed
On 2015/3/12 9:34, Bjorn Helgaas wrote:
> On Mon, Mar 09, 2015 at 10:34:04AM +0800, Yijing Wang wrote:
>> Now we could pass PCI domain combined with bus number
>> in u32 argu. Because in arm/arm64, PCI domain number
>> is assigned by pci_bus_assign_domain_nr(). So we leave
arm/arm64 to assign domain number
in later patch.
Signed-off-by: Yijing Wang
CC: Richard Henderson
CC: Ivan Kokshaysky
CC: Matt Turner
CC: Tony Luck
CC: Fenghua Yu
CC: Michal Simek
CC: Ralf Baechle
CC: Benjamin Herrenschmidt
CC: Paul Mackerras
CC: Michael Ellerman
CC: Sebastian Ott
CC
Now we could use pci_scan_host_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Suggested-by: Arnd Bergmann
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Bjorn Helgaas
---
arch/powerpc/include/asm/machdep.h
On 2015/3/6 22:19, Rob Herring wrote:
> On Fri, Mar 6, 2015 at 3:33 AM, Yijing Wang wrote:
>> Now we could use pci_scan_host_bridge() to scan
>> pci buses, provide powerpc specific pci_host_bridge_ops.
>>
>> Suggested-by: Arnd Bergmann
>> Signed-off-by: Yijing Wa
Pcibios_root_bridge_prepare() in powerpc is used
to set root bus speed. Rename it to
pcibios_set_root_bus_speed() for better readability.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Bjorn Helgaas
---
arch/powerpc/include/asm/machdep.h
arm/arm64 to assign domain number
in later patch.
Signed-off-by: Yijing Wang
CC: Richard Henderson
CC: Ivan Kokshaysky
CC: Matt Turner
CC: Tony Luck
CC: Fenghua Yu
CC: Michal Simek
CC: Ralf Baechle
CC: Benjamin Herrenschmidt
CC: Paul Mackerras
CC: Michael Ellerman
CC: Sebastian Ott
CC
Now we could use pci_scan_host_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Suggested-by: Arnd Bergmann
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Bjorn Helgaas
---
arch/powerpc/include/asm/machdep.h
Pcibios_root_bridge_prepare() in powerpc is used
to set root bus speed. Rename it to
pcibios_set_root_bus_speed() for better readability.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Bjorn Helgaas
---
arch/powerpc/include/asm/machdep.h
arm/arm64 to assign domain number
in later patch.
Signed-off-by: Yijing Wang
CC: Richard Henderson
CC: Ivan Kokshaysky
CC: Matt Turner
CC: Tony Luck
CC: Fenghua Yu
CC: Michal Simek
CC: Ralf Baechle
CC: Benjamin Herrenschmidt
CC: Paul Mackerras
CC: Michael Ellerman
CC: Sebastian Ott
CC
Now we could use pci_scan_root_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Suggested-by: Arnd Bergmann
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/include/asm/machdep.h |2 +-
arch/powerpc
Pcibios_root_bridge_prepare() in powerpc is used
to set root bus speed. Rename it to
pcibios_set_root_bus_speed() for better readability.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/include/asm/machdep.h |2 +-
arch/powerpc
Now we could use pci_scan_root_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Suggested-by: Arnd Bergmann
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/include/asm/machdep.h |2 +-
arch/powerpc
Pcibios_root_bridge_prepare() in powerpc is used
to set root bus speed. Rename it to
pcibios_set_root_bus_speed() for better readability.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/include/asm/machdep.h |2 +-
arch/powerpc
arm/arm64 to assign domain number
in later patch.
Signed-off-by: Yijing Wang
CC: Richard Henderson
CC: Ivan Kokshaysky
CC: Matt Turner
CC: Tony Luck
CC: Fenghua Yu
CC: Michal Simek
CC: Ralf Baechle
CC: Benjamin Herrenschmidt
CC: Paul Mackerras
CC: Michael Ellerman
CC: Sebastian Ott
CC
arm/arm64 to assign domain number
in later patch.
Signed-off-by: Yijing Wang
CC: Richard Henderson
CC: Ivan Kokshaysky
CC: Matt Turner
CC: Tony Luck
CC: Fenghua Yu
CC: Michal Simek
CC: Ralf Baechle
CC: Benjamin Herrenschmidt
CC: Paul Mackerras
CC: Michael Ellerman
CC: Sebastian Ott
CC
Pcibios_root_bridge_prepare() in powerpc is used
to set root bus speed. Rename it to
pcibios_set_root_bus_speed() for better readability.
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/include/asm/machdep.h |2 +-
arch/powerpc
Now we could use pci_scan_root_bridge() to scan
pci buses, provide powerpc specific pci_host_bridge_ops.
Suggested-by: Arnd Bergmann
Signed-off-by: Yijing Wang
CC: Benjamin Herrenschmidt
CC: linuxppc-dev@lists.ozlabs.org
---
arch/powerpc/include/asm/machdep.h |2 +-
arch/powerpc
gt;>>> On Monday 17 November 2014 18:21:34 Yijing Wang wrote:
>>>>>> This series is based Linux 3.18-rc1 and Lorenzo Pieralisi's
>>>>>> arm PCI domain cleanup patches, link:
>>>>>> https://patchwork.ozlabs.org/patch/407585/
>>
>>> pci_create_host_bridge() can get pci_host_bridge ops while
>>> pci_create_root_bus() gets
>>> the bus ops. For find out the MSI controller, the domain number and any
>>> other HB
>>> specific stuff, you use the HB ops. For config R/W acceses you use bus ops.
>>>
>>
>> I want to unexport pci_c
>> No, in this patch, host drivers pass a pci host bridge resources init hook
>> in pci_host_info *info, and we call this info->init_res() in
>> pci_create_host_bridge().
>>
>> +struct pci_host_info {
>> +u8 res_type;
>> +void *arg;
>> +struct list_head *resources; /*just for build, wi
+static void pci_release_host_bridge_dev(struct device *dev)
+{
+ struct pci_host_bridge *bridge = to_pci_host_bridge(dev);
+
+ if (bridge->release_fn)
+ bridge->release_fn(bridge);
+ pci_free_resource_list(&bridge->windows);
+
>>> Something like this:
>>>
>>> struct pci_controller {
>>> struct pci_host_bridge bridge;
>>> /* private host bridge data here */
>>> .
>>> };
>>>
>>> #define PCI_CONTROLLER(bus) ({
>>> struct pci_host_bridge *hb = to_pci_host_bridge(bus->bridge); \
>>> container_of(hb, st
>> We need, some platforms pass NULL pointer as host bridge parent.
>
> Yijing,
>
> May I suggest a different approach here? Rather than having to pass an opaque
> pointer that gets converted by the host bridge driver back to the private
> structure, what about promoting a new style of usage, tha
>> struct pci_host_bridge *pci_create_host_bridge(
>> -struct device *parent, u32 db,
>> -struct pci_ops *ops, void *sysdata,
>> -struct list_head *resources)
>> +struct device *parent, u32 db, struct pci_ops *ops,
>> +struct pci_host_
On 2014/11/18 23:30, Liviu Dudau wrote:
> On Mon, Nov 17, 2014 at 10:21:41AM +0000, Yijing Wang wrote:
>> There are some common PCI infos like domain, msi_controller, these
>> infos are saved in arch PCI sysdata, and lots arch specific functions
>> like pci_domain_nr() and p
On 2014/11/18 22:34, Liviu Dudau wrote:
> On Mon, Nov 17, 2014 at 10:21:38AM +0000, Yijing Wang wrote:
>> Rip out pci_bus_add_devices() from pci_scan_root_bus()
>> for following reasons.
>> 1. pci_scan_root_bus() means we only do the scan, we should
>> not add pci buss
On 2014/11/18 22:28, Liviu Dudau wrote:
> On Mon, Nov 17, 2014 at 10:21:36AM +0000, Yijing Wang wrote:
>> From: Yijing Wang
>>
>> Now we could use pci_scan_root_bus() instead of
>> pci_scan_bus(), pass NULL resources means use the default
>> io/mem.
>
> A
On 2014/11/18 22:23, Liviu Dudau wrote:
> On Tue, Nov 18, 2014 at 11:46:06AM +0000, Yijing Wang wrote:
>> On 2014/11/18 17:36, Arnd Bergmann wrote:
>>> On Tuesday 18 November 2014 15:44:23 Yijing Wang wrote:
>>>> On 2014/11/17 18:08, Arnd Bergmann wrote:
>>>
We need, some platforms pass NULL pointer as host bridge parent.
>>>
>>> But those don't have to use the new pci_create_host_bridge() function,
>>> right?
>>
>> As I mentioned in another reply, I hope all pci host drivers could use
>> pci_create_host_bridge(), keep different PCI scan interface
On 2014/11/18 19:30, Arnd Bergmann wrote:
> On Tuesday 18 November 2014 19:17:32 Yijing Wang wrote:
>> On 2014/11/17 22:13, Arnd Bergmann wrote:
>>> On Monday 17 November 2014 18:21:34 Yijing Wang wrote:
>>>> This series is based Linux 3.18-rc1 and Lorenzo Pieralisi
On 2014/11/18 19:45, Lorenzo Pieralisi wrote:
> On Tue, Nov 18, 2014 at 11:30:11AM +, Arnd Bergmann wrote:
>> On Tuesday 18 November 2014 19:17:32 Yijing Wang wrote:
>>> On 2014/11/17 22:13, Arnd Bergmann wrote:
>>>> On Monday 17 November 2014 18:21:34 Yijing Wa
On 2014/11/18 17:36, Arnd Bergmann wrote:
> On Tuesday 18 November 2014 15:44:23 Yijing Wang wrote:
>> On 2014/11/17 18:08, Arnd Bergmann wrote:
>>> On Monday 17 November 2014 18:21:35 Yijing Wang wrote:
>>>> - list_for_each_entry(window, resources, list)
>&g
On 2014/11/18 17:30, Arnd Bergmann wrote:
> On Tuesday 18 November 2014 16:32:26 Yijing Wang wrote:
>
>>>> +static struct resource busn_resource = {
>>>> + .name = "PCI busn",
>>>> + .start = 0,
>>>> + .end= 255,
>&g
On 2014/11/17 22:13, Arnd Bergmann wrote:
> On Monday 17 November 2014 18:21:34 Yijing Wang wrote:
>> This series is based Linux 3.18-rc1 and Lorenzo Pieralisi's
>> arm PCI domain cleanup patches, link:
>> https://patchwork.ozlabs.org/patch/407585/
>>
>
>> +LIST_HEAD(pci_host_bridge_list);
>> +DECLARE_RWSEM(pci_host_bridge_sem);
>
> Unless the pci_host_bridge_sem is accessed thousands of times per second,
> it's normally better to use a simple mutex instead.
OK, I will use simple mutex instead.
>
>> +static struct resource busn_resource = {
>
On 2014/11/17 18:08, Arnd Bergmann wrote:
> On Monday 17 November 2014 18:21:35 Yijing Wang wrote:
>> - list_for_each_entry(window, resources, list)
>> - if (window->res->flags & IORESOURCE_BUS) {
>> - found = true;
&
>>
>> -bus->domain_nr = domain;
>> +void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent)
>> +{
>> +bus->domain_nr = pci_get_domain_nr(parent);
>> }
>> #endif
>
> This code is superseded by the last patches I sent to move the domain
> assignment to PCI core code.
>
Signed-off-by: Yijing Wang
---
arch/powerpc/kernel/pci-common.c | 81 ++---
1 files changed, 48 insertions(+), 33 deletions(-)
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index e5dad9a..5b0f078 100644
--- a/arch/powerpc
Signed-off-by: Yijing Wang
---
arch/ia64/pci/pci.c | 84 +++---
1 files changed, 39 insertions(+), 45 deletions(-)
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index aac3220..c7d97ae 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci
hanks!
Yijing.
Yijing Wang (16):
PCI: Enhance pci_scan_root_bus() to support default IO/MEM resources
PCI: Use pci_scan_root_bus() instead of pci_scan_bus()
PCI: Clean up pci_scan_bus()
PCI: Rip out pci_bus_add_devices() from pci_scan_root_bus()
PCI: Use pci_scan_root_bus() inste
Signed-off-by: Yijing Wang
---
arch/arm/include/asm/mach/pci.h |9 +
arch/arm/kernel/bios32.c|8 ++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/mach/pci.h b/arch/arm/include/asm/mach/pci.h
index f19f627..370b3bd 100644
--- a
Signed-off-by: Yijing Wang
---
arch/arm/include/asm/mach/pci.h |1 +
arch/arm/kernel/bios32.c| 52 +++---
2 files changed, 32 insertions(+), 21 deletions(-)
diff --git a/arch/arm/include/asm/mach/pci.h b/arch/arm/include/asm/mach/pci.h
index 370b3bd
strictly speaking pci_bus_add_devices()
should be called after the resources assignment.
Signed-off-by: Yijing Wang
---
arch/alpha/kernel/pci.c |1 +
arch/alpha/kernel/sys_nautilus.c |1 +
arch/frv/mb93090-mb00/pci-vdk.c |8 +---
arch/ia64/sn/kernel/io_init.c |2
infos in, then we could eliminate
the arch specifc functions.
Signed-off-by: Yijing Wang
---
drivers/pci/host-bridge.c | 99 +
drivers/pci/probe.c | 134
include/linux/pci.h | 11 +++-
3 files changed
Now we could use pci_scan_host_bridge() to refactor
pci_acpi_scan_root().
Signed-off-by: Yijing Wang
---
arch/x86/pci/acpi.c | 65 ++---
arch/x86/pci/common.c | 23 -
2 files changed, 56 insertions(+), 32 deletions(-)
diff --git
ate the arch specific
pci_domain_nr().
Signed-off-by: Yijing Wang
---
drivers/pci/probe.c | 11 ++-
include/linux/pci.h |4 ++--
include/uapi/linux/pci.h |3 +++
3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
in
Signed-off-by: Yijing Wang
---
arch/ia64/pci/pci.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index 291a582..aac3220 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci/pci.c
@@ -424,7 +424,6 @@ struct pci_bus
Now we can remove the deprecated pci_scan_bus_parented(),
and use pci_scan_root_bus() instead.
Signed-off-by: Yijing Wang
---
drivers/pci/probe.c| 19 ---
drivers/pci/xen-pcifront.c |6 +++---
include/linux/pci.h|2 --
3 files changed, 3 insertions
From: Yijing Wang
Now pci_host_bridge has been ripped out from pci root
bus creation. Currently pci_scan_root_bus() lacks
scalability, so platform host drivers have no proper
way to configure pci_host_bridge. E.g we should assign
msi_controller to pci_host_bridge, add argument for
From: Yijing Wang
Now we could use pci_scan_root_bus() instead of
pci_scan_bus(), pass NULL resources means use the default
io/mem.
Signed-off-by: Yijing Wang
---
arch/alpha/include/asm/pci.h |2 +-
arch/alpha/kernel/sys_nautilus.c |2 +-
arch/cris/include/asm/pci.h |2
No one uses it, clean up.
Signed-off-by: Yijing Wang
---
drivers/pci/probe.c | 20
include/linux/pci.h |1 -
2 files changed, 0 insertions(+), 21 deletions(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index fc99e88..0a02fc2 100644
--- a/drivers/pci
From: Yijing Wang
Signed-off-by: Yijing Wang
---
drivers/pci/host-bridge.c |1 +
include/linux/pci.h |2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
index 49b6c21..872cae1 100644
--- a/drivers/pci/host
Add of_scan_bus() to support some platforms
scan bus by of_node.
Signed-off-by: Yijing Wang
---
drivers/pci/host-bridge.c |1 +
drivers/pci/probe.c | 10 +++---
include/linux/pci.h |3 +++
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/host
From: Yijing Wang
Pci_scan_root_bus(), pci_scan_bus() and pci_scan_bus_parented()
are very similar. But the latter two use the default
io/mem resources. Enhance pci_scan_root_bus() to support
default io/mem resources, then we could use
pci_scan_root_bus() instead of them, and clean them up
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
arch/arm/mach-iop13xx/include/mach/pci.h |4
arch/arm/mach-iop13xx/iq81340mc.c|3 +++
arch/arm/mach
Now we use MSI controller in all platforms to configure
MSI/MSI-X. We can clean up the unused arch functions.
Signed-off-by: Yijing Wang
Reviewed-by: Lucas Stach
---
drivers/pci/msi.c | 90 ++
include/linux/msi.h | 11 --
2 files
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
arch/tile/include/asm/pci.h |2 ++
arch/tile/kernel/pci_gx.c | 18 --
2 files changed, 18
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
Acked-by: David S. Miller
---
arch/sparc/kernel/pci.c | 20 ++--
arch/sparc/kernel/pci_impl.h |3
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X IRQ. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
arch/mips/include/asm/netlogic/xlp-hal/pcibus.h |1 +
arch/mips/pci/msi-xlp.c | 11
Now we can clean up MSI weak arch functions in x86.
Signed-off-by: Yijing Wang
---
arch/x86/include/asm/pci.h |5 +
arch/x86/include/asm/x86_init.h |4
arch/x86/kernel/apic/io_apic.c | 21 +
arch/x86/kernel/x86_init.c | 24
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
drivers/iommu/irq_remapping.c | 11 ---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers
Save MSI controller in pci sysdata, add arch pcibios_msi_controller()
to extract out MSI controller.
Signed-off-by: Yijing Wang
---
arch/mips/include/asm/pci.h |3 +++
arch/mips/pci/pci.c |9 +
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/arch/mips
quot;s390/MSI: Use MSI..". Fix several typo problems found by Lucas.
RFC->v1:
Updated "[patch 4/21] x86/xen/MSI: Eliminate...", export msi_chip instead
of #ifdef to fix MSI bug in xen running in x86.
Rename arch_get_match_msi_chip() to arch_find_msi_chip().
Drop use struct devic
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
Acked-by: Michael Ellerman
---
arch/powerpc/include/asm/pci-bridge.h |8
arch/powerpc/kernel/msi.c
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
arch/mips/pci/pci-xlr.c | 17 +++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
arch/mips/include/asm/octeon/pci-octeon.h |4 +++
arch/mips/pci/msi-octeon.c| 31
common.
Signed-off-by: Yijing Wang
Reviewed-by: Lucas Stach
---
drivers/pci/msi.c | 15 +++
include/linux/msi.h |8 ++--
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 27b6a54..0e1da3e 100644
--- a/drivers/pci
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
arch/x86/include/asm/pci.h |4
arch/x86/kernel/apic/io_apic.c | 25 +
arch/x86/pci
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
CC: David Vrabel
CC: Konrad Rzeszutek Wilk
---
arch/x86/pci/xen.c | 45 +++--
1
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
---
arch/ia64/include/asm/pci.h |3 ++-
arch/ia64/kernel/msi_ia64.c | 24 ++--
arch/ia64/pci/pci.c
Use MSI controller framework instead of arch MSI functions to configure
MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
Signed-off-by: Yijing Wang
Acked-by: Sebastian Ott
---
arch/s390/include/asm/pci.h |1 +
arch/s390/pci/pci.c | 19 +--
2
1 - 100 of 303 matches
Mail list logo