summaryrefslogtreecommitdiffstats
path: root/arch/microblaze
Commit message (Collapse)AuthorAgeFilesLines
* PCI: MicroBlaze: convert pcibios_set_master() to a non-inlined functionMyron Stowe2012-01-062-5/+5
| | | | | | | | | | | | | | | | | | | This patch converts MicroBlaze's architecture-specific 'pcibios_set_master()' routine to a non-inlined function. This will allow follow on patches to create a generic 'pcibios_set_master()' function using the '__weak' attribute which can be used by all architectures as a default which, if necessary, can then be over- ridden by architecture-specific code. Converting 'pci_bios_set_master()' to a non-inlined function will allow MicroBlaze's 'pcibios_set_master()' implementation to remain architecture-specific after the generic version is introduced and thus, not change current behavior. No functional change. Signed-off-by: Myron Stowe <myron.stowe@redhat.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
* microblaze: bury asm/namei.hAl Viro2011-11-211-22/+0
| | | | | | | altroot support has been gone for years, along with arch/*/asm/namei.h; looks like a dummy survivor that sat it out in microblaze tree... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Merge branch 'modsplit-Oct31_2011' of ↵Linus Torvalds2011-11-065-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits) Revert "tracing: Include module.h in define_trace.h" irq: don't put module.h into irq.h for tracking irqgen modules. bluetooth: macroize two small inlines to avoid module.h ip_vs.h: fix implicit use of module_get/module_put from module.h nf_conntrack.h: fix up fallout from implicit moduleparam.h presence include: replace linux/module.h with "struct module" wherever possible include: convert various register fcns to macros to avoid include chaining crypto.h: remove unused crypto_tfm_alg_modname() inline uwb.h: fix implicit use of asm/page.h for PAGE_SIZE pm_runtime.h: explicitly requires notifier.h linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h miscdevice.h: fix up implicit use of lists and types stop_machine.h: fix implicit use of smp.h for smp_processor_id of: fix implicit use of errno.h in include/linux/of.h of_platform.h: delete needless include <linux/module.h> acpi: remove module.h include from platform/aclinux.h miscdevice.h: delete unnecessary inclusion of module.h device_cgroup.h: delete needless include <linux/module.h> net: sch_generic remove redundant use of <linux/module.h> net: inet_timewait_sock doesnt need <linux/module.h> ... Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in - drivers/media/dvb/frontends/dibx000_common.c - drivers/media/video/{mt9m111.c,ov6650.c} - drivers/mfd/ab3550-core.c - include/linux/dmaengine.h
| * microblaze: Add export.h to arch/microblaze files as requiredPaul Gortmaker2011-10-315-0/+5
| | | | | | | | | | | | For access to the EXPORT_SYMBOL variants and THIS_MODULE macros. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* | Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds2011-10-3113-54/+220
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Remove __ARCH_WANT_INTERRUPTS_ON_CTXSW usage microblaze: Use delay slot in __strnlen_user, __strncpy_user microblaze: Remove NET_IP_ALIGN from system.h microblaze: Add __ucmpdi2() helper function microblaze: Raise SIGFPE/FPE_INTDIV for div by zero microblaze: Switch ELF_ARCH code to 189 microblaze: Added DMA sync operations microblaze: Moved __dma_sync() to dma-mapping.h microblaze: Add PVR for Microblaze v8.20.a microblaze: Fix access_ok macro microblaze: Add loop unrolling for PAGE in copy_tofrom_user microblaze: Simplify logic for unaligned byte copying microblaze: Change label names - copy_tofrom_user microblaze: Separate fixup section definition microblaze: Change label name in copy_tofrom_user microblaze: Clear top bit from cnt32_to_63
| * microblaze: Remove __ARCH_WANT_INTERRUPTS_ON_CTXSW usagePeter Zijlstra2011-10-142-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As far as I can tell the only reason microblaze has __ARCH_WANT_INTERRUPTS_ON_CTXSW is because it initializes new task state with interrupts enabled so that on switch_to() interrupts get enabled. So change copy_thread() to clear MSR_IE instead of set it, this will ensure switch_to() will always keep IRQs disabled. The scheduler will disable IRQs when taking rq->lock in schedule() and enable IRQs in finish_lock_switch() after its done its magic. This leaves ARM the only __ARCH_WANT_INTERRUPTS_ON_CTXSW user. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Use delay slot in __strnlen_user, __strncpy_userMichal Simek2011-10-141-2/+2
| | | | | | | | | | | | Use delay slot to speedup if maxlen is zero. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove NET_IP_ALIGN from system.hMichal Simek2011-10-141-7/+0
| | | | | | | | | | | | | | Use default value (which is the same) from include/linux/skbuff.h. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add __ucmpdi2() helper functionMichal Simek2011-10-142-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing __ucmpdi2 helper function. Error log: kernel/built-in.o: In function `print_graph_duration': : undefined reference to `__ucmpdi2' kernel/built-in.o: In function `print_graph_duration': : undefined reference to `__ucmpdi2' Based on MIPS code. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Raise SIGFPE/FPE_INTDIV for div by zeroEdgar E. Iglesias2011-10-141-1/+1
| | | | | | | | | | | | | | | | | | It fixes the signal nr raised for divizion by zero from SIGILL to SIGFPE, in accordance to POSIX and other archs. This came up due to a failed test in the GCC testsuite. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
| * microblaze: Switch ELF_ARCH code to 189Edgar E. Iglesias2011-10-142-4/+6
| | | | | | | | | | | | | | | | Switch arch code to 189, the registered code in the upstream version of binutils. Continue to accept the experimental 0xbaab. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Added DMA sync operationsEli Billauer2011-10-141-0/+60
| | | | | | | | | | | | | | Added support gor dma_direct_sync_single_for_*() and dma_direct_sync_sg_for_*() Signed-off-by: Eli Billauer <eli.billauer@gmail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Moved __dma_sync() to dma-mapping.hEli Billauer2011-10-142-21/+21
| | | | | | | | | | | | | | | | __dma_sync_page() was replaced by __dma_sync(), and parameters of calls to the new function were adjusted to match __dma_sync()'s format. Signed-off-by: Eli Billauer <eli.billauer@gmail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add PVR for Microblaze v8.20.aMichal Simek2011-10-141-0/+1
| | | | | | | | | | | | Microblaze v8.20.a has 0x15 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix access_ok macroMichal Simek2011-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is the problem with bit OR (|) because for some combination is addr | size | addr+size equal to seq. For standard kernel setting (kernel starts at 0xC0000000) is seq for user space 0xBFFFFFFF and everything below this limit is fine. But even address 0xBFFFFFFF is fine because it is below kernel space. Signed-off-by: Andrew Fedonczuk <andrew.fedonczuk@ericsson.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add loop unrolling for PAGE in copy_tofrom_userMichal Simek2011-10-141-0/+84
| | | | | | | | | | | | Increase performance by loop unrolling. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Simplify logic for unaligned byte copyingMichal Simek2011-10-141-5/+3
| | | | | | | | | | | | Save jump instruction for unaligned byte copying. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Change label names - copy_tofrom_userMichal Simek2011-10-141-14/+13
| | | | | | | | | | | | Change label name to be prepared for loop unrolling. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Separate fixup section definitionMichal Simek2011-10-141-1/+9
| | | | | | | | | | | | Move fixups below appropriate code. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Change label name in copy_tofrom_userMichal Simek2011-10-141-3/+3
| | | | | | | | | | | | Use label 0: for zero length copying and fixups. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Clear top bit from cnt32_to_63Michal Simek2011-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | Top bit is used as garbage and it must be clear explicitly. It is causing the problem with soft lookup code because it checks delays which are long when top bit is setup. Signed-off-by: Michal Simek <monstr@monstr.eu>
* | microblaze: add missing CONFIG_ prefixesPaul Bolle2011-10-131-3/+3
| | | | | | | | | | | | Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Acked-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | doc: fix broken referencesPaul Bolle2011-09-271-1/+1
|/ | | | | | | | | | | | | There are numerous broken references to Documentation files (in other Documentation files, in comments, etc.). These broken references are caused by typo's in the references, and by renames or removals of the Documentation files. Some broken references are simply odd. Fix these broken references, sometimes by dropping the irrelevant text they were part of. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* All Arch: remove linkage for sys_nfsservctl system callNeilBrown2011-08-261-1/+1
| | | | | | | | | The nfsservctl system call is now gone, so we should remove all linkage for it. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds2011-07-2716-133/+149
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Do not show error message for 32 interrupt lines Revert "microblaze: PCI fix typo fault in of_node pointer moving into pci_bus" microblaze: PCI fix typo fault in of_node pointer moving into pci_bus microblaze: Add support for early console on mdm microblaze: Simplify early console binding from DT microblaze: Get early printk console earlier microblaze: Standardise cpuinfo output for cache policy microblaze: Unprivileged stream instruction awareness microblaze: trivial: Fix typo fault microblaze: exec: Remove redundant set_fs(USER_DS) microblaze: Remove duplicated prototype of start_thread() microblaze: Fix unaligned value saving to the stack for system with MMU microblaze/irqs: Do not trace arch_local_{*,irq_*} functions
| * microblaze: Do not show error message for 32 interrupt linesMichal Simek2011-07-271-1/+1
| | | | | | | | | | | | | | | | When interrupt controller uses 32 interrupts lines the kernel show error message about mismatch in kind-of-intr parameter because it exceeds u32. Recast fixs this issue. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * Revert "microblaze: PCI fix typo fault in of_node pointer moving into pci_bus"Michal Simek2011-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | This reverts commit c9d761b7c4b658a937a941aea2781f511a0ff3ec. Ben' commit "microblaze/pci: Move the remains of pci_32.c to pci-common.c" (sha1: bf13a6fa09b8db7f1fd59b5e2ed3674a89a6a25c) completely removed pci_32.c that's why my fixing commit caused the problem with merging and need to be revert. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: PCI fix typo fault in of_node pointer moving into pci_busMichal Simek2011-07-251-1/+1
| | | | | | | | | | | | | | | | Bug introduces in: powerpc/pci: Make both ppc32 and ppc64 use sysdata for pci_controller (sha1: b5d937de0367d26f65b9af1aef5f2c34c1939be0) Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add support for early console on mdmMichal Simek2011-07-252-2/+3
| | | | | | | | | | | | | | | | Support mdm early console: - extend time for retries - add mdm compatible property Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Simplify early console binding from DTMichal Simek2011-07-253-82/+70
| | | | | | | | | | | | | | | | | | | | Recognize early Linux console from chosen - linux,stdout-path instead of detecting the first console with appropriate compatible strings. This patch solved the problem on system with multiple consoles. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Get early printk console earlierMichal Simek2011-07-253-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Register early console as standard console 2. Enable CON_BOOT console flag to ensure auto-unregistering by the kernel 3. remap_early_printk function remap physical console baseaddr to virtual space Usage specific function for console remap is done after memory initialization with IRQ turn off that's why there is not necessary to protect it. The reason for remapping is that the kernel use TLB 63 for 1:1 address mapping to be able to use console in very early boot-up phase. But allocating one TLB just for console caused performance degression that's why ioremaps create new mapping and TLB 63 is automatically released and ready to use. Signed-off-by: Michal Simek <monstr@monstr.eu> CC: Russell King <linux@arm.linux.org.uk> CC: Ralf Baechle <ralf@linux-mips.org> CC: Ingo Molnar <mingo@redhat.com> CC: Alan Cox <alan@linux.intel.com> CC: <linux-serial@vger.kernel.org> CC: Arnd Bergmann <arnd@arndb.de>
| * microblaze: Standardise cpuinfo output for cache policyJohn A. Williams2011-07-251-2/+3
| | | | | | | | | | | | | | The current cpuinfo output for the cache policy has no leading tag:, making it difficult to parse. Add a leaning "Dcache-policy:" tag to this field. Signed-off-by: John A. Williams <john.williams@petalogix.com>
| * microblaze: Unprivileged stream instruction awarenessJohn A. Williams2011-07-256-1/+13
| | | | | | | | | | | | | | | | | | | | | | Add cpuinfo support for the new MicroBlaze option permitting userspace (unprivileged) access to the streaming instructions (FSL / AXI-stream). Emit a noisy warning at bootup if this is enabled, because bad user code can potentially lockup the CPU. Signed-off-by: John A. Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: trivial: Fix typo faultMichal Simek2011-07-251-1/+1
| | | | | | | | | | | | descrtiption -> description Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: exec: Remove redundant set_fs(USER_DS)Mathias Krause2011-07-251-1/+0
| | | | | | | | | | | | | | The address limit is already set in flush_old_exec() so this set_fs(USER_DS) is redundant. Signed-off-by: Mathias Krause <minipli@googlemail.com>
| * microblaze: Remove duplicated prototype of start_thread()Mathias Krause2011-07-251-3/+0
| | | | | | | | | | | | | | | | The prototype for start_thread() is already present in the MMU/NOMMU independent part of the file. Remove the duplicate. Signed-off-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix unaligned value saving to the stack for system with MMUMichal Simek2011-07-251-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several registers weren't saved correctly to the stack. Unaligned expection for system with MMU stores value in ex_tmp_data_loc_X address which is load to registers r3. The next step is to move this value from r3 to a destination register which caused unaligned exception. For several registers this value was directly moved to the register. For example for r28: by "or r28, r0, r3" but register r28 was rewritten when kernel returns from exception handler by value saved on stack. This patch changed r3 saving to the correct address on the stack. For example for r28: by "swi r3, r1, 4 * 28" When kernel returns from the exception handler, correct value is restored. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze/irqs: Do not trace arch_local_{*,irq_*} functionsSteven Rostedt2011-07-251-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Do not trace arch_local_save_flags(), arch_local_irq_*() and friends. Although they are marked inline, gcc may still make a function out of them and add it to the pool of functions that are traced by the function tracer. This can cause undesirable results (kernel panic, triple faults, etc). Add the notrace notation to prevent them from ever being traced. Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
* | Merge branch 'next/cross-platform' of ↵Linus Torvalds2011-07-261-54/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc * 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: ARM: Consolidate the clkdev header files ARM: set vga memory base at run-time ARM: convert PCI defines to variables ARM: pci: make pcibios_assign_all_busses use pci_has_flag ARM: remove unnecessary mach/hardware.h includes pci: move microblaze and powerpc pci flag functions into asm-generic powerpc: rename ppc_pci_*_flags to pci_*_flags Fix up conflicts in arch/microblaze/include/asm/pci-bridge.h
| * | pci: move microblaze and powerpc pci flag functions into asm-genericRob Herring2011-07-121-57/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | Move separate microblaze and powerpc pci flag functions pci_set_flags, pci_add_flags, and pci_has_flag into asm-generic/pci-bridge.h so other archs can use them. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Michal Simek <monstr@monstr.eu>
* | atomic: use <linux/atomic.h>Arun Sharma2011-07-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to move duplicated code in <asm/atomic.h> (atomic_inc_not_zero() for now) to <linux/atomic.h> Signed-off-by: Arun Sharma <asharma@fb.com> Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: David Miller <davem@davemloft.net> Cc: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ptrace: unify show_regs() prototypeMike Frysinger2011-07-261-2/+0
| | | | | | | | | | | | | | | | | | [ poleg@redhat.com: no need to declare show_regs() in ptrace.h, sched.h does this ] Signed-off-by: Mike Frysinger <vapier@gentoo.org> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-linus' of ↵Linus Torvalds2011-07-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits) fs: Merge split strings treewide: fix potentially dangerous trailing ';' in #defined values/expressions uwb: Fix misspelling of neighbourhood in comment net, netfilter: Remove redundant goto in ebt_ulog_packet trivial: don't touch files that are removed in the staging tree lib/vsprintf: replace link to Draft by final RFC number doc: Kconfig: `to be' -> `be' doc: Kconfig: Typo: square -> squared doc: Konfig: Documentation/power/{pm => apm-acpi}.txt drivers/net: static should be at beginning of declaration drivers/media: static should be at beginning of declaration drivers/i2c: static should be at beginning of declaration XTENSA: static should be at beginning of declaration SH: static should be at beginning of declaration MIPS: static should be at beginning of declaration ARM: static should be at beginning of declaration rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check Update my e-mail address PCIe ASPM: forcedly -> forcibly gma500: push through device driver tree ... Fix up trivial conflicts: - arch/arm/mach-ep93xx/dma-m2p.c (deleted) - drivers/gpio/gpio-ep93xx.c (renamed and context nearby) - drivers/net/r8169.c (just context changes)
| * | treewide: Convert uses of struct resource to resource_size(ptr)Joe Perches2011-06-101-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several fixes as well where the +1 was missing. Done via coccinelle scripts like: @@ struct resource *ptr; @@ - ptr->end - ptr->start + 1 + resource_size(ptr) and some grep and typing. Mostly uncompiled, no cross-compilers. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | modules: make arch's use default loader hooksJonas Bonn2011-07-241-35/+0
| | | | | | | | | | | | | | | | | | | | | | | | This patch removes all the module loader hook implementations in the architecture specific code where the functionality is the same as that now provided by the recently added default hooks. Signed-off-by: Jonas Bonn <jonas@southpole.se> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Tested-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* | pci/of: Consolidate pci_bus_to_OF_node()Benjamin Herrenschmidt2011-06-081-5/+0
| | | | | | | | | | | | | | | | | | | | The generic code always get the device-node in the right place now so a single implementation will work for all archs Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Michal Simek <monstr@monstr.eu> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
* | pci/of: Consolidate pci_device_to_OF_node()Benjamin Herrenschmidt2011-06-081-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | All archs do more or less the same thing now, move it into a single generic place. I chose pci.h rather than of_pci.h to avoid having to change all call-sites to include the later. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Michal Simek <monstr@monstr.eu> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
* | microblaze/pci: Move the remains of pci_32.c to pci-common.cBenjamin Herrenschmidt2011-06-083-139/+113
| | | | | | | | | | | | | | | | | | There's no point in keeping this separate. Even if microblaze grows a 64-bit variant, it will probably be able to re-use that code as-is Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Michal Simek <monstr@monstr.eu> Acked-by: Grant Likely <grant.likely@secretlab.ca>
* | microblaze/pci: Remove powermac originated cruftBenjamin Herrenschmidt2011-06-083-275/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The whole business with re-assigning all bus numbers, creating an OF bus "map" etc... is ancient powermac stuff that you really don't care about on microblaze. Similarly pci_device_from_OF_node() is unused and by getting rid of it we can get rid of a whole lot of code otherwise unused on this architecture Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Michal Simek <monstr@monstr.eu>
* | pci/of: Match PCI devices to OF nodes dynamicallyBenjamin Herrenschmidt2011-06-083-55/+14
|/ | | | | | | | | | | | | | | | | | | | | | | | powerpc has two different ways of matching PCI devices to their corresponding OF node (if any) for historical reasons. The ppc64 one does a scan looking for matching bus/dev/fn, while the ppc32 one does a scan looking only for matching dev/fn on each level in order to be agnostic to busses being renumbered (which Linux does on some platforms). This removes both and instead moves the matching code to the PCI core itself. It's the most logical place to do it: when a pci_dev is created, we know the parent and thus can do a single level scan for the matching device_node (if any). The benefit is that all archs now get the matching for free. There's one hook the arch might want to provide to match a PHB bus to its device node. A default weak implementation is provided that looks for the parent device device node, but it's not entirely reliable on powerpc for various reasons so powerpc provides its own. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Michal Simek <monstr@monstr.eu> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
OpenPOWER on IntegriCloud