From: Daniel Axtens <dja@axtens.net>
To: linuxppc-dev@lists.ozlabs.org
Cc: Daniel Axtens <dja@axtens.net>
Subject: [PATCH v2 11/19] powerpc/powermac: Move controller ops from ppc_md to controller_ops
Date: Tue, 31 Mar 2015 16:00:49 +1100 [thread overview]
Message-ID: <1427778057-9505-12-git-send-email-dja@axtens.net> (raw)
In-Reply-To: <1427778057-9505-1-git-send-email-dja@axtens.net>
This moves the Power Mac platform to use the pci_controller_ops
structure rather than ppc_md for PCI controller operations.
Signed-off-by: Daniel Axtens <dja@axtens.net>
---
arch/powerpc/platforms/powermac/pci.c | 17 +++++++++++++++--
arch/powerpc/platforms/powermac/pmac.h | 5 +----
arch/powerpc/platforms/powermac/setup.c | 4 +---
3 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/arch/powerpc/platforms/powermac/pci.c b/arch/powerpc/platforms/powermac/pci.c
index 9c89fd2..59ab16f 100644
--- a/arch/powerpc/platforms/powermac/pci.c
+++ b/arch/powerpc/platforms/powermac/pci.c
@@ -27,6 +27,8 @@
#include <asm/grackle.h>
#include <asm/ppc-pci.h>
+#include "pmac.h"
+
#undef DEBUG
#ifdef DEBUG
@@ -798,6 +800,7 @@ static int __init pmac_add_bridge(struct device_node *dev)
return -ENOMEM;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
+ hose->controller_ops = pmac_pci_controller_ops;
disp_name = NULL;
@@ -942,7 +945,7 @@ void __init pmac_pci_init(void)
}
#ifdef CONFIG_PPC32
-bool pmac_pci_enable_device_hook(struct pci_dev *dev)
+static bool pmac_pci_enable_device_hook(struct pci_dev *dev)
{
struct device_node* node;
int updatecfg = 0;
@@ -1225,7 +1228,7 @@ static void fixup_u4_pcie(struct pci_dev* dev)
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_U4_PCIE, fixup_u4_pcie);
#ifdef CONFIG_PPC64
-int pmac_pci_probe_mode(struct pci_bus *bus)
+static int pmac_pci_probe_mode(struct pci_bus *bus)
{
struct device_node *node = pci_bus_to_OF_node(bus);
@@ -1240,3 +1243,13 @@ int pmac_pci_probe_mode(struct pci_bus *bus)
return PCI_PROBE_DEVTREE;
}
#endif /* CONFIG_PPC64 */
+
+struct pci_controller_ops pmac_pci_controller_ops = {
+#ifdef CONFIG_PPC64
+ .probe_mode = pmac_pci_probe_mode,
+#endif
+#ifdef CONFIG_PPC32
+ .enable_device_hook = pmac_pci_enable_device_hook,
+#endif
+};
+
diff --git a/arch/powerpc/platforms/powermac/pmac.h b/arch/powerpc/platforms/powermac/pmac.h
index b8d5721..e7f8163 100644
--- a/arch/powerpc/platforms/powermac/pmac.h
+++ b/arch/powerpc/platforms/powermac/pmac.h
@@ -25,7 +25,6 @@ extern void pmac_pci_init(void);
extern void pmac_nvram_update(void);
extern unsigned char pmac_nvram_read_byte(int addr);
extern void pmac_nvram_write_byte(int addr, unsigned char val);
-extern bool pmac_pci_enable_device_hook(struct pci_dev *dev);
extern void pmac_pcibios_after_init(void);
extern int of_show_percpuinfo(struct seq_file *m, int i);
@@ -39,8 +38,6 @@ extern void low_cpu_die(void) __attribute__((noreturn));
extern int pmac_nvram_init(void);
extern void pmac_pic_init(void);
-#ifdef CONFIG_PPC64
-extern int pmac_pci_probe_mode(struct pci_bus *bus);
-#endif
+extern struct pci_controller_ops pmac_pci_controller_ops;
#endif /* __PMAC_H__ */
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 71a353c..8dd78f4 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -473,7 +473,7 @@ static void __init pmac_init_early(void)
udbg_adb_init(!!strstr(boot_command_line, "btextdbg"));
#ifdef CONFIG_PPC64
- iommu_init_early_dart(NULL);
+ iommu_init_early_dart(&pmac_pci_controller_ops);
#endif
/* SMP Init has to be done early as we need to patch up
@@ -656,12 +656,10 @@ define_machine(powermac) {
.feature_call = pmac_do_feature_call,
.progress = udbg_progress,
#ifdef CONFIG_PPC64
- .pci_probe_mode = pmac_pci_probe_mode,
.power_save = power4_idle,
.enable_pmcs = power4_enable_pmcs,
#endif /* CONFIG_PPC64 */
#ifdef CONFIG_PPC32
- .pcibios_enable_device_hook = pmac_pci_enable_device_hook,
.pcibios_after_init = pmac_pcibios_after_init,
.phys_mem_access_prot = pci_phys_mem_access_prot,
#endif
--
2.1.4
next prev parent reply other threads:[~2015-03-31 5:01 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 5:00 [PATCH v2 00/19] Refactor PCI controller operations Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 01/19] powerpc: move find_and_init_phbs() to pSeries specific code Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 02/19] powerpc/powermac: move pmac_pci_probe_mode from setup.c to pci.c Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 03/19] powerpc: pcibios_enable_device_hook: return bool rather than int Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 04/19] powerpc: Create pci_controller_ops.dma_dev_setup and shim Daniel Axtens
2015-04-02 14:13 ` Arnd Bergmann
2015-04-07 0:31 ` Daniel Axtens
2015-04-07 7:44 ` Arnd Bergmann
2015-04-08 3:31 ` Michael Ellerman
2015-03-31 5:00 ` [PATCH v2 05/19] powerpc: Create pci_controller_ops.dma_bus_setup " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 06/19] powerpc: Create pci_controller_ops.probe_mode " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 07/19] powerpc: Create pci_controller_ops.enable_device_hook " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 08/19] powerpc: Create pci_controller_ops.window_alignment " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 09/19] powerpc: Create pci_controller_ops.reset_secondary_bus " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 10/19] powerpc: dart_iommu: optionally populate controller_ops on init Daniel Axtens
2015-03-31 5:00 ` Daniel Axtens [this message]
2015-03-31 5:00 ` [PATCH v2 12/19] powerpc/pseries: Move controller ops from ppc_md to controller_ops Daniel Axtens
2015-04-02 3:21 ` [PATCH v3 " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 13/19] powerpc/powernv: " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 14/19] powerpc/pasemi: " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 15/19] powerpc/maple: " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 16/19] powerpc: fsl_pci, swiotlb: " Daniel Axtens
2015-04-10 0:11 ` [PATCH v3 " Daniel Axtens
2015-04-10 1:28 ` Scott Wood
2015-04-10 2:36 ` Daniel Axtens
2015-04-10 3:15 ` [PATCH v4 " Daniel Axtens
2015-04-10 3:18 ` Scott Wood
2015-03-31 5:00 ` [PATCH v2 17/19] powerpc/cell: " Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 18/19] powerpc: Remove shims for pci_controller_ops operations Daniel Axtens
2015-03-31 5:00 ` [PATCH v2 19/19] powerpc: dart_iommu: Remove check for controller_ops == NULL case Daniel Axtens
2015-04-07 7:51 ` [PATCH v2 00/19] Refactor PCI controller operations Arnd Bergmann
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=1427778057-9505-12-git-send-email-dja@axtens.net \
--to=dja@axtens.net \
--cc=linuxppc-dev@lists.ozlabs.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).