author | Linus Torvalds <torvalds@linux-foundation.org> | |
Tue, 18 Dec 2012 17:58:09 +0000 (09:58 -0800) | ||
committer | Linus Torvalds <torvalds@linux-foundation.org> | |
Tue, 18 Dec 2012 17:58:09 +0000 (09:58 -0800) |
Pull powerpc update from Benjamin Herrenschmidt:
"The main highlight is probably some base POWER8 support. There's more
to come such as transactional memory support but that will wait for
the next one.
Overall it's pretty quiet, or rather I've been pretty poor at picking
things up from patchwork and reviewing them this time around and Kumar
no better on the FSL side it seems..."
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (73 commits)
powerpc+of: Rename and fix OF reconfig notifier error inject module
powerpc: mpc5200: Add a3m071 board support
powerpc/512x: don't compile any platform DIU code if the DIU is not enabled
powerpc/mpc52xx: use module_platform_driver macro
powerpc+of: Export of_reconfig_notifier_[register,unregister]
powerpc/dma/raidengine: add raidengine device
powerpc/iommu/fsl: Add PAMU bypass enable register to ccsr_guts struct
powerpc/mpc85xx: Change spin table to cached memory
powerpc/fsl-pci: Add PCI controller ATMU PM support
powerpc/86xx: fsl_pcibios_fixup_bus requires CONFIG_PCI
drivers/virt: the Freescale hypervisor driver doesn't need to check MSR[GS]
powerpc/85xx: p1022ds: Use NULL instead of 0 for pointers
powerpc: Disable relocation on exceptions when kexecing
powerpc: Enable relocation on during exceptions at boot
powerpc: Move get_longbusy_msecs into hvcall.h and remove duplicate function
powerpc: Add wrappers to enable/disable relocation on exceptions
powerpc: Add set_mode hcall
powerpc: Setup relocation on exceptions for bare metal systems
powerpc: Move initial mfspr LPCR out of __init_LPCR
powerpc: Add relocation on exception vector handlers
...
"The main highlight is probably some base POWER8 support. There's more
to come such as transactional memory support but that will wait for
the next one.
Overall it's pretty quiet, or rather I've been pretty poor at picking
things up from patchwork and reviewing them this time around and Kumar
no better on the FSL side it seems..."
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (73 commits)
powerpc+of: Rename and fix OF reconfig notifier error inject module
powerpc: mpc5200: Add a3m071 board support
powerpc/512x: don't compile any platform DIU code if the DIU is not enabled
powerpc/mpc52xx: use module_platform_driver macro
powerpc+of: Export of_reconfig_notifier_[register,unregister]
powerpc/dma/raidengine: add raidengine device
powerpc/iommu/fsl: Add PAMU bypass enable register to ccsr_guts struct
powerpc/mpc85xx: Change spin table to cached memory
powerpc/fsl-pci: Add PCI controller ATMU PM support
powerpc/86xx: fsl_pcibios_fixup_bus requires CONFIG_PCI
drivers/virt: the Freescale hypervisor driver doesn't need to check MSR[GS]
powerpc/85xx: p1022ds: Use NULL instead of 0 for pointers
powerpc: Disable relocation on exceptions when kexecing
powerpc: Enable relocation on during exceptions at boot
powerpc: Move get_longbusy_msecs into hvcall.h and remove duplicate function
powerpc: Add wrappers to enable/disable relocation on exceptions
powerpc: Add set_mode hcall
powerpc: Setup relocation on exceptions for bare metal systems
powerpc: Move initial mfspr LPCR out of __init_LPCR
powerpc: Add relocation on exception vector handlers
...
13 files changed:
1 | 2 | |||
---|---|---|---|---|
arch/arm/mach-mxs/mach-mxs.c | patch | | diff1 | | diff2 | | blob | history |
arch/powerpc/include/asm/machdep.h | patch | | diff1 | | diff2 | | blob | history |
arch/powerpc/include/asm/ppc-opcode.h | patch | | diff1 | | diff2 | | blob | history |
arch/powerpc/include/asm/reg.h | patch | | diff1 | | diff2 | | blob | history |
arch/powerpc/kernel/entry_64.S | patch | | diff1 | | diff2 | | blob | history |
arch/powerpc/platforms/pseries/reconfig.c | patch | | diff1 | | diff2 | | blob | history |
arch/powerpc/sysdev/fsl_pci.c | patch | | diff1 | | diff2 | | blob | history |
drivers/macintosh/smu.c | patch | | diff1 | | diff2 | | blob | history |
drivers/of/base.c | patch | | diff1 | | diff2 | | blob | history |
drivers/video/Kconfig | patch | | diff1 | | diff2 | | blob | history |
include/linux/of.h | patch | | diff1 | | diff2 | | blob | history |
lib/Kconfig.debug | patch | | diff1 | | diff2 | | blob | history |
lib/Makefile | patch | | diff1 | | diff2 | | blob | history |
diff --cc arch/arm/mach-mxs/mach-mxs.c
Simple merge
diff --cc arch/powerpc/include/asm/machdep.h
Simple merge
diff --cc arch/powerpc/include/asm/ppc-opcode.h
Simple merge
diff --cc arch/powerpc/include/asm/reg.h
Simple merge
diff --cc arch/powerpc/kernel/entry_64.S
index e9a906c27234fe880a5c78bd9c80ef7835c712ab,ad7666695761103571c7aa5b258816d517a27392..b310a0573625dec8a672c267ab6158f8e90b37a6
_GLOBAL(ret_from_kernel_thread)
bl .schedule_tail
REST_NVGPRS(r1)
- REST_GPR(2,r1)
+ li r3,0
+ std r3,0(r1)
+ ld r14, 0(r14)
mtlr r14
mr r3,r15
blrl
Simple merge
diff --cc arch/powerpc/sysdev/fsl_pci.c
Simple merge
diff --cc drivers/macintosh/smu.c
Simple merge
diff --cc drivers/of/base.c
index be846408dbc14e86dd5df8b2d511eac36be4c711,fa40402fe8d5f4fe00979a4e813958e3b45b3f1a..db8d211a0d05d4f26b8b297ecb82d9a8e0139b04
--- 1/drivers/of/base.c
--- 2/drivers/of/base.c
+++ b/drivers/of/base.c
write_lock_irqsave(&devtree_lock, flags);
np->sibling = np->parent->child;
- np->allnext = allnodes;
+ np->allnext = of_allnodes;
np->parent->child = np;
- allnodes = np;
+ of_allnodes = np;
write_unlock_irqrestore(&devtree_lock, flags);
+
+ of_add_proc_dt_entry(np);
+ return 0;
}
+ #ifdef CONFIG_PROC_DEVICETREE
+ static void of_remove_proc_dt_entry(struct device_node *dn)
+ {
+ struct device_node *parent = dn->parent;
+ struct property *prop = dn->properties;
+
+ while (prop) {
+ remove_proc_entry(prop->name, dn->pde);
+ prop = prop->next;
+ }
+
+ if (dn->pde)
+ remove_proc_entry(dn->pde->name, parent->pde);
+ }
+ #else
+ static void of_remove_proc_dt_entry(struct device_node *dn)
+ {
+ return;
+ }
+ #endif
+
/**
* of_detach_node - "Unplug" a node from the device tree.
*
write_lock_irqsave(&devtree_lock, flags);
+ if (of_node_check_flag(np, OF_DETACHED)) {
+ /* someone already detached it */
+ write_unlock_irqrestore(&devtree_lock, flags);
+ return rc;
+ }
+
parent = np->parent;
- if (!parent)
- goto out_unlock;
+ if (!parent) {
+ write_unlock_irqrestore(&devtree_lock, flags);
+ return rc;
+ }
- if (allnodes == np)
- allnodes = np->allnext;
+ if (of_allnodes == np)
+ of_allnodes = np->allnext;
else {
struct device_node *prev;
- for (prev = allnodes;
+ for (prev = of_allnodes;
prev->allnext != np;
prev = prev->allnext)
;
diff --cc drivers/video/Kconfig
Simple merge
diff --cc include/linux/of.h
Simple merge
diff --cc lib/Kconfig.debug
index e458782f3c52ac69f88d05d10233fd32b330a7fb,c2d89f37004e6840860121b99a300c32b390686f..3a353091a90390f6b95b632408797d14908d57f3
--- 1/lib/Kconfig.debug
--- 2/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
If unsure, say N.
- config PSERIES_RECONFIG_NOTIFIER_ERROR_INJECT
- tristate "pSeries reconfig notifier error injection module"
- depends on PPC_PSERIES && NOTIFIER_ERROR_INJECTION
+ config OF_RECONFIG_NOTIFIER_ERROR_INJECT
+ tristate "OF reconfig notifier error injection module"
+ depends on OF_DYNAMIC && NOTIFIER_ERROR_INJECTION
help
- This option provides the ability to inject artifical errors to
+ This option provides the ability to inject artificial errors to
- pSeries reconfig notifier chain callbacks. It is controlled
+ OF reconfig notifier chain callbacks. It is controlled
through debugfs interface under
- /sys/kernel/debug/notifier-error-inject/pSeries-reconfig/
+ /sys/kernel/debug/notifier-error-inject/OF-reconfig/
If the notifier call chain should be failed with some events
notified, write the error code to "actions/<notifier event>/error".
diff --cc lib/Makefile
Simple merge