* Re: [PATCH 1/3] show_interrupts: use irq_chip::name if available
From: Peter Korsgaard @ 2009-12-09 7:32 UTC (permalink / raw)
To: linuxppc-dev
In-Reply-To: <1259700494-17869-1-git-send-email-jacmet@sunsite.dk>
>>>>> "Peter" == Peter Korsgaard <jacmet@sunsite.dk> writes:
Peter> struct irq_chip::typename is going away (replaced by name). Use name if
Peter> set instead of typename in show_interrupt to make ease transition.
Comments?
Peter> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Peter> ---
Peter> arch/powerpc/kernel/irq.c | 3 ++-
Peter> 1 files changed, 2 insertions(+), 1 deletions(-)
Peter> diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
Peter> index e5d1211..33e1130 100644
Peter> --- a/arch/powerpc/kernel/irq.c
Peter> +++ b/arch/powerpc/kernel/irq.c
Peter> @@ -203,7 +203,8 @@ int show_interrupts(struct seq_file *p, void *v)
Peter> seq_printf(p, "%10u ", kstat_irqs(i));
Peter> #endif /* CONFIG_SMP */
Peter> if (desc->chip)
Peter> - seq_printf(p, " %s ", desc->chip->typename);
Peter> + seq_printf(p, " %s ", desc->chip->name ?
Peter> + desc->chip->name : desc->chip->typename);
Peter> else
Peter> seq_puts(p, " None ");
Peter> seq_printf(p, "%s", (desc->status & IRQ_LEVEL) ? "Level " : "Edge ");
Peter> --
Peter> 1.6.5
--
Bye, Peter Korsgaard
^ permalink raw reply
* "next" branch rebase
From: Benjamin Herrenschmidt @ 2009-12-09 7:15 UTC (permalink / raw)
To: linuxppc-dev
Somewhat accidental... not completely but it shouldn't be a big deal as
I've already pulled gcl and jwb branches. Hopefully Kumar won't be too
badly affected.
The current list of patches in next that I will send to Linus tomorrow
hopefully is:
Albrecht Dreß (5):
powerpc: tiny memcpy_(to|from)io optimisation
mpc5200/gpt: tiny fix for gpt period limitation
mpc52xx/wdt: OF property to enable the WDT on boot
mpc52xx/wdt: merge WDT code into the GPT driver
mpc52xx/wdt: remove obsolete old WDT implementation
Alexander Graf (28):
Move dirty logging code to sub-arch
Pass PVR in sregs
Add Book3s definitions
Add Book3s fields to vcpu structs
Add asm/kvm_book3s.h
Add Book3s_64 intercept helpers
Add book3s_64 highmem asm code
Add SLB switching code for entry/exit
Add interrupt handling code
Add book3s.c
Add book3s_64 Host MMU handling
Add book3s_64 guest MMU
Add book3s_32 guest MMU
Add book3s_64 specific opcode emulation
Add mfdec emulation
Add desktop PowerPC specific emulation
Make head_64.S aware of KVM real mode code
Add Book3s_64 offsets to asm-offsets.c
Export symbols for KVM module
Split init_new_context and destroy_context
Export KVM symbols for module
Add fields to PACA
Export new PACA constants in asm-offsets
Include Book3s_64 target in buildsystem
Fix trace.h
Use Little Endian for Dirty Bitmap
Use hrtimers for the decrementer
powerpc/kvm: Sync guest visible MMU state
Alexey Dobriyan (2):
Convert /proc/device-tree/ to seq_file
powerpc/via-pmu: Convert to proc_fops/seq_file
Amit Shah (1):
hvc_console: Export (GPL'ed) hvc_remove
Anton Blanchard (1):
powerpc: Move ehea hcall definitions into hvcall.h
Anton Vorontsov (20):
powerpc: Make it possible to select hibernation on all PowerPCs
of/platform: Implement support for dev_pm_ops
powerpc/qe: Increase MAX_QE_RISC to 4
powerpc/qe: Add qe_upload_firmware() stub for non-QE builds
powerpc/qe: Make qe_reset() code path safe for repeated invocation
powerpc/qe: QE also shuts down on MPC8568
powerpc/cpm: Remove SPI defines and spi structs
powerpc/qe&cpm2: Avoid redefinitions in CPM2 and QE headers
powerpc/cpm: Move CPMFCR_* defines into cpm.h
powerpc/qe&cpm: Implement static inline stubs for non-QE/CPM builds
spi_mpc8xxx: Fix uninitialized variable
spi_mpc8xxx: Factor out SPI mode change steps into a call
spi_mpc8xxx: Turn qe_mode into flags
spi_mpc8xxx: Add support for QE DMA mode and CPM1/CPM2 chips
powerpc/qe: Implement QE driver for handling resume on MPC85xx
powerpc/85xx/86xx: Add suspend/resume support
powerpc/85xx: Add power management support for MPC85xxMDS boards
powerpc/86xx: Add power management support for MPC8610HPCD boards
powerpc/83xx: Add power management support for MPC83xx QE boards
powerpc/fsl: Make fsl_deep_sleep() usable w/ modules and non-83xx builds
Arnd Bergmann (1):
powerpc: Fix wrong error code from ppc32 select syscall
Becky Bruce (1):
powerpc: Fix DEBUG_HIGHMEM build break from d4515646699
Benjamin Herrenschmidt (14):
powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink
powerpc/chrp: Use the same RTAS daemon as pSeries
powerpc/8xx: Fix build breakage with sparse irq changes
powerpc/kvm: Remove problematic BUILD_BUG_ON statement
powerpc/kvm: Fix non-modular build
powerpc: kill the obsolete code under is_global_init()
powerpc: Fix build of some FSL platforms
Revert "powerpc/mm: Fix bug in pagetable cache cleanup with CONFIG_PPC_SUBPAGE_PROT"
powerpc/macio: Add devres support to macio_device
powerpc/macio: Add dma_parms support to macio
powerpc/macio: Rework hotplug media bay support
libata/sff: Use ops->bmdma_stop instead of ata_bmdma_stop()
libata/drivers: Add driver for Apple "MacIO" IDE controller
powerpc: Fix usage of 64-bit instruction in 32-bit altivec code
Bolko Maass (1):
powerpc/windfarm: Add detection for second cpu pump
Brian King (1):
powerpc: Add kdump support to Collaborative Memory Manager
Curtis Wald (1):
powerpc/44x: Fix PCI node in Yosemite DTS
Darrick J. Wong (1):
powerpc/therm_adt746x: Record pwm invert bit at module load time]
Dave Airlie (1):
offb: Add support for framebuffer handoff to offb.
Dave Mitchell (1):
powerpc/4xx: Add 16K FIFO size DTS entries on supported platforms
David Gibson (9):
powerpc/mm: Make hpte_need_flush() correctly mask for multiple page sizes
powerpc/mm: Cleanup management of kmem_caches for pagetables
powerpc/mm: Allow more flexible layouts for hugepage pagetables
powerpc/mm: Cleanup initialization of hugepages on powerpc
powerpc/mm: Split hash MMU specific hugepage code into a new file
powerpc/mm: Bring hugepage PTE accessor functions back into sync with normal accessors
powerpc/mm: Fix bug in pagetable cache cleanup with CONFIG_PPC_SUBPAGE_PROT
powerpc/mm: Fix bug in gup_hugepd()
powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT
FUJITA Tomonori (1):
powerpc: Kill unused swiotlb variable
Gautham R Shenoy (4):
powerpc/pseries: Add extended_cede_processor() helper function.
powerpc/pseries: Add hooks to put the CPU into an appropriate offline state
pseries/pseries: Add code to online/offline CPUs of a DLPAR node
powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate
Grant Likely (4):
spi/mpc5200: Register SPI devices described in device tree
powerpc/5200: Add mpc5200-spi (non-PSC) device driver
powerpc/5200: add general purpose timer API for the MPC5200
mmc: fix missing module license declaration in of_mmc_spi.c
Jean Delvare (1):
powerpc/therm_adt746x: Don't access non-existing register
Joakim Tjernlund (9):
powerpc/8xx: Invalidate non present TLBs
powerpc/8xx: Update TLB asm so it behaves as linux mm expects.
powerpc/8xx: Tag DAR with 0x00f0 to catch buggy instructions.
powerpc/8xx: Fixup DAR from buggy dcbX instructions.
powerpc/8xx: Add missing Guarded setting in DTLB Error.
powerpc/8xx: Restore _PAGE_WRITETHRU
powerpc/8xx: Start using dcbX instructions in various copy routines
powerpc/8xx: Remove DIRTY pte handling in DTLB Error.
powerpc/8xx: DTLB Miss cleanup
Joe Perches (1):
MAINTAINERS: Add PowerPC patterns
John Bonesio (1):
powerpc/5200: add LocalPlus bus FIFO device driver
John Linn (1):
Xilinx: SPI: Fix bits_per_word for transfers
Kumar Gala (4):
powerpc/85xx: Kconfig cleanup
powerpc/fsl-booke: Rework TLB CAM code
powerpc/fsl: Add PCI device ids for new QoirQ chips
powerpc/p4080: Add basic support for p4080ds platform
Mark Nelson (1):
powerpc/pseries: Track previous CPPR values to correctly EOI interrupts
Martyn Welch (3):
powerpc/86xx: Enable NVRAM on GE Fanuc's SBC610
powerpc/86xx: Support for NVRAM on GE Fanuc's SBC310
powerpc/86xx: Support for NVRAM on GE Fanuc's PPC9A
Michael Ellerman (7):
powerpc/ps3: Use pr_devel() in ps3/mm.c
powerpc: Make NR_IRQS a CONFIG option
powerpc/pseries: Use irq_has_action() in eeh_disable_irq()
powerpc: Remove get_irq_desc()
powerpc: Make virq_debug_show() cope with sparse irq_descs
powerpc: Rearrange and fix show_interrupts() for sparse irq_descs
powerpc: Enable sparse irq_descs on powerpc
Michael Neuling (1):
powerpc: Fix potential compile error irqs_disabled_flags
Michal Simek (1):
powerpc/of_serial: Add missing ns16550a id
Michel Dänzer (2):
agp/uninorth: Also handle user memory types in u3_remove_memory().
agp/uninorth: Unify U3 and pre-U3 insert_memory and remove_memory hooks.
Nathan Fontenot (4):
powerpc/pseries: Kernel DLPAR Infrastructure
sysfs/cpu: Add probe/release files
powerpc/pseries: Add kernel based CPU DLPAR handling
powerpc/pseries: Correct pseries/dlpar.c build break without CONFIG_SMP
Olof Johansson (1):
powerpc: pasemi_defconfig update
Poonam Aggrwal (2):
powerpc/85xx: Create dts for each core in CAMP mode for P2020RDB
powerpc/85xx: Added P1020RDB Platform support.
Roman Fietze (1):
powerpc: Make "intspec" pointers in irq_host->xlate() const
Stefan Roese (1):
powerpc/44x: Enable 64bit (>= 4GB) memory size in Katmai dts
Stephen Rothwell (1):
powerpc: do not export pci_alloc/free_consistent
Thomas Gleixner (7):
powerpc/nvram_64: Remove unused code
powerpc/nvram_64: Check nvram_error_log_index in nvram_clear_error_log()
powerpc/nvram_64: Mark init code __init
powerpc: Use unlocked ioctl in nvram_64
macintosh: Remove BKL from nvram driver
powerpc: Replace old style lock initializer
powerpc: Fixup last users of irq_chip->typename
Valentine Barshak (1):
powerpc: stop_this_cpu: remove the cpu from the online map.
Wolfram Sang (2):
spi/mpc52xx-psc-spi: check for valid PSC
spi/mpc52xx: replace printk with dev_err
pbathija@amcc.com (1):
powerpc/44x: Fix DMA ranges in DTS file for Katmai board.
roel kluin (1):
powerpc/spufs: Fix test in spufs_switch_log_read()
Documentation/ABI/testing/sysfs-devices-system-cpu | 15
Documentation/cpu-hotplug.txt | 6
Documentation/powerpc/dts-bindings/fsl/board.txt | 4
Documentation/powerpc/dts-bindings/fsl/mpc5200.txt | 17
MAINTAINERS | 15
arch/powerpc/Kconfig | 49 +
arch/powerpc/boot/dts/canyonlands.dts | 2
arch/powerpc/boot/dts/eiger.dts | 6
arch/powerpc/boot/dts/gef_ppc9a.dts | 6
arch/powerpc/boot/dts/gef_sbc310.dts | 6
arch/powerpc/boot/dts/gef_sbc610.dts | 6
arch/powerpc/boot/dts/glacier.dts | 6
arch/powerpc/boot/dts/haleakala.dts | 2
arch/powerpc/boot/dts/katmai.dts | 36 -
arch/powerpc/boot/dts/kilauea.dts | 4
arch/powerpc/boot/dts/kmeter1.dts | 7
arch/powerpc/boot/dts/makalu.dts | 4
arch/powerpc/boot/dts/mpc832x_mds.dts | 9
arch/powerpc/boot/dts/mpc832x_rdb.dts | 9
arch/powerpc/boot/dts/mpc836x_mds.dts | 9
arch/powerpc/boot/dts/mpc836x_rdk.dts | 9
arch/powerpc/boot/dts/mpc8568mds.dts | 119 +-
arch/powerpc/boot/dts/mpc8569mds.dts | 111 +-
arch/powerpc/boot/dts/mpc8610_hpcd.dts | 26
arch/powerpc/boot/dts/p1020rdb.dts | 477 +++++++
arch/powerpc/boot/dts/p2020rdb_camp_core0.dts | 363 +++++
arch/powerpc/boot/dts/p2020rdb_camp_core1.dts | 184 +++
arch/powerpc/boot/dts/p4080ds.dts | 554 ++++++++
arch/powerpc/boot/dts/redwood.dts | 1
arch/powerpc/boot/dts/yosemite.dts | 14
arch/powerpc/configs/86xx/gef_ppc9a_defconfig | 2
arch/powerpc/configs/86xx/gef_sbc310_defconfig | 2
arch/powerpc/configs/86xx/gef_sbc610_defconfig | 4
arch/powerpc/include/asm/cpm.h | 82 +
arch/powerpc/include/asm/cpm1.h | 45 -
arch/powerpc/include/asm/cpm2.h | 47 -
arch/powerpc/include/asm/exception-64s.h | 2
arch/powerpc/include/asm/hugetlb.h | 27
arch/powerpc/include/asm/hvcall.h | 13
arch/powerpc/include/asm/hw_irq.h | 5
arch/powerpc/include/asm/immap_cpm2.h | 2
arch/powerpc/include/asm/immap_qe.h | 8
arch/powerpc/include/asm/irq.h | 13
arch/powerpc/include/asm/kvm.h | 18
arch/powerpc/include/asm/kvm_asm.h | 40 +
arch/powerpc/include/asm/kvm_book3s.h | 139 ++
arch/powerpc/include/asm/kvm_book3s_64_asm.h | 58 +
arch/powerpc/include/asm/kvm_host.h | 79 +
arch/powerpc/include/asm/kvm_ppc.h | 1
arch/powerpc/include/asm/lppaca.h | 9
arch/powerpc/include/asm/machdep.h | 5
arch/powerpc/include/asm/macio.h | 6
arch/powerpc/include/asm/mediabay.h | 27
arch/powerpc/include/asm/mmu-hash64.h | 50 +
arch/powerpc/include/asm/mmu_context.h | 2
arch/powerpc/include/asm/mpc52xx.h | 47 +
arch/powerpc/include/asm/nvram.h | 1
arch/powerpc/include/asm/pSeries_reconfig.h | 1
arch/powerpc/include/asm/paca.h | 9
arch/powerpc/include/asm/page.h | 14
arch/powerpc/include/asm/page_64.h | 2
arch/powerpc/include/asm/pgalloc-32.h | 10
arch/powerpc/include/asm/pgalloc-64.h | 63 -
arch/powerpc/include/asm/pgalloc.h | 30
arch/powerpc/include/asm/pgtable-ppc64.h | 14
arch/powerpc/include/asm/pgtable.h | 3
arch/powerpc/include/asm/pte-8xx.h | 14
arch/powerpc/include/asm/pte-hash64-64k.h | 37 -
arch/powerpc/include/asm/qe.h | 43 +
arch/powerpc/include/asm/systbl.h | 2
arch/powerpc/kernel/Makefile | 3
arch/powerpc/kernel/asm-offsets.c | 21
arch/powerpc/kernel/crash.c | 2
arch/powerpc/kernel/dma-swiotlb.c | 1
arch/powerpc/kernel/exceptions-64s.S | 8
arch/powerpc/kernel/head_64.S | 7
arch/powerpc/kernel/head_8xx.S | 313 +++-
arch/powerpc/kernel/head_fsl_booke.S | 22
arch/powerpc/kernel/io.c | 4
arch/powerpc/kernel/irq.c | 137 +-
arch/powerpc/kernel/lparcfg.c | 4
arch/powerpc/kernel/misc_32.S | 18
arch/powerpc/kernel/nvram_64.c | 56 -
arch/powerpc/kernel/perf_callchain.c | 20
arch/powerpc/kernel/ppc_ksyms.c | 3
arch/powerpc/kernel/proc_powerpc.c | 102 +
arch/powerpc/kernel/rtas_flash.c | 10
arch/powerpc/kernel/rtasd.c | 48 -
arch/powerpc/kernel/setup_64.c | 5
arch/powerpc/kernel/smp.c | 3
arch/powerpc/kernel/sysfs.c | 19
arch/powerpc/kernel/time.c | 1
arch/powerpc/kernel/traps.c | 22
arch/powerpc/kernel/vector.S | 2
arch/powerpc/kvm/Kconfig | 17
arch/powerpc/kvm/Makefile | 27
arch/powerpc/kvm/book3s.c | 974 ++++++++++++++
arch/powerpc/kvm/book3s_32_mmu.c | 372 +++++
arch/powerpc/kvm/book3s_64_emulate.c | 345 +++++
arch/powerpc/kvm/book3s_64_exports.c | 24
arch/powerpc/kvm/book3s_64_interrupts.S | 392 +++++
arch/powerpc/kvm/book3s_64_mmu.c | 478 +++++++
arch/powerpc/kvm/book3s_64_mmu_host.c | 408 ++++++
arch/powerpc/kvm/book3s_64_rmhandlers.S | 131 ++
arch/powerpc/kvm/book3s_64_slb.S | 262 ++++
arch/powerpc/kvm/booke.c | 5
arch/powerpc/kvm/emulate.c | 66 +
arch/powerpc/kvm/powerpc.c | 28
arch/powerpc/kvm/timing.c | 1
arch/powerpc/kvm/trace.h | 6
arch/powerpc/lib/copy_32.S | 24
arch/powerpc/mm/Makefile | 5
arch/powerpc/mm/fault.c | 8
arch/powerpc/mm/fsl_booke_mmu.c | 132 +-
arch/powerpc/mm/gup.c | 149 --
arch/powerpc/mm/hash_utils_64.c | 46 -
arch/powerpc/mm/hugetlbpage-hash64.c | 139 ++
arch/powerpc/mm/hugetlbpage.c | 792 ++++-------
arch/powerpc/mm/init_64.c | 76 +
arch/powerpc/mm/mem.c | 17
arch/powerpc/mm/mmu_context_hash64.c | 26
arch/powerpc/mm/mmu_decl.h | 11
arch/powerpc/mm/pgtable.c | 25
arch/powerpc/mm/subpage-prot.c | 15
arch/powerpc/mm/tlb_hash64.c | 8
arch/powerpc/platforms/512x/mpc5121_ads_cpld.c | 4
arch/powerpc/platforms/52xx/Kconfig | 5
arch/powerpc/platforms/52xx/Makefile | 1
arch/powerpc/platforms/52xx/media5200.c | 6
arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 432 ++++++
arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c | 560 ++++++++
arch/powerpc/platforms/52xx/mpc52xx_pic.c | 10
arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 3
arch/powerpc/platforms/83xx/mpc832x_rdb.c | 2
arch/powerpc/platforms/83xx/suspend.c | 1
arch/powerpc/platforms/85xx/Kconfig | 23
arch/powerpc/platforms/85xx/Makefile | 1
arch/powerpc/platforms/85xx/corenet_ds.c | 125 ++
arch/powerpc/platforms/85xx/corenet_ds.h | 19
arch/powerpc/platforms/85xx/mpc85xx_mds.c | 1
arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 34
arch/powerpc/platforms/85xx/p4080_ds.c | 74 +
arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 6
arch/powerpc/platforms/86xx/Kconfig | 3
arch/powerpc/platforms/86xx/gef_pic.c | 6
arch/powerpc/platforms/86xx/gef_ppc9a.c | 5
arch/powerpc/platforms/86xx/gef_sbc310.c | 5
arch/powerpc/platforms/86xx/gef_sbc610.c | 5
arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 48 +
arch/powerpc/platforms/8xx/m8xx_setup.c | 2
arch/powerpc/platforms/Kconfig | 9
arch/powerpc/platforms/Kconfig.cputype | 17
arch/powerpc/platforms/Makefile | 2
arch/powerpc/platforms/cell/axon_msi.c | 2
arch/powerpc/platforms/cell/beat_interrupt.c | 8
arch/powerpc/platforms/cell/interrupt.c | 6
arch/powerpc/platforms/cell/spider-pic.c | 8
arch/powerpc/platforms/cell/spufs/file.c | 2
arch/powerpc/platforms/chrp/Kconfig | 2
arch/powerpc/platforms/chrp/setup.c | 50 -
arch/powerpc/platforms/iseries/htab.c | 8
arch/powerpc/platforms/iseries/irq.c | 4
arch/powerpc/platforms/powermac/pic.c | 12
arch/powerpc/platforms/ps3/interrupt.c | 2
arch/powerpc/platforms/ps3/mm.c | 2
arch/powerpc/platforms/pseries/Kconfig | 3
arch/powerpc/platforms/pseries/Makefile | 4
arch/powerpc/platforms/pseries/cmm.c | 29
arch/powerpc/platforms/pseries/dlpar.c | 558 ++++++++
arch/powerpc/platforms/pseries/eeh_driver.c | 18
arch/powerpc/platforms/pseries/hotplug-cpu.c | 182 ++-
arch/powerpc/platforms/pseries/offline_states.h | 18
arch/powerpc/platforms/pseries/plpar_wrappers.h | 22
arch/powerpc/platforms/pseries/reconfig.c | 8
arch/powerpc/platforms/pseries/scanlog.c | 4
arch/powerpc/platforms/pseries/smp.c | 19
arch/powerpc/platforms/pseries/xics.c | 70 +
arch/powerpc/sysdev/Makefile | 1
arch/powerpc/sysdev/cpm1.c | 4
arch/powerpc/sysdev/cpm2_pic.c | 14
arch/powerpc/sysdev/cpm_common.c | 5
arch/powerpc/sysdev/fsl_msi.c | 4
arch/powerpc/sysdev/fsl_pci.c | 18
arch/powerpc/sysdev/fsl_pmc.c | 88 +
arch/powerpc/sysdev/fsl_soc.c | 2
arch/powerpc/sysdev/i8259.c | 8
arch/powerpc/sysdev/ipic.c | 8
arch/powerpc/sysdev/mpc8xx_pic.c | 6
arch/powerpc/sysdev/mpic.c | 26
arch/powerpc/sysdev/mpic_pasemi_msi.c | 2
arch/powerpc/sysdev/mpic_u3msi.c | 2
arch/powerpc/sysdev/mv64x60_pic.c | 2
arch/powerpc/sysdev/qe_lib/qe.c | 61 +
arch/powerpc/sysdev/qe_lib/qe_ic.c | 8
arch/powerpc/sysdev/tsi108_pci.c | 6
arch/powerpc/sysdev/uic.c | 10
arch/powerpc/sysdev/xilinx_intc.c | 8
arch/powerpc/xmon/xmon.c | 3
drivers/ata/Kconfig | 10
drivers/ata/Makefile | 1
drivers/ata/pata_macio.c | 1427 ++++++++++++++++++++
drivers/base/cpu.c | 34
drivers/block/swim3.c | 39 -
drivers/char/agp/uninorth-agp.c | 77 -
drivers/char/hvc_console.c | 1
drivers/ide/pmac.c | 92 +
drivers/macintosh/macio_asic.c | 52 +
drivers/macintosh/mediabay.c | 328 ++---
drivers/macintosh/nvram.c | 11
drivers/macintosh/therm_adt746x.c | 15
drivers/macintosh/via-pmu.c | 160 +-
drivers/macintosh/windfarm_smu_controls.c | 2
drivers/mmc/host/of_mmc_spi.c | 2
drivers/net/ehea/ehea_hcall.h | 51 -
drivers/net/ehea/ehea_phyp.h | 1
drivers/of/platform.c | 305 ++++
drivers/spi/Kconfig | 11
drivers/spi/Makefile | 1
drivers/spi/mpc52xx_psc_spi.c | 25
drivers/spi/mpc52xx_spi.c | 520 +++++++
drivers/spi/spi_mpc8xxx.c | 618 ++++++++-
drivers/spi/xilinx_spi.c | 3
drivers/usb/gadget/fsl_qe_udc.h | 15
drivers/video/offb.c | 15
drivers/watchdog/Kconfig | 4
drivers/watchdog/Makefile | 1
drivers/watchdog/mpc5200_wdt.c | 293 ----
fs/proc/proc_devtree.c | 41 -
include/linux/cpu.h | 15
include/linux/fsl_devices.h | 11
include/linux/kvm.h | 1
include/linux/pci_ids.h | 14
include/linux/spi/mpc52xx_spi.h | 10
virt/kvm/kvm_main.c | 5
234 files changed, 13126 insertions(+), 2713 deletions(-)
create mode 100644 arch/powerpc/boot/dts/p1020rdb.dts
create mode 100644 arch/powerpc/boot/dts/p2020rdb_camp_core0.dts
create mode 100644 arch/powerpc/boot/dts/p2020rdb_camp_core1.dts
create mode 100644 arch/powerpc/boot/dts/p4080ds.dts
create mode 100644 arch/powerpc/include/asm/kvm_book3s.h
create mode 100644 arch/powerpc/include/asm/kvm_book3s_64_asm.h
rename arch/powerpc/kernel/{proc_ppc64.c => proc_powerpc.c} (87%)
rename arch/powerpc/{platforms/pseries/rtasd.c => kernel/rtasd.c} (95%)
create mode 100644 arch/powerpc/kvm/book3s.c
create mode 100644 arch/powerpc/kvm/book3s_32_mmu.c
create mode 100644 arch/powerpc/kvm/book3s_64_emulate.c
create mode 100644 arch/powerpc/kvm/book3s_64_exports.c
create mode 100644 arch/powerpc/kvm/book3s_64_interrupts.S
create mode 100644 arch/powerpc/kvm/book3s_64_mmu.c
create mode 100644 arch/powerpc/kvm/book3s_64_mmu_host.c
create mode 100644 arch/powerpc/kvm/book3s_64_rmhandlers.S
create mode 100644 arch/powerpc/kvm/book3s_64_slb.S
create mode 100644 arch/powerpc/mm/hugetlbpage-hash64.c
create mode 100644 arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
create mode 100644 arch/powerpc/platforms/85xx/corenet_ds.c
create mode 100644 arch/powerpc/platforms/85xx/corenet_ds.h
create mode 100644 arch/powerpc/platforms/85xx/p4080_ds.c
create mode 100644 arch/powerpc/platforms/pseries/dlpar.c
create mode 100644 arch/powerpc/platforms/pseries/offline_states.h
create mode 100644 arch/powerpc/sysdev/fsl_pmc.c
create mode 100644 drivers/ata/pata_macio.c
delete mode 100644 drivers/net/ehea/ehea_hcall.h
create mode 100644 drivers/spi/mpc52xx_spi.c
delete mode 100644 drivers/watchdog/mpc5200_wdt.c
create mode 100644 include/linux/spi/mpc52xx_spi.h
^ permalink raw reply
* Re: Badness at arch/powerpc/mm/pgtable.c:286
From: Benjamin Herrenschmidt @ 2009-12-09 7:08 UTC (permalink / raw)
To: kordex -; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <8b8dd87a0912080914h3d71ea6x3052582b662d5f73@mail.gmail.com>
On Tue, 2009-12-08 at 19:14 +0200, kordex - wrote:
> Hello,
>
> I turned some debuging options in order to trace rcutree problems but
> after turning debugging on it began just to loop on this:
>
> http://xnet.fi/opt/pics/pgtable_badness.jpg
> 1.5M pgtable_badness.jpg
>
> I am sorry that I could not produce full dmesg.
>
> Kernel config: http://xnet.fi/opt/apps/lkml-2.6.32-vanilla.debug.config.txt
Thanks for your report.
Does that patch fixes it ?
powerpc/mm: Fix a WARN_ON() with CONFIG_DEBUG_PAGEALLOC and CONFIG_DEBUG_VM
Set need to call __set_pte_at() and not set_pte_at() from __change_page_attr()
since the later will perform checks with CONFIG_DEBUG_VM that aren't suitable
to the way we override an existing PTE. (More specifically, it doesn't let
you write over a present PTE).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
Index: linux-work/arch/powerpc/mm/pgtable_32.c
===================================================================
--- linux-work.orig/arch/powerpc/mm/pgtable_32.c 2009-12-09 18:06:14.000000000 +1100
+++ linux-work/arch/powerpc/mm/pgtable_32.c 2009-12-09 18:06:16.000000000 +1100
@@ -356,7 +356,7 @@ static int __change_page_attr(struct pag
return 0;
if (!get_pteptr(&init_mm, address, &kpte, &kpmd))
return -EINVAL;
- set_pte_at(&init_mm, address, kpte, mk_pte(page, prot));
+ __set_pte_at(&init_mm, address, kpte, mk_pte(page, prot));
wmb();
#ifdef CONFIG_PPC_STD_MMU
flush_hash_pages(0, address, pmd_val(*kpmd), 1);
^ permalink raw reply
* gianfar breaking builds
From: Benjamin Herrenschmidt @ 2009-12-09 6:56 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev
In my next (not pushed out yet as I'm writing this but will be by the
time you read it hopefully), I get a build failure:
/home/benh/linux-powerpc-test/drivers/net/gianfar.c: In function ‘gfar_netpoll’:
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2653: error: invalid storage class for function ‘gfar_interrupt’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2652: warning: ISO C90 forbids mixed declarations and code
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2681: error: invalid storage class for function ‘adjust_link’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2764: error: invalid storage class for function ‘gfar_set_multi’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2855: error: invalid storage class for function ‘gfar_clear_exact_match’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2877: error: invalid storage class for function ‘gfar_set_hash_for_addr’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2898: error: invalid storage class for function ‘gfar_set_mac_for_addr’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:2922: error: invalid storage class for function ‘gfar_error’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3017: warning: ‘alias’ attribute ignored
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3032: error: invalid storage class for function ‘gfar_init’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3037: error: invalid storage class for function ‘gfar_exit’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3041: error: invalid storage class for function ‘__inittest’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3041: warning: ‘alias’ attribute ignored
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3042: error: invalid storage class for function ‘__exittest’
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3042: warning: ISO C90 forbids mixed declarations and code
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3042: warning: ‘alias’ attribute ignored
/home/benh/linux-powerpc-test/drivers/net/gianfar.c:3042: error: expected declaration or statement at end of input
make[3]: *** [drivers/net/gianfar.o] Error 1
Stephen says that breakage has been in -next for some time...
Can you guys sort it out ?
Cheers,
Ben.
^ permalink raw reply
* [PATCH] cardbus: Add a fixup hook and fix powerpc
From: Benjamin Herrenschmidt @ 2009-12-09 6:52 UTC (permalink / raw)
To: linux-pci
Cc: Olof Johansson, blofeldus, linuxppc-dev,
linux-kernel@vger.kernel.org, Jesse Barnes
The cardbus code creates PCI devices without ever going through the
necessary fixup bits and pieces that normal PCI devices go through.
There's in fact a commented out call to pcibios_fixup_bus() in there,
it's commented because ... it doesn't work.
I could make pcibios_fixup_bus() do the right thing on powerpc easily
but I felt it cleaner instead to provide a specific hook pci_fixup_cardbus
for which a weak empty implementation is provided by the PCI core.
This fixes cardbus on powerbooks and probably all other PowerPC
platforms which was broken completely for ever on some platforms and
since 2.6.31 on others such as PowerBooks when we made the DMA ops
mandatory (since those are setup by the fixups).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
Note: In the long run we might want to streamline the hooks for fixing
up new devices vs. new busses and make some stuff common between cardbus
and PCI hotplug which is actually a mess.
This is a quick fix that makes it work again in the meantime, and that
I would like to see in 2.6.31 and 2.6.32 stable at least.
Another option if you prefer is I can make my pcibios_fixup_bus() do the
right thing in all cases I believe (by testing bus->is_added to skip
stuff that must not be done twice) and we can remove the comment and
stick the call in #ifdef CONFIG_PPC but I felt that solution was a tad
cleaner.
Olof, once that's in you should be able to remove the hack you have in
the PA-Semi code to work around this.
Cheers,
Ben.
Index: linux-work/drivers/pcmcia/cardbus.c
===================================================================
--- linux-work.orig/drivers/pcmcia/cardbus.c 2009-12-09 17:16:10.000000000 +1100
+++ linux-work/drivers/pcmcia/cardbus.c 2009-12-09 17:34:58.000000000 +1100
@@ -214,7 +214,7 @@ int __ref cb_alloc(struct pcmcia_socket
unsigned int max, pass;
s->functions = pci_scan_slot(bus, PCI_DEVFN(0, 0));
-// pcibios_fixup_bus(bus);
+ pci_fixup_cardbus(bus);
max = bus->secondary;
for (pass = 0; pass < 2; pass++)
Index: linux-work/include/linux/pci.h
===================================================================
--- linux-work.orig/include/linux/pci.h 2009-12-09 17:16:10.000000000 +1100
+++ linux-work/include/linux/pci.h 2009-12-09 17:34:47.000000000 +1100
@@ -564,6 +564,9 @@ void pcibios_align_resource(void *, stru
resource_size_t);
void pcibios_update_irq(struct pci_dev *, int irq);
+/* Weak but can be overriden by arch */
+void pci_fixup_cardbus(struct pci_bus *);
+
/* Generic PCI functions used internally */
extern struct pci_bus *pci_find_bus(int domain, int busnr);
Index: linux-work/arch/powerpc/kernel/pci-common.c
===================================================================
--- linux-work.orig/arch/powerpc/kernel/pci-common.c 2009-12-09 17:16:10.000000000 +1100
+++ linux-work/arch/powerpc/kernel/pci-common.c 2009-12-09 17:35:19.000000000 +1100
@@ -1107,6 +1107,12 @@ void __devinit pcibios_setup_bus_devices
list_for_each_entry(dev, &bus->devices, bus_list) {
struct dev_archdata *sd = &dev->dev.archdata;
+ /* Cardbus can call us to add new devices to a bus, so ignore
+ * those who are already fully discovered
+ */
+ if (dev->is_added)
+ continue;
+
/* Setup OF node pointer in archdata */
sd->of_node = pci_device_to_OF_node(dev);
@@ -1147,6 +1153,13 @@ void __devinit pcibios_fixup_bus(struct
}
EXPORT_SYMBOL(pcibios_fixup_bus);
+void __devinit pci_fixup_cardbus(struct pci_bus *bus)
+{
+ /* Now fixup devices on that bus */
+ pcibios_setup_bus_devices(bus);
+}
+
+
static int skip_isa_ioresource_align(struct pci_dev *dev)
{
if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) &&
Index: linux-work/drivers/pci/pci.c
===================================================================
--- linux-work.orig/drivers/pci/pci.c 2009-12-09 17:33:24.000000000 +1100
+++ linux-work/drivers/pci/pci.c 2009-12-09 17:34:16.000000000 +1100
@@ -2723,6 +2723,11 @@ int __attribute__ ((weak)) pci_ext_cfg_a
return 1;
}
+void __weak pci_fixup_cardbus(struct pci_bus *bus)
+{
+}
+EXPORT_SYMBOL(pci_fixup_cardbus);
+
static int __init pci_setup(char *str)
{
while (str) {
^ permalink raw reply
* powerpc/pmac: Fixup regression in probe with no media bay
From: Benjamin Herrenschmidt @ 2009-12-09 6:05 UTC (permalink / raw)
To: linuxppc-dev
A little thinko in my media bay rework breaks the old IDE driver on machines
with no bay. This fixes it.
Note: I haven't pushed my new -next out yet with my rework in, so I'll locally
fold that patch in the rework to avoid bisection breakage and push the result
into my -next branch
Ben.
Index: linux-work/drivers/ide/pmac.c
===================================================================
--- linux-work.orig/drivers/ide/pmac.c 2009-12-09 16:55:59.000000000 +1100
+++ linux-work/drivers/ide/pmac.c 2009-12-09 16:56:27.000000000 +1100
@@ -1078,7 +1078,8 @@ static int __devinit pmac_ide_setup_devi
sanitize_timings(pmif);
/* If we are on a media bay, wait for it to settle and lock it */
- lock_media_bay(pmif->mdev->media_bay);
+ if (pmif->mdev)
+ lock_media_bay(pmif->mdev->media_bay);
host = ide_host_alloc(&d, hws, 1);
if (host == NULL) {
@@ -1115,7 +1116,8 @@ static int __devinit pmac_ide_setup_devi
if (rc)
pmif->hwif = NULL;
- unlock_media_bay(pmif->mdev->media_bay);
+ if (pmif->mdev)
+ unlock_media_bay(pmif->mdev->media_bay);
bail:
if (rc && host)
^ permalink raw reply
* Re: [PATCH/REPOST] net/mpc5200: Fix locking on fec_mpc52xx driver
From: Grant Likely @ 2009-12-09 5:16 UTC (permalink / raw)
To: David Miller; +Cc: a.llano, netdev, linuxppc-dev
In-Reply-To: <20091208.202838.78052287.davem@davemloft.net>
On Tue, Dec 8, 2009 at 9:28 PM, David Miller <davem@davemloft.net> wrote:
> From: Grant Likely <grant.likely@secretlab.ca>
> Date: Fri, 04 Dec 2009 21:33:13 -0700
>
>> Fix the locking scheme on the fec_mpc52xx driver. =A0This device can
>> receive IRQs from three sources; the FEC itself, the tx DMA, and the
>> rx DMA. =A0Mutual exclusion was handled by taking a spin_lock() in the
>> critical regions, but because the handlers are run with IRQs enabled,
>> spin_lock() is insufficient and the driver can end up interrupting
>> a critical region anyway from another IRQ.
>>
>> Asier Llano discovered that this occurs when an error IRQ is raised
>> in the middle of handling rx irqs which resulted in an sk_buff memory
>> leak.
>
> I'll apply this fix.
Thanks.
> But, longer term, it's a thousand times easier and more efficient to
> move the processing of these interrupts into softirq context.
I agree. Just need to find someone to do it.
g.
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply
* [PATCH] powerpc: Increase warp SD buffer
From: Sean MacLennan @ 2009-12-09 5:04 UTC (permalink / raw)
To: linuxppc-dev, Josh Boyer
Newer revs of the FPGA have a larger SD buffer.
Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
---
diff --git a/arch/powerpc/boot/dts/warp.dts b/arch/powerpc/boot/dts/warp.dts
index 31605ee..e576ee8 100644
--- a/arch/powerpc/boot/dts/warp.dts
+++ b/arch/powerpc/boot/dts/warp.dts
@@ -146,7 +146,7 @@
fpga@2,4000 {
compatible = "pika,fpga-sd";
- reg = <0x00000002 0x00004000 0x00000A00>;
+ reg = <0x00000002 0x00004000 0x00004000>;
};
nor@0,0 {
^ permalink raw reply related
* powerpc: Fix usage of 64-bit instruction in 32-bit altivec code
From: Benjamin Herrenschmidt @ 2009-12-09 4:45 UTC (permalink / raw)
To: linuxppc-dev
e821ea70f3b4873b50056a1e0f74befed1014c09 introduced a bug by copying
some 64-bit originated code as-is to be used by both 32 and 64-bit
but this code contains a 64-bit ony "cmpdi" instruction.
This changes it to cmpwi, which is fine since VRSAVE can only contains
a 32-bit value anyway.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: <stable@kernel.org>
---
I'm adding that to -next now so it goes into stable shortly after
I push to Linus, hopefully tomorrow
Index: linux-work/arch/powerpc/kernel/vector.S
===================================================================
--- linux-work.orig/arch/powerpc/kernel/vector.S 2009-12-09 15:39:55.000000000 +1100
+++ linux-work/arch/powerpc/kernel/vector.S 2009-12-09 15:39:58.000000000 +1100
@@ -58,7 +58,7 @@ _GLOBAL(load_up_altivec)
* all 1's
*/
mfspr r4,SPRN_VRSAVE
- cmpdi 0,r4,0
+ cmpwi 0,r4,0
bne+ 1f
li r4,-1
mtspr SPRN_VRSAVE,r4
^ permalink raw reply
* Re: 2.6.33 -next tree
From: Benjamin Herrenschmidt @ 2009-12-09 4:29 UTC (permalink / raw)
To: Olof Johansson
Cc: linuxppc-dev, Andrew Morton, David Brownell, Stephen Rothwell
In-Reply-To: <20091209042514.GA7837@lixom.net>
On Tue, 2009-12-08 at 22:25 -0600, Olof Johansson wrote:
> On Tue, Dec 08, 2009 at 02:45:05PM -0800, Andrew Morton wrote:
> > On Wed, 09 Dec 2009 09:29:43 +1100
> > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> >
> > > On Tue, 2009-12-08 at 14:33 -0700, Grant Likely wrote:
> > > > This tree has also been in linux-next for a while now, so it should be
> > > > a safe pull.
> > >
> > > I'll pull it, I'll pull it, stop nagging :-)
> > >
> >
> > ooh, does nagging work?
> >
> > <writes that down somewhere>
>
> Remains to be seen. He hasn't actually pulled it yet, has he? :)
Well, actually I have ... but I haven't pushed the result out yet :-)
Cheers,
Ben.
^ permalink raw reply
* Re: [PATCH/REPOST] net/mpc5200: Fix locking on fec_mpc52xx driver
From: David Miller @ 2009-12-09 4:28 UTC (permalink / raw)
To: grant.likely; +Cc: a.llano, netdev, linuxppc-dev
In-Reply-To: <20091205043015.28041.19288.stgit@angua>
From: Grant Likely <grant.likely@secretlab.ca>
Date: Fri, 04 Dec 2009 21:33:13 -0700
> Fix the locking scheme on the fec_mpc52xx driver. This device can
> receive IRQs from three sources; the FEC itself, the tx DMA, and the
> rx DMA. Mutual exclusion was handled by taking a spin_lock() in the
> critical regions, but because the handlers are run with IRQs enabled,
> spin_lock() is insufficient and the driver can end up interrupting
> a critical region anyway from another IRQ.
>
> Asier Llano discovered that this occurs when an error IRQ is raised
> in the middle of handling rx irqs which resulted in an sk_buff memory
> leak.
I'll apply this fix.
But, longer term, it's a thousand times easier and more efficient to
move the processing of these interrupts into softirq context.
^ permalink raw reply
* Re: 2.6.33 -next tree
From: Olof Johansson @ 2009-12-09 4:25 UTC (permalink / raw)
To: Andrew Morton; +Cc: David Brownell, Stephen Rothwell, linuxppc-dev
In-Reply-To: <20091208144505.af1dd7a3.akpm@linux-foundation.org>
On Tue, Dec 08, 2009 at 02:45:05PM -0800, Andrew Morton wrote:
> On Wed, 09 Dec 2009 09:29:43 +1100
> Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
>
> > On Tue, 2009-12-08 at 14:33 -0700, Grant Likely wrote:
> > > This tree has also been in linux-next for a while now, so it should be
> > > a safe pull.
> >
> > I'll pull it, I'll pull it, stop nagging :-)
> >
>
> ooh, does nagging work?
>
> <writes that down somewhere>
Remains to be seen. He hasn't actually pulled it yet, has he? :)
-Olof
^ permalink raw reply
* Re: [PATCH 04/10] 8xx: Always pin kernel instruction TLB
From: Benjamin Herrenschmidt @ 2009-12-09 4:19 UTC (permalink / raw)
To: Joakim Tjernlund; +Cc: Scott Wood, linuxppc-dev@ozlabs.org, Rex Feany
In-Reply-To: <1258712471-3104-5-git-send-email-Joakim.Tjernlund@transmode.se>
On Fri, 2009-11-20 at 11:21 +0100, Joakim Tjernlund wrote:
> Various kernel asm modifies SRR0/SRR1 just before executing
> a rfi. If such code crosses a page boundary you risk a TLB miss
> which will clobber SRR0/SRR1. Avoid this by always pinning
> kernel instruction TLB space.
>
> Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
> ---
> arch/powerpc/kernel/head_8xx.S | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S
> index a9f1ace..e70503d 100644
> --- a/arch/powerpc/kernel/head_8xx.S
> +++ b/arch/powerpc/kernel/head_8xx.S
> @@ -705,7 +705,7 @@ start_here:
> */
> initial_mmu:
> tlbia /* Invalidate all TLB entries */
> -#ifdef CONFIG_PIN_TLB
> +#if 1 /* CONFIG_PIN_TLB */
> lis r8, MI_RSV4I@h
> ori r8, r8, 0x1c00
> #else
Not nice. Either remove the config option or make sure all those code
sequences are appropriately aligned so it doesn't happen. I recommend
the later :-)
I'll apply the other patches.
Cheers,
Ben.
^ permalink raw reply
* Re: [PATCH] PowerPC: const intspec pointers
From: Benjamin Herrenschmidt @ 2009-12-09 2:45 UTC (permalink / raw)
To: Roman Fietze; +Cc: linuxppc-dev
In-Reply-To: <200912081339.50722.roman.fietze@telemotive.de>
On Tue, 2009-12-08 at 13:39 +0100, Roman Fietze wrote:
> Hello,
>
> Writing a driver using SCLPC on the MPC5200B I detected, that the
> intspec arrays to map irqs to Linux virq cannot be const, because the
> mapping and xlate functions only take non const pointers. All those
> functions do not modify the intspec, so a const pointer could be used.
>
> I tried to compile that patch on different platforms and got no
> compiler errors, so I'd like to ask you to review that patch, and
> check if it's worth using it.
Looks good.
I'll give it a go and if it doesn't break anything, will apply.
Cheers,
Ben.
> Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
> ---
> arch/powerpc/include/asm/irq.h | 4 ++--
> arch/powerpc/kernel/irq.c | 2 +-
> arch/powerpc/platforms/52xx/media5200.c | 2 +-
> arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 2 +-
> arch/powerpc/platforms/52xx/mpc52xx_pic.c | 2 +-
> arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 2 +-
> arch/powerpc/platforms/86xx/gef_pic.c | 2 +-
> arch/powerpc/platforms/cell/beat_interrupt.c | 4 ++--
> arch/powerpc/platforms/cell/interrupt.c | 2 +-
> arch/powerpc/platforms/cell/spider-pic.c | 2 +-
> arch/powerpc/platforms/powermac/pic.c | 2 +-
> arch/powerpc/platforms/pseries/xics.c | 2 +-
> arch/powerpc/sysdev/cpm2_pic.c | 2 +-
> arch/powerpc/sysdev/i8259.c | 2 +-
> arch/powerpc/sysdev/ipic.c | 2 +-
> arch/powerpc/sysdev/mpc8xx_pic.c | 2 +-
> arch/powerpc/sysdev/mpic.c | 2 +-
> arch/powerpc/sysdev/qe_lib/qe_ic.c | 2 +-
> arch/powerpc/sysdev/tsi108_pci.c | 2 +-
> arch/powerpc/sysdev/uic.c | 2 +-
> arch/powerpc/sysdev/xilinx_intc.c | 2 +-
> 21 files changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/irq.h b/arch/powerpc/include/asm/irq.h
> index bbcd1aa..a0bcafc 100644
> --- a/arch/powerpc/include/asm/irq.h
> +++ b/arch/powerpc/include/asm/irq.h
> @@ -99,7 +99,7 @@ struct irq_host_ops {
> * interrupt controller has for that line)
> */
> int (*xlate)(struct irq_host *h, struct device_node *ctrler,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_type);
> };
>
> @@ -313,7 +313,7 @@ extern void irq_free_virt(unsigned int virq, unsigned int
> count);
> * of the of_irq_map_*() functions.
> */
> extern unsigned int irq_create_of_mapping(struct device_node *controller,
> - u32 *intspec, unsigned int intsize);
> + const u32 *intspec, unsigned int intsize);
>
> /**
> * irq_of_parse_and_map - Parse and Map an interrupt into linux virq space
> diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
> index e5d1211..6e294e0 100644
> --- a/arch/powerpc/kernel/irq.c
> +++ b/arch/powerpc/kernel/irq.c
> @@ -699,7 +699,7 @@ unsigned int irq_create_mapping(struct irq_host *host,
> EXPORT_SYMBOL_GPL(irq_create_mapping);
>
> unsigned int irq_create_of_mapping(struct device_node *controller,
> - u32 *intspec, unsigned int intsize)
> + const u32 *intspec, unsigned int intsize)
> {
> struct irq_host *host;
> irq_hw_number_t hwirq;
> diff --git a/arch/powerpc/platforms/52xx/media5200.c
> b/arch/powerpc/platforms/52xx/media5200.c
> index 68e4f16..b1ec9bb 100644
> --- a/arch/powerpc/platforms/52xx/media5200.c
> +++ b/arch/powerpc/platforms/52xx/media5200.c
> @@ -127,7 +127,7 @@ static int media5200_irq_map(struct irq_host *h, unsigned
> int virq,
> }
>
> static int media5200_irq_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq,
> unsigned int *out_flags)
> {
> diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
> b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
> index bfbcd41..78f0ab6 100644
> --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
> +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
> @@ -182,7 +182,7 @@ static int mpc52xx_gpt_irq_map(struct irq_host *h,
> unsigned int virq,
> }
>
> static int mpc52xx_gpt_irq_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq,
> unsigned int *out_flags)
> {
> diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pic.c
> b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
> index 480f806..53d44f6 100644
> --- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c
> +++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
> @@ -355,7 +355,7 @@ static int mpc52xx_is_extirq(int l1, int l2)
> * mpc52xx_irqhost_xlate - translate virq# from device tree interrupts
> property
> */
> static int mpc52xx_irqhost_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq,
> unsigned int *out_flags)
> {
> diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
> b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
> index 60edf63..380858a 100644
> --- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
> +++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
> @@ -253,7 +253,7 @@ static int socrates_fpga_pic_host_map(struct irq_host *h,
> unsigned int virq,
> }
>
> static int socrates_fpga_pic_host_xlate(struct irq_host *h,
> - struct device_node *ct, u32 *intspec, unsigned int intsize,
> + struct device_node *ct, const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
> {
> struct socrates_fpga_irq_info *fpga_irq = &fpga_irqs[intspec[0]];
> diff --git a/arch/powerpc/platforms/86xx/gef_pic.c
> b/arch/powerpc/platforms/86xx/gef_pic.c
> index 50d0a2b..8d4479f 100644
> --- a/arch/powerpc/platforms/86xx/gef_pic.c
> +++ b/arch/powerpc/platforms/86xx/gef_pic.c
> @@ -170,7 +170,7 @@ static int gef_pic_host_map(struct irq_host *h, unsigned
> int virq,
> }
>
> static int gef_pic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
> {
>
> diff --git a/arch/powerpc/platforms/cell/beat_interrupt.c
> b/arch/powerpc/platforms/cell/beat_interrupt.c
> index 7225484..1f2fd65 100644
> --- a/arch/powerpc/platforms/cell/beat_interrupt.c
> +++ b/arch/powerpc/platforms/cell/beat_interrupt.c
> @@ -166,11 +166,11 @@ static void beatic_pic_host_remap(struct irq_host *h,
> unsigned int virq,
> * Note: We have only 1 entry to translate.
> */
> static int beatic_pic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq,
> unsigned int *out_flags)
> {
> - u64 *intspec2 = (u64 *)intspec;
> + const u64 *intspec2 = (const u64 *)intspec;
>
> *out_hwirq = *intspec2;
> *out_flags |= IRQ_TYPE_LEVEL_LOW;
> diff --git a/arch/powerpc/platforms/cell/interrupt.c
> b/arch/powerpc/platforms/cell/interrupt.c
> index 882e470..d9d33cb 100644
> --- a/arch/powerpc/platforms/cell/interrupt.c
> +++ b/arch/powerpc/platforms/cell/interrupt.c
> @@ -297,7 +297,7 @@ static int iic_host_map(struct irq_host *h, unsigned int
> virq,
> }
>
> static int iic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
>
> {
> diff --git a/arch/powerpc/platforms/cell/spider-pic.c
> b/arch/powerpc/platforms/cell/spider-pic.c
> index 4e56556..37c2e4e 100644
> --- a/arch/powerpc/platforms/cell/spider-pic.c
> +++ b/arch/powerpc/platforms/cell/spider-pic.c
> @@ -187,7 +187,7 @@ static int spider_host_map(struct irq_host *h, unsigned
> int virq,
> }
>
> static int spider_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
>
> {
> diff --git a/arch/powerpc/platforms/powermac/pic.c
> b/arch/powerpc/platforms/powermac/pic.c
> index d212006..da6b4b9 100644
> --- a/arch/powerpc/platforms/powermac/pic.c
> +++ b/arch/powerpc/platforms/powermac/pic.c
> @@ -303,7 +303,7 @@ static int pmac_pic_host_map(struct irq_host *h, unsigned
> int virq,
> }
>
> static int pmac_pic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq,
> unsigned int *out_flags)
>
> diff --git a/arch/powerpc/platforms/pseries/xics.c
> b/arch/powerpc/platforms/pseries/xics.c
> index b9bf0ee..1821eae 100644
> --- a/arch/powerpc/platforms/pseries/xics.c
> +++ b/arch/powerpc/platforms/pseries/xics.c
> @@ -434,7 +434,7 @@ static int xics_host_map(struct irq_host *h, unsigned int
> virq,
> }
>
> static int xics_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
>
> {
> diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c
> index 78f1f7c..3d2be56 100644
> --- a/arch/powerpc/sysdev/cpm2_pic.c
> +++ b/arch/powerpc/sysdev/cpm2_pic.c
> @@ -216,7 +216,7 @@ static int cpm2_pic_host_map(struct irq_host *h, unsigned
> int virq,
> }
>
> static int cpm2_pic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
> {
> *out_hwirq = intspec[0];
> diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c
> index a96584a..ccc9a3b 100644
> --- a/arch/powerpc/sysdev/i8259.c
> +++ b/arch/powerpc/sysdev/i8259.c
> @@ -198,7 +198,7 @@ static void i8259_host_unmap(struct irq_host *h, unsigned
> int virq)
> }
>
> static int i8259_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
> {
> static unsigned char map_isa_senses[4] = {
> diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c
> index cb7689c..27259f4 100644
> --- a/arch/powerpc/sysdev/ipic.c
> +++ b/arch/powerpc/sysdev/ipic.c
> @@ -697,7 +697,7 @@ static int ipic_host_map(struct irq_host *h, unsigned int
> virq,
> }
>
> static int ipic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
>
> {
> diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c
> b/arch/powerpc/sysdev/mpc8xx_pic.c
> index 5d2d552..72544a1 100644
> --- a/arch/powerpc/sysdev/mpc8xx_pic.c
> +++ b/arch/powerpc/sysdev/mpc8xx_pic.c
> @@ -130,7 +130,7 @@ static int mpc8xx_pic_host_map(struct irq_host *h,
> unsigned int virq,
>
>
> static int mpc8xx_pic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
> {
> static unsigned char map_pic_senses[4] = {
> diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
> index 30c44e6..1452a4e 100644
> --- a/arch/powerpc/sysdev/mpic.c
> +++ b/arch/powerpc/sysdev/mpic.c
> @@ -994,7 +994,7 @@ static int mpic_host_map(struct irq_host *h, unsigned int
> virq,
> }
>
> static int mpic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
>
> {
> diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c
> b/arch/powerpc/sysdev/qe_lib/qe_ic.c
> index 3faa42e..8192f58 100644
> --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c
> +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c
> @@ -271,7 +271,7 @@ static int qe_ic_host_map(struct irq_host *h, unsigned int
> virq,
> }
>
> static int qe_ic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 * intspec, unsigned int intsize,
> + const u32 * intspec, unsigned int intsize,
> irq_hw_number_t * out_hwirq,
> unsigned int *out_flags)
> {
> diff --git a/arch/powerpc/sysdev/tsi108_pci.c
> b/arch/powerpc/sysdev/tsi108_pci.c
> index cf244a4..a23223d 100644
> --- a/arch/powerpc/sysdev/tsi108_pci.c
> +++ b/arch/powerpc/sysdev/tsi108_pci.c
> @@ -384,7 +384,7 @@ static struct irq_chip tsi108_pci_irq = {
> };
>
> static int pci_irq_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_flags)
> {
> *out_hwirq = intspec[0];
> diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
> index 466ce9a..1c315d8 100644
> --- a/arch/powerpc/sysdev/uic.c
> +++ b/arch/powerpc/sysdev/uic.c
> @@ -202,7 +202,7 @@ static int uic_host_map(struct irq_host *h, unsigned int
> virq,
> }
>
> static int uic_host_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq, unsigned int *out_type)
>
> {
> diff --git a/arch/powerpc/sysdev/xilinx_intc.c
> b/arch/powerpc/sysdev/xilinx_intc.c
> index 40edad5..368db32 100644
> --- a/arch/powerpc/sysdev/xilinx_intc.c
> +++ b/arch/powerpc/sysdev/xilinx_intc.c
> @@ -148,7 +148,7 @@ static struct irq_chip xilinx_intc_edge_irqchip = {
> * xilinx_intc_xlate - translate virq# from device tree interrupts property
> */
> static int xilinx_intc_xlate(struct irq_host *h, struct device_node *ct,
> - u32 *intspec, unsigned int intsize,
> + const u32 *intspec, unsigned int intsize,
> irq_hw_number_t *out_hwirq,
> unsigned int *out_flags)
> {
> --
> 1.6.5.3
>
>
> Thanks a lot for your help
>
>
> Roman
>
^ permalink raw reply
* Re: using different format for hugetlbfs
From: David Gibson @ 2009-12-09 2:00 UTC (permalink / raw)
To: Kumar Gala; +Cc: linux-ppc list
In-Reply-To: <82922100-59CF-466B-98E1-79711700AF19@kernel.crashing.org>
On Tue, Dec 08, 2009 at 09:44:55AM -0600, Kumar Gala wrote:
>
> On Dec 7, 2009, at 8:28 PM, David Gibson wrote:
>
> >On Mon, Dec 07, 2009 at 12:04:37PM +1100, Benjamin Herrenschmidt
> >wrote:
> >>
> >>>
> >>>Even than, does that preclude the format I suggested? I'm assuming
> >>>that pgd_t/pud_t/pmd_t are always a double word so the low order 4-
> >>>bits should be 0 (on 64-bit),
> >
> >Double word alignment only gives us 3 low bits.
> >
> >>so using the lsb as the flag between
> >>>hugetlb and normal pointer should still work.
> >>
> >>Might do, depends if David has enough bits ... David ?
> >
> >Well, the flag can go at the bottom, but that will mean grabbing more
> >bits at the bottom. At the moment to cover all the page table sizes
> >that are wanted on the various setups we have, I need 5 bits, this
> >would push it to 6. At present, I just force up the minimum alignment
> >of any page directory (even if it's natural alignment is smaller) so
> >as to make sure I have those bits. That's pretty easy to adjust, but
> >pushing it up too high will start wasting memory, of course.
> >
> >If we move to a variable sized encoding, as Ben and I have discussed
> >on a couple of occasions, I think we could do this though.
>
> I don't understand. It seems like only the flag bit of normal
> pointer vs hugetlb is the only thing that we need to distinguish.
> Once we've done that all the other bits are free to use as we see
> fit. So the less significant bit can be used for that purpose and
> the size encoding, etc we are free to do what we want with.
Well, yes, but the huge page directory pointers are still pointers, so
this is one extra bit at the bottom which counts against our minimum
alignment for those pointers. There's no natural lower bound on the
size of the hugepte directories, and with existing setups they already
go as low as 4 entries, which we already pad out to meet our minimum
alignment.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* [PATCH v2] cpm2_pic: Allow correct flow_types for port C interrupts
From: Mark Ware @ 2009-12-09 0:48 UTC (permalink / raw)
To: Linuxppc-dev Development; +Cc: Scott Wood
Port C interrupts can be either falling edge, or either edge.
Other external interrupts are either falling edge or active low.
Signed-Off-By: Mark Ware <mware@elphinstone.net>
---
Changed in v2:
- Disallow rising edge only on Port C
arch/powerpc/sysdev/cpm2_pic.c | 30 +++++++++++++++++++++++-------
1 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c
index 78f1f7c..eba5f24 100644
--- a/arch/powerpc/sysdev/cpm2_pic.c
+++ b/arch/powerpc/sysdev/cpm2_pic.c
@@ -141,13 +141,29 @@ static int cpm2_set_irq_type(unsigned int virq, unsigned int flow_type)
struct irq_desc *desc = get_irq_desc(virq);
unsigned int vold, vnew, edibit;
- if (flow_type == IRQ_TYPE_NONE)
- flow_type = IRQ_TYPE_LEVEL_LOW;
-
- if (flow_type & IRQ_TYPE_EDGE_RISING) {
- printk(KERN_ERR "CPM2 PIC: sense type 0x%x not supported\n",
- flow_type);
- return -EINVAL;
+ /* Port C interrupts are either IRQ_TYPE_EDGE_FALLING or
+ * IRQ_TYPE_EDGE_BOTH (default). All others are IRQ_TYPE_EDGE_FALLING
+ * or IRQ_TYPE_LEVEL_LOW (default)
+ */
+ if (src >= CPM2_IRQ_PORTC15 && src <= CPM2_IRQ_PORTC0) {
+ if (flow_type == IRQ_TYPE_NONE)
+ flow_type = IRQ_TYPE_EDGE_BOTH;
+
+ if ((flow_type != IRQ_TYPE_EDGE_BOTH) &&
+ (flow_type != IRQ_TYPE_EDGE_FALLING)) {
+ printk(KERN_ERR "CPM2 PIC: sense type 0x%x not supported\n",
+ flow_type);
+ return -EINVAL;
+ }
+ } else {
+ if (flow_type == IRQ_TYPE_NONE)
+ flow_type = IRQ_TYPE_LEVEL_LOW;
+
+ if (flow_type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_LEVEL_HIGH)) {
+ printk(KERN_ERR "CPM2 PIC: sense type 0x%x not supported\n",
+ flow_type);
+ return -EINVAL;
+ }
}
desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
--
1.5.6.5
^ permalink raw reply related
* Re: Git tags
From: Geoff Levand @ 2009-12-09 0:19 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
In-Reply-To: <4B18F207.80400@gefanuc.com>
On 12/04/2009 03:27 AM, Martyn Welch wrote:
> Hi Ben,
>
> Could you please pull the git tags from Linus' tree when you pull?
You'll need to push the tags out to your repo on k.org too...
-Geoff
^ permalink raw reply
* linux-next: manual merge of the powerpc tree with Linus' tree
From: Stephen Rothwell @ 2009-12-08 23:49 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev
Cc: linux-next, linux-kernel
Hi all,
Today's linux-next merge of the powerpc tree got a conflict in
include/linux/kvm.h between commit
3cfc3092f40bc37c57ba556cfd8de4218f2135ab ("KVM: x86: Add
KVM_GET/SET_VCPU_EVENTS") (and others) from Linus' tree and commit
e15a113700324f7fdcee95589875daed2b98a2fe ("powerpc/kvm: Sync guest
visible MMU state") from the powerpc tree.
Just overlapping additions. I fixed it up (see below) and can carry the
fix for a while.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc include/linux/kvm.h
index 2d241da,caf6173..0000000
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@@ -487,15 -436,9 +487,18 @@@ struct kvm_ioeventfd
#endif
#define KVM_CAP_IOEVENTFD 36
#define KVM_CAP_SET_IDENTITY_MAP_ADDR 37
+#ifdef __KVM_HAVE_XEN_HVM
+#define KVM_CAP_XEN_HVM 38
+#endif
+#define KVM_CAP_ADJUST_CLOCK 39
+#define KVM_CAP_INTERNAL_ERROR_DATA 40
+#ifdef __KVM_HAVE_VCPU_EVENTS
+#define KVM_CAP_VCPU_EVENTS 41
+#endif
+#define KVM_CAP_S390_PSW 42
+ /* KVM upstream has more features, but we synched this number.
+ Linux, please remove this comment on rebase. */
+ #define KVM_CAP_PPC_SEGSTATE 43
#ifdef KVM_CAP_IRQ_ROUTING
^ permalink raw reply
* Re: [PATCH] cpm2_pic: Allow correct flow_types for port C interrupts
From: Mark Ware @ 2009-12-08 23:41 UTC (permalink / raw)
To: Scott Wood; +Cc: Linuxppc-dev Development
In-Reply-To: <4B1EDC97.6010301@freescale.com>
Scott Wood wrote:
> Mark Ware wrote:
>> Mark Ware wrote:
>>> CPM2 Port C interrupts can be either falling edge, or either edge.
>>> Other external interrupts are either falling edge or active low.
> [snip]
>>> + /* Port C interrupts are either IRQ_TYPE_EDGE_FALLING or
>>> + * IRQ_TYPE_EDGE_BOTH (default). All others are
>>> IRQ_TYPE_EDGE_FALLING
>>> + * or IRQ_TYPE_LEVEL_LOW (default)
>>> + */
>>> + if (src >= CPM2_IRQ_PORTC15 && src <= CPM2_IRQ_PORTC0) {
>>> + if (flow_type == IRQ_TYPE_NONE)
>>> + flow_type = IRQ_TYPE_EDGE_BOTH;
>>> +
>>> + if (flow_type & ~IRQ_TYPE_EDGE_BOTH) {
>>> + printk(KERN_ERR "CPM2 PIC: sense type 0x%x not
>>> supported\n",
>>> + flow_type);
>>> + return -EINVAL;
>>> + }
>
> The above code looks like it would allow rising-only, which according to
> the changelog isn't supported.
>
> -Scott
>
Thanks Scott, you're right. I'll update and send v2 shortly.
- Mark
^ permalink raw reply
* Re: [PATCH] cpm2_pic: Allow correct flow_types for port C interrupts
From: Scott Wood @ 2009-12-08 23:09 UTC (permalink / raw)
To: Mark Ware; +Cc: Linuxppc-dev Development
In-Reply-To: <4B1ED995.4060802@elphinstone.net>
Mark Ware wrote:
> Mark Ware wrote:
>> CPM2 Port C interrupts can be either falling edge, or either edge.
>> Other external interrupts are either falling edge or active low.
[snip]
>> + /* Port C interrupts are either IRQ_TYPE_EDGE_FALLING or
>> + * IRQ_TYPE_EDGE_BOTH (default). All others are IRQ_TYPE_EDGE_FALLING
>> + * or IRQ_TYPE_LEVEL_LOW (default)
>> + */
>> + if (src >= CPM2_IRQ_PORTC15 && src <= CPM2_IRQ_PORTC0) {
>> + if (flow_type == IRQ_TYPE_NONE)
>> + flow_type = IRQ_TYPE_EDGE_BOTH;
>> +
>> + if (flow_type & ~IRQ_TYPE_EDGE_BOTH) {
>> + printk(KERN_ERR "CPM2 PIC: sense type 0x%x not supported\n",
>> + flow_type);
>> + return -EINVAL;
>> + }
The above code looks like it would allow rising-only, which according to
the changelog isn't supported.
-Scott
^ permalink raw reply
* Re: [PATCH] cpm2_pic: Allow correct flow_types for port C interrupts
From: Mark Ware @ 2009-12-08 22:56 UTC (permalink / raw)
To: Linuxppc-dev Development
In-Reply-To: <4B0C9342.1000807@elphinstone.net>
Any comments/Acks/Nacks on this patch?
- Mark
Mark Ware wrote:
> CPM2 Port C interrupts can be either falling edge, or either edge.
> Other external interrupts are either falling edge or active low.
>
> Signed-Off-By: Mark Ware <mware@elphinstone.net>
> ---
> arch/powerpc/sysdev/cpm2_pic.c | 29 ++++++++++++++++++++++-------
> 1 files changed, 22 insertions(+), 7 deletions(-)
>
> diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c
> index 78f1f7c..179822c 100644
> --- a/arch/powerpc/sysdev/cpm2_pic.c
> +++ b/arch/powerpc/sysdev/cpm2_pic.c
> @@ -141,13 +141,28 @@ static int cpm2_set_irq_type(unsigned int virq, unsigned int flow_type)
> struct irq_desc *desc = get_irq_desc(virq);
> unsigned int vold, vnew, edibit;
>
> - if (flow_type == IRQ_TYPE_NONE)
> - flow_type = IRQ_TYPE_LEVEL_LOW;
> -
> - if (flow_type & IRQ_TYPE_EDGE_RISING) {
> - printk(KERN_ERR "CPM2 PIC: sense type 0x%x not supported\n",
> - flow_type);
> - return -EINVAL;
> + /* Port C interrupts are either IRQ_TYPE_EDGE_FALLING or
> + * IRQ_TYPE_EDGE_BOTH (default). All others are IRQ_TYPE_EDGE_FALLING
> + * or IRQ_TYPE_LEVEL_LOW (default)
> + */
> + if (src >= CPM2_IRQ_PORTC15 && src <= CPM2_IRQ_PORTC0) {
> + if (flow_type == IRQ_TYPE_NONE)
> + flow_type = IRQ_TYPE_EDGE_BOTH;
> +
> + if (flow_type & ~IRQ_TYPE_EDGE_BOTH) {
> + printk(KERN_ERR "CPM2 PIC: sense type 0x%x not supported\n",
> + flow_type);
> + return -EINVAL;
> + }
> + } else {
> + if (flow_type == IRQ_TYPE_NONE)
> + flow_type = IRQ_TYPE_LEVEL_LOW;
> +
> + if (flow_type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_LEVEL_HIGH)) {
> + printk(KERN_ERR "CPM2 PIC: sense type 0x%x not supported\n",
> + flow_type);
> + return -EINVAL;
> + }
> }
>
> desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
^ permalink raw reply
* Re: 2.6.33 -next tree
From: Grant Likely @ 2009-12-08 22:50 UTC (permalink / raw)
To: Andrew Morton; +Cc: David Brownell, Stephen Rothwell, linuxppc-dev
In-Reply-To: <20091208144505.af1dd7a3.akpm@linux-foundation.org>
On Tue, Dec 8, 2009 at 3:45 PM, Andrew Morton <akpm@linux-foundation.org> w=
rote:
> On Wed, 09 Dec 2009 09:29:43 +1100
> Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
>
>> On Tue, 2009-12-08 at 14:33 -0700, Grant Likely wrote:
>> >
>> > Are you able to pull this tree, or should I ask Linus to pull it
>> > directly?
>> >
>> > It contains mpc5200 and xilinx stuff. =A0Some of it is SPI related, bu=
t
>> > I'm now the SPI co-maintainer, so I have no problem with it going in
>> > via your tree. =A0:-) =A0Regardless, I want to get it out to Linus ASA=
P.
>> >
>> > This tree has also been in linux-next for a while now, so it should be
>> > a safe pull.
>>
>> I'll pull it, I'll pull it, stop nagging :-)
>>
>
> ooh, does nagging work?
>
> <writes that down somewhere>
w00t!
g.
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply
* Re: 2.6.33 -next tree
From: Andrew Morton @ 2009-12-08 22:45 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, David Brownell, Stephen Rothwell
In-Reply-To: <1260311383.16132.4.camel@pasglop>
On Wed, 09 Dec 2009 09:29:43 +1100
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> On Tue, 2009-12-08 at 14:33 -0700, Grant Likely wrote:
> >
> > Are you able to pull this tree, or should I ask Linus to pull it
> > directly?
> >
> > It contains mpc5200 and xilinx stuff. Some of it is SPI related, but
> > I'm now the SPI co-maintainer, so I have no problem with it going in
> > via your tree. :-) Regardless, I want to get it out to Linus ASAP.
> >
> > This tree has also been in linux-next for a while now, so it should be
> > a safe pull.
>
> I'll pull it, I'll pull it, stop nagging :-)
>
ooh, does nagging work?
<writes that down somewhere>
^ permalink raw reply
* Re: 2.6.33 -next tree
From: Benjamin Herrenschmidt @ 2009-12-08 22:29 UTC (permalink / raw)
To: Grant Likely
Cc: linuxppc-dev, Andrew Morton, David Brownell, Stephen Rothwell
In-Reply-To: <fa686aa40912081333r53cdc5d4ldc45dcfdd2e7536f@mail.gmail.com>
On Tue, 2009-12-08 at 14:33 -0700, Grant Likely wrote:
>
> Are you able to pull this tree, or should I ask Linus to pull it
> directly?
>
> It contains mpc5200 and xilinx stuff. Some of it is SPI related, but
> I'm now the SPI co-maintainer, so I have no problem with it going in
> via your tree. :-) Regardless, I want to get it out to Linus ASAP.
>
> This tree has also been in linux-next for a while now, so it should be
> a safe pull.
I'll pull it, I'll pull it, stop nagging :-)
Cheers,
Ben.
^ permalink raw reply
* Re: 2.6.33 -next tree
From: Grant Likely @ 2009-12-08 21:54 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Andrew Morton, linuxppc-dev
Cc: Stephen Rothwell, Wim Van Sebroeck, David Brownell
In-Reply-To: <fa686aa40912081333r53cdc5d4ldc45dcfdd2e7536f@mail.gmail.com>
Ben, here's an updated pull request. Can you please pull and send
them up to Linus?
I've added 4 more commits related to the 5200 GPT timer. These
commits have also have linux-next exposure, I just had them in the
wrong branch. One commit touches drivers/watchdog, but I got an ack
from Wim to merge it.
Cheers,
g.
The following changes since commit 22763c5cf3690a681551162c15d34d935308c8d7=
:
Linus Torvalds (1):
Linux 2.6.32
are available in the git repository at:
git://git.secretlab.ca/git/linux-2.6 next
Albrecht Dre=C3=83=C5=B8 (5):
powerpc: tiny memcpy_(to|from)io optimisation
mpc5200/gpt: tiny fix for gpt period limitation
mpc52xx/wdt: OF property to enable the WDT on boot
mpc52xx/wdt: merge WDT code into the GPT driver
mpc52xx/wdt: remove obsolete old WDT implementation
Grant Likely (4):
spi/mpc5200: Register SPI devices described in device tree
powerpc/5200: Add mpc5200-spi (non-PSC) device driver
powerpc/5200: add general purpose timer API for the MPC5200
mmc: fix missing module license declaration in of_mmc_spi.c
John Bonesio (1):
powerpc/5200: add LocalPlus bus FIFO device driver
John Linn (1):
Xilinx: SPI: Fix bits_per_word for transfers
Wolfram Sang (2):
spi/mpc52xx-psc-spi: check for valid PSC
spi/mpc52xx: replace printk with dev_err
Documentation/powerpc/dts-bindings/fsl/mpc5200.txt | 17 +-
arch/powerpc/include/asm/mpc52xx.h | 47 ++
arch/powerpc/kernel/io.c | 4 +-
arch/powerpc/platforms/52xx/Kconfig | 5 +
arch/powerpc/platforms/52xx/Makefile | 1 +
arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 428 +++++++++++++++-
arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c | 560 ++++++++++++++++=
++++
drivers/mmc/host/of_mmc_spi.c | 2 +
drivers/spi/Kconfig | 8 +
drivers/spi/Makefile | 1 +
drivers/spi/mpc52xx_psc_spi.c | 25 +-
drivers/spi/mpc52xx_spi.c | 520 ++++++++++++++++=
++
drivers/spi/xilinx_spi.c | 3 +-
drivers/watchdog/Kconfig | 4 +-
drivers/watchdog/Makefile | 1 -
drivers/watchdog/mpc5200_wdt.c | 293 ----------
include/linux/spi/mpc52xx_spi.h | 10 +
17 files changed, 1609 insertions(+), 320 deletions(-)
create mode 100644 arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
create mode 100644 drivers/spi/mpc52xx_spi.c
delete mode 100644 drivers/watchdog/mpc5200_wdt.c
create mode 100644 include/linux/spi/mpc52xx_spi.h
On Tue, Dec 8, 2009 at 2:33 PM, Grant Likely <grant.likely@secretlab.ca> wr=
ote:
> On Wed, Nov 4, 2009 at 11:10 PM, Grant Likely <grant.likely@secretlab.ca>=
wrote:
>> Hi Ben, Stephen.
>>
>> I just prepared my next branch for 2.6.33:
>> git://git.secretlab.ca/git/linux-2.6 next
>>
>> Steven, can you please add this tree to your linux-next pull list?
>> This is the branch where I put stuff that gets fed up to Ben. =C2=A0This=
is
>> separate from the branch that I'm using to collect OF related changes
>> and that you are already pulling in.
>>
>> Ben, can you please pull this branch into your -next tree for 2.6.33?
>
> Ben: ping?
>
> Are you able to pull this tree, or should I ask Linus to pull it directly=
?
>
> It contains mpc5200 and xilinx stuff. =C2=A0Some of it is SPI related, bu=
t
> I'm now the SPI co-maintainer, so I have no problem with it going in
> via your tree. =C2=A0:-) =C2=A0Regardless, I want to get it out to Linus =
ASAP.
>
> This tree has also been in linux-next for a while now, so it should be
> a safe pull.
>
> Thanks,
> g.
>
>> Andrew & David, you'll notice that I've also got some SPI and MMC
>> changes in this branch (PPC and OF related stuff) since there is no
>> current MMC maintainer, and some of these SPI patches have been
>> hanging around for a while now. =C2=A0Let me know if you object to me
>> pushing these changes personally instead of going through another
>> maintainer.
>>
>> Thanks,
>> g.
>>
>> The following changes since commit b419148e567728f6af0c3b01965c1cc141e3e=
13a:
>> =C2=A0Linus Torvalds (1):
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Linux 2.6.32-rc6
>>
>> are available in the git repository at:
>>
>> =C2=A0git://git.secretlab.ca/git/linux-2.6 next
>>
>> Albrecht Dre=C3=9F (1):
>> =C2=A0 =C2=A0 =C2=A0powerpc: tiny memcpy_(to|from)io optimisation
>>
>> Grant Likely (4):
>> =C2=A0 =C2=A0 =C2=A0spi/mpc5200: Register SPI devices described in devic=
e tree
>> =C2=A0 =C2=A0 =C2=A0powerpc/5200: Add mpc5200-spi (non-PSC) device drive=
r
>> =C2=A0 =C2=A0 =C2=A0powerpc/5200: add general purpose timer API for the =
MPC5200
>> =C2=A0 =C2=A0 =C2=A0mmc: fix missing module license declaration in of_mm=
c_spi.c
>>
>> John Bonesio (1):
>> =C2=A0 =C2=A0 =C2=A0powerpc/5200: add LocalPlus bus FIFO device driver
>>
>> John Linn (1):
>> =C2=A0 =C2=A0 =C2=A0Xilinx: SPI: Fix bits_per_word for transfers
>>
>> Wolfram Sang (2):
>> =C2=A0 =C2=A0 =C2=A0spi/mpc52xx-psc-spi: check for valid PSC
>> =C2=A0 =C2=A0 =C2=A0spi/mpc52xx: replace printk with dev_err
>>
>> =C2=A0arch/powerpc/include/asm/mpc52xx.h =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0| =C2=A0 46 ++
>> =C2=A0arch/powerpc/kernel/io.c =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A04 +-
>> =C2=A0arch/powerpc/platforms/52xx/Kconfig =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 | =C2=A0 =C2=A05 +
>> =C2=A0arch/powerpc/platforms/52xx/Makefile =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0| =C2=A0 =C2=A01 +
>> =C2=A0arch/powerpc/platforms/52xx/mpc52xx_gpt.c =C2=A0 =C2=A0 | =C2=A013=
3 ++++++-
>> =C2=A0arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c | =C2=A0560 ++++++++=
+++++++++++++++++
>> =C2=A0drivers/mmc/host/of_mmc_spi.c =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A02 +
>> =C2=A0drivers/spi/Kconfig =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A08 +
>> =C2=A0drivers/spi/Makefile =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A01 +
>> =C2=A0drivers/spi/mpc52xx_psc_spi.c =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 25 +-
>> =C2=A0drivers/spi/mpc52xx_spi.c =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0520 +++++++++++++++++++++++
>> =C2=A0drivers/spi/xilinx_spi.c =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A03 +-
>> =C2=A0include/linux/spi/mpc52xx_spi.h =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0 | =C2=A0 10 +
>> =C2=A013 files changed, 1297 insertions(+), 21 deletions(-)
>> =C2=A0create mode 100644 arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
>> =C2=A0create mode 100644 drivers/spi/mpc52xx_spi.c
>> =C2=A0create mode 100644 include/linux/spi/mpc52xx_spi.h
>>
>>
>> --
>> Grant Likely, B.Sc., P.Eng.
>> Secret Lab Technologies Ltd.
>>
>
>
>
> --
> Grant Likely, B.Sc., P.Eng.
> Secret Lab Technologies Ltd.
>
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox