Milton Miller [Tue, 15 Mar 2011 19:27:17 +0000 (13:27 -0600)]
smp_call_function_many: handle concurrent clearing of mask
Mike Galbraith reported finding a lockup ("perma-spin bug") where the
cpumask passed to smp_call_function_many was cleared by other cpu(s)
while a cpu was preparing its call_data block, resulting in no cpu to
clear the last ref and unlock the block.
Having cpus clear their bit asynchronously could be useful on a mask of
cpus that might have a translation context, or cpus that need a push to
complete an rcu window.
Instead of adding a BUG_ON and requiring yet another cpumask copy, just
detect the race and handle it.
Note: arch_send_call_function_ipi_mask must still handle an empty
cpumask because the data block is globally visible before the that arch
callback is made. And (obviously) there are no guarantees to which cpus
are notified if the mask is changed during the call; only cpus that were
online and had their mask bit set during the whole call are guaranteed
to be called.
Reported-by: Mike Galbraith <efault@gmx.de>
Reported-by: Jan Beulich <JBeulich@novell.com>
Acked-by: Jan Beulich <jbeulich@novell.com>
Cc: stable@kernel.org
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Milton Miller [Tue, 15 Mar 2011 19:27:16 +0000 (13:27 -0600)]
call_function_many: add missing ordering
Paul McKenney's review pointed out two problems with the barriers in the
2.6.38 update to the smp call function many code.
First, a barrier that would force the func and info members of data to
be visible before their consumption in the interrupt handler was
missing. This can be solved by adding a smp_wmb between setting the
func and info members and setting setting the cpumask; this will pair
with the existing and required smp_rmb ordering the cpumask read before
the read of refs. This placement avoids the need a second smp_rmb in
the interrupt handler which would be executed on each of the N cpus
executing the call request. (I was thinking this barrier was present
but was not).
Second, the previous write to refs (establishing the zero that we the
interrupt handler was testing from all cpus) was performed by a third
party cpu. This would invoke transitivity which, as a recient or
concurrent addition to memory-barriers.txt now explicitly states, would
require a full smp_mb().
However, we know the cpumask will only be set by one cpu (the data
owner) and any preivous iteration of the mask would have cleared by the
reading cpu. By redundantly writing refs to 0 on the owning cpu before
the smp_wmb, the write to refs will follow the same path as the writes
that set the cpumask, which in turn allows us to keep the barrier in the
interrupt handler a smp_rmb instead of promoting it to a smp_mb (which
will be be executed by N cpus for each of the possible M elements on the
list).
I moved and expanded the comment about our (ab)use of the rcu list
primitives for the concurrent walk earlier into this function. I
considered moving the first two paragraphs to the queue list head and
lock, but felt it would have been too disconected from the code.
Cc: Paul McKinney <paulmck@linux.vnet.ibm.com>
Cc: stable@kernel.org (2.6.32 and later)
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Milton Miller [Tue, 15 Mar 2011 19:27:16 +0000 (13:27 -0600)]
call_function_many: fix list delete vs add race
Peter pointed out there was nothing preventing the list_del_rcu in
smp_call_function_interrupt from running before the list_add_rcu in
smp_call_function_many.
Fix this by not setting refs until we have gotten the lock for the list.
Take advantage of the wmb in list_add_rcu to save an explicit additional
one.
I tried to force this race with a udelay before the lock & list_add and
by mixing all 64 online cpus with just 3 random cpus in the mask, but
was unsuccessful. Still, inspection shows a valid race, and the fix is
a extension of the existing protection window in the current code.
Cc: stable@kernel.org (v2.6.32 and later)
Reported-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andrea Arcangeli [Thu, 17 Mar 2011 23:16:35 +0000 (00:16 +0100)]
mm: PageBuddy and mapcount robustness
Change the _mapcount value indicating PageBuddy from -2 to -128 for
more robusteness against page_mapcount() undeflows.
Use reset_page_mapcount instead of __ClearPageBuddy in bad_page to
ignore the previous retval of PageBuddy().
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Reported-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Thu, 17 Mar 2011 17:11:25 +0000 (10:11 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/epip/linux-2.6-unicore32
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32: (40 commits)
unicore32: rewrite arch-specific tlb.h to use asm-generic version
unicore32: modify io_p2v and io_v2p macros, and adjust PKUNITY_mmio_BASEs
unicore32: replace unicore32-specific iomap functions with generic lib implementation
unicore32 machine related: add frame buffer driver for pkunity-v3 soc
unicore32 machine related files: add i2c bus drivers for pkunity-v3 soc
unicore32 io: redefine __REG(x) and re-use readl/writel funcs
unicore32 i8042 upgrade and bugfix: adjust resource request region type
unicore32 upgrade to v2.6.38-rc5: add one more paramter for pte_alloc_map call
unicore32 i8042: adjust io funcs of i8042-unicore32io.h
unicore32: rename PKUNITY_IOSPACE_BASE to PKUNITY_MMIO_BASE
unicore32: modify function names and parameters for irq_chips
unicore32: remove unused lines in arch/unicore32/include/asm/irq.h
unicore32 time.c: change calculate method for clock_event_device
unicore32: ADD MAINTAINER for unicore32 architecture
unicore32 machine related files: ps2 driver
unicore32 machine related files: pci bus handling
unicore32 machine related files: hardware registers
unicore32 machine related files: core files
unicore32 additional architecture files: boot process
unicore32 additional architecture files: low-level lib: misc
...
Acked-by: Arnd Bergmann <arnd@arndb.de>
Linus Torvalds [Thu, 17 Mar 2011 17:10:49 +0000 (10:10 -0700)]
Merge branch 'for-linus' of git://git390.marist.edu/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
[S390] kexec: Disable ftrace during kexec
[S390] support XZ compressed kernel
[S390] css_bus_type: make it static
[S390] css_driver: remove duplicate members
[S390] css: remove subchannel private
[S390] css: move chsc_private to drv_data
[S390] css: move io_private to drv_data
[S390] cio: move cdev pointer to io_subchannel_private
[S390] cio: move options to io_sch_private
[S390] cio: move asms to generic header
[S390] cio: move orb definitions to separate header
[S390] Write protect module text and RO data
[S390] dasd: get rid of compile warning
[S390] remove superfluous check from do_IRQ
[S390] remove redundant stack check option
Linus Torvalds [Thu, 17 Mar 2011 16:57:10 +0000 (09:57 -0700)]
Merge branch 'sh-latest' of git://git./linux/kernel/git/lethal/sh-2.6
* 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (34 commits)
sh: Convert to generic show_interrupts.
sh: Wire up new fhandle and clock_adjtime syscalls.
sh: modify platform_device for sh_eth driver
sh: add GETHER's platform_device in board-sh7757lcr
sh: update sh7757lcr_defconfig
sh: add platform_device of tmio_mmc and sh_mmcif to sh7757lcr
sh: dmaengine support for SH7757
sh: add mmc clock in clock-sh7757
sh: add spi_board_info in sh7757lcr
sh: add platform_device for SPI
sh: add USB_ARCH_HAS_EHCI and OHCI for SH7757
sh: Rename cpuidle states to fit general conventions
serial: sh-sci: fix deadlock when resuming from S3 sleep
sh: Enable CONFIG_GCOV_PROFILE_ALL for sh
sh: Fix up async PCIe probing on SMP.
serial: sh-sci: Kill off the special earlyprintk device.
serial: sh-sci: Use dev_name() for region reservations.
serial: sh-sci: Fix up earlyprintk port mapping.
serial: sh-sci: Limit early console to one device.
serial: sh-sci: Fix up break timer scheduling race.
...
Linus Torvalds [Thu, 17 Mar 2011 16:56:43 +0000 (09:56 -0700)]
Merge git://git./linux/kernel/git/lethal/fbdev-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6:
fbdev: sh_mobile_lcdc: Add YUV framebuffer support
viafb: split pll configs up
viafb: remove duplicated clock storage
viafb: always return the best possible clock
viafb: remove duplicated clock information
fbdev: sh_mobile_lcdcfb: add backlight support
viafb: factor lcd scaling parameters out
viafb: strip some structures
viafb: remove unused data_mode and device_type
viafb: kill lcd_panel_id
video via: make local variables static
video via: fix iomem access
video/via: drop deprecated (and unused) i2c_adapter.id
Linus Torvalds [Thu, 17 Mar 2011 16:11:39 +0000 (09:11 -0700)]
Merge branch 'drm-core-next' of git://git./linux/kernel/git/airlied/drm-2.6
* 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (177 commits)
drm/radeon: fixup refcounts in radeon dumb create ioctl.
drm: radeon: *_cs_packet_parse_vline() cleanup
radeon: merge list_del()/list_add_tail() to list_move_tail()
drm: Retry i2c transfer of EDID block after failure
drm/radeon/kms: fix typo in atom overscan setup
drm: Hold the mode mutex whilst probing for sysfs status
drm/nouveau: fix __nouveau_fence_wait performance
drm/nv40: attempt to reserve just enough vram for all 32 channels
drm/nv50: check for vm traps on every gr irq
drm/nv50: decode vm faults some more
drm/nouveau: add nouveau_enum_find() util function
drm/nouveau: properly handle pushbuffer check failures
drm/nvc0: remove vm hack forcing large/small pages to not share a PDE
drm/i915: disable opregion lid detection for now.
drm/i915: Only wait on a pending flip if we intend to write to the buffer
drm/i915/dp: Sanity check eDP existence
drm: add cap bit to denote if dumb ioctl is available or not.
drm/core: add ioctl to query device/driver capabilities
drm/radeon/kms: allow max clock of 340 Mhz on hdmi 1.3+
drm/radeon/kms: add cayman pci ids
...
Paul Mundt [Thu, 17 Mar 2011 08:31:51 +0000 (17:31 +0900)]
sh: Convert to generic show_interrupts.
Trivial conversion, simply encapsulate the NMI stats in the arch code.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Thu, 17 Mar 2011 08:01:24 +0000 (17:01 +0900)]
sh: Wire up new fhandle and clock_adjtime syscalls.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshihiro Shimoda [Tue, 8 Mar 2011 08:00:04 +0000 (08:00 +0000)]
sh: modify platform_device for sh_eth driver
A new parameter is added to sh_eth_plat_data. And the sh_eth driver
needs additional memory resource if a module has TSU.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshihiro Shimoda [Tue, 8 Mar 2011 08:00:00 +0000 (08:00 +0000)]
sh: add GETHER's platform_device in board-sh7757lcr
This patch also modifies for ETHER's platform_device.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Thu, 17 Mar 2011 07:44:08 +0000 (16:44 +0900)]
Merge branch 'master' of git://git./linux/kernel/git/torvalds/linux-2.6 into sh-latest
Dave Airlie [Thu, 17 Mar 2011 03:58:34 +0000 (13:58 +1000)]
drm/radeon: fixup refcounts in radeon dumb create ioctl.
This was using old gem refcounting methods, fix it to be the same
as the normal create ioctl.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Paul Bolle [Wed, 16 Mar 2011 21:10:06 +0000 (22:10 +0100)]
drm: radeon: *_cs_packet_parse_vline() cleanup
Simplify the way the return value is set a number of times (mostly on
error).
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Nicolas Kaiser [Wed, 16 Mar 2011 16:08:04 +0000 (17:08 +0100)]
radeon: merge list_del()/list_add_tail() to list_move_tail()
Merge list_del() + list_add_tail() to list_move_tail().
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Linus Torvalds [Thu, 17 Mar 2011 03:41:28 +0000 (20:41 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (33 commits)
sparc32: Fix might-be-used-uninitialized warning in do_sparc_fault().
sparc: Fix .size directive for do_int_load
sparc64: Fix build errors with gcc-4.6.0
sparc32,sun4m: percpu and global register definitions moved to irq.h
sparc32: introduce build_device_irq
sparc32: introduce sparc_irq_config
sparc32: fix build with leon or floppy enabled
sparc: convert to clocksource_register_hz/khz
sparc64: Sharpen address space randomization calculations.
sparc32: irq_32.c cleanup
sparc32, sun4d: add comment in empty statement in sun4d_request_irq()
sparc32,sun4d: drop unused code in sun4d_distribute_irqs()
sparc32,sun4d: irq, smp files cleanup
sparc32,sun4m: irq, smp files cleanup
sparc32,sun4c: irq file cleanup
sparc32: add irq + smp declarations to headers
sparc32: remove tick14.c
sparc32/leon: FPU-FSR only available when FPU present
SPARC/LEON: power down instruction different of different LEONs
sparc32: added U-Boot build target: uImage
...
Linus Torvalds [Thu, 17 Mar 2011 02:09:57 +0000 (19:09 -0700)]
Merge branch 'mnt_devname' of git://git./linux/kernel/git/viro/vfs-2.6
* 'mnt_devname' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
vfs: bury ->get_sb()
nfs: switch NFS from ->get_sb() to ->mount()
nfs: stop mangling ->mnt_devname on NFS
vfs: new superblock methods to override /proc/*/mount{s,info}
nfs: nfs_do_{ref,sub}mount() superblock argument is redundant
nfs: make nfs_path() work without vfsmount
nfs: store devname at disconnected NFS roots
nfs: propagate devname to nfs{,4}_get_root()
Linus Torvalds [Thu, 17 Mar 2011 02:08:03 +0000 (19:08 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/geert/linux-m68k
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
m68k/block: amiflop - Remove superfluous amiga_chip_alloc() cast
m68k/atari: ARAnyM - Add support for network access
m68k/atari: ARAnyM - Add support for console access
m68k/atari: ARAnyM - Add support for block access
m68k/atari: Initial ARAnyM support
m68k: Kconfig - Remove unneeded "default n"
m68k: Makefiles - Change to new flags variables
m68k/amiga: Reclaim Chip RAM for PPC exception handlers
m68k: Allow all kernel traps to be handled via exception fixups
m68k: Use base_trap_init() to initialize vectors
m68k: Add helper function handle_kernel_fault()
Linus Torvalds [Thu, 17 Mar 2011 02:05:40 +0000 (19:05 -0700)]
Merge branch 'remove' of /home/rmk/linux-2.6-arm
* 'remove' of master.kernel.org:/home/rmk/linux-2.6-arm:
ARM: 6629/2:
aaec2000: remove support for mach-
aaec2000
ARM: lh7a40x: remove unmaintained platform support
Fix up trivial conflicts in
- arch/arm/mach-{
aaec2000,lh7a40x}/include/mach/memory.h (removed)
- drivers/usb/gadget/Kconfig (USB_[GADGET_]LH7A40X removed, others added)
Linus Torvalds [Thu, 17 Mar 2011 02:03:06 +0000 (19:03 -0700)]
Merge branch 'for-linus' of /home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (91 commits)
ARM: 6806/1: irq: introduce entry and exit functions for chained handlers
ARM: 6781/1: Thumb-2: Work around buggy Thumb-2 short branch relocations in gas
ARM: 6747/1: P2V: Thumb2 support
ARM: 6798/1: aout-core: zero thread debug registers in a.out core dump
ARM: 6796/1: Footbridge: Fix I/O mappings for NOMMU mode
ARM: 6784/1: errata: no automatic Store Buffer drain on Cortex-A9
ARM: 6772/1: errata: possible fault MMU translations following an ASID switch
ARM: 6776/1: mach-ux500: activate fix for errata 753970
ARM: 6794/1: SPEAr: Append UL to device address macros.
ARM: 6793/1: SPEAr: Remove unused *_SIZE macros from spear*.h files
ARM: 6792/1: SPEAr: Replace SIZE macro's with SZ_4K macros
ARM: 6791/1: SPEAr3xx: Declare device structures after shirq code
ARM: 6790/1: SPEAr: Clock Framework: Rename usbd clock and align apb_clk entry
ARM: 6789/1: SPEAr3xx: Rename sdio to sdhci
ARM: 6788/1: SPEAr: Include mach/hardware.h instead of mach/spear.h
ARM: 6787/1: SPEAr: Reorder #includes in .h & .c files.
ARM: 6681/1: SPEAr: add debugfs support to clk API
ARM: 6703/1: SPEAr: update clk API support
ARM: 6679/1: SPEAr: make clk API functions more generic
ARM: 6737/1: SPEAr: formalized timer support
...
Linus Torvalds [Thu, 17 Mar 2011 02:02:36 +0000 (19:02 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/gerg/m68knommu
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (41 commits)
m68knommu: external interrupt support to ColdFire intc-simr controller
m68knommu: external interrupt support to ColdFire intc-2 controller
m68knommu: remove ColdFire CLOCK_DIV config option
m68knommu: fix gpio warnings for ColdFire 5407 targets
m68knommu: fix gpio warnings for ColdFire 532x targets
m68knommu: fix gpio warnings for ColdFire 5307 targets
m68knommu: fix gpio warnings for ColdFire 527x targets
m68knommu: fix gpio warnings for ColdFire 5272 targets
m68knommu: fix gpio warnings for ColdFire 5249 targets
m68knommu: fix gpio warnings for ColdFire 523x targets
m68knommu: fix gpio warnings for ColdFire 520x targets
m68knommu: fix gpio warnings for ColdFire 5206e targets
m68knommu: fix gpio warnings for ColdFire 5206 targets
m68knommu: fixing compiler warnings
m68knommu: limit interrupts supported by ColdFire intc-simr driver
m68knommu: move some init code out of unmask routine for ColdFire intc-2
m68knommu: limit interrupts supported by ColdFire intc-2 driver
m68knommu: add basic support for the ColdFire based FireBee board
m68knommu: make ColdFire internal peripheral region configurable
m68knommu: clean up definitions of ColdFire peripheral base registers
...
Linus Torvalds [Thu, 17 Mar 2011 02:01:29 +0000 (19:01 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] tioca: Fix assignment from incompatible pointer warnings
[IA64] mca.c: Fix cast from integer to pointer warning
[IA64] setup.c Typo fix "Architechtuallly"
[IA64] Add CONFIG_MISC_DEVICES=y to configs that need it.
[IA64] disable interrupts at end of ia64_mca_cpe_int_handler()
[IA64] Add DMA_ERROR_CODE define.
pstore: fix build warning for unused return value from sysfs_create_file
pstore: X86 platform interface using ACPI/APEI/ERST
pstore: new filesystem interface to platform persistent storage
GuanXuetao [Fri, 4 Mar 2011 12:00:11 +0000 (20:00 +0800)]
unicore32: rewrite arch-specific tlb.h to use asm-generic version
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Fri, 4 Mar 2011 10:07:48 +0000 (18:07 +0800)]
unicore32: modify io_p2v and io_v2p macros, and adjust PKUNITY_mmio_BASEs
1. remove __REG macro
2. add (void __iomem *) to io_p2v macro
3. add (phys_addr_t) to io_v2p macro
4. add PKUNITY_AHB_BASE and PKUNITY_APB_BASE definitions
5. modify all PKUNITY_mmio_BASEs from physical addr to virtual addr
6. adjust prefix macro for all usage of PKUNITY_mmio_BASEs
-- by advice with Arnd Bergmann
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sun, 27 Feb 2011 04:46:06 +0000 (12:46 +0800)]
unicore32: replace unicore32-specific iomap functions with generic lib implementation
1. define and enable CONFIG_GENERIC_IOMAP
2. define unicore32-specific PCI_IOBASE for asm-generic/io.h
3. define HAVE_ARCH_PIO_SIZE and unicore32-specific PIO_* macros
4. remove all unicore32-specific iomap functions
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-and-Acked-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 26 Feb 2011 13:39:10 +0000 (21:39 +0800)]
unicore32 machine related: add frame buffer driver for pkunity-v3 soc
change from original version -- by advice of Paul Mundt
1. remove videomemorysize definitions
2. remove unifb_enable and unifb_setup
3. use dev_warn instead of printk in fb driver
4. remove judgement for FB_ACCEL_PUV3_UNIGFX
5. adjust clk_get and clk_set_rate calls
6. add resources definitions
7. remove unifb_option
8. adjust register for platform_device
9. adjust unifb_ops position and unifb_regs assignment position
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 26 Feb 2011 13:29:29 +0000 (21:29 +0800)]
unicore32 machine related files: add i2c bus drivers for pkunity-v3 soc
change from original version -- by advice of Jean Delvare
1. remove global variable i2c_reg, replaced by local variables
2. replace ENXIO with ENODEV when no platform resources
3. add adapter->nr assignment before i2c_add_numbered_adapter() call
4. add judgement for i2c_del_adapter() return value
5. release adapter when driver removed
6. add __devexit for puv3_i2c_remove() function
7. modify several names to more appropriated ones
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 26 Feb 2011 13:21:18 +0000 (21:21 +0800)]
unicore32 io: redefine __REG(x) and re-use readl/writel funcs
-- by advice of Arnd Bergmann
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Fri, 25 Feb 2011 09:58:00 +0000 (17:58 +0800)]
unicore32 i8042 upgrade and bugfix: adjust resource request region type
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Tue, 22 Feb 2011 09:34:47 +0000 (17:34 +0800)]
unicore32 upgrade to v2.6.38-rc5: add one more paramter for pte_alloc_map call
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Fri, 18 Feb 2011 10:38:33 +0000 (18:38 +0800)]
unicore32 i8042: adjust io funcs of i8042-unicore32io.h
replace inb/outb with readb/writeb in i8042-unicore32io.h
and correct typecasting of register and region macros
-- by advice with Arnd Bergmann
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Sat, 26 Feb 2011 12:49:47 +0000 (20:49 +0800)]
unicore32: rename PKUNITY_IOSPACE_BASE to PKUNITY_MMIO_BASE
for the term IOSPACE normally refers to the PCI PIO space
-- by advice with Arnd Bergmann
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Thu, 17 Feb 2011 11:15:36 +0000 (19:15 +0800)]
unicore32: modify function names and parameters for irq_chips
-- by advice with Thomas Gleixner
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Thu, 17 Feb 2011 11:06:59 +0000 (19:06 +0800)]
unicore32: remove unused lines in arch/unicore32/include/asm/irq.h
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
David S. Miller [Wed, 9 Mar 2011 21:00:47 +0000 (13:00 -0800)]
sparc32: Fix might-be-used-uninitialized warning in do_sparc_fault().
When we try to handle vmalloc faults, we can take a code
path which uses "code" before we actually set it.
Amusingly gcc-3.3 notices this yet gcc-4.x does not.
Reported-by: Bob Breuer <breuerr@mc.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Thu, 17 Feb 2011 09:50:43 +0000 (17:50 +0800)]
unicore32 time.c: change calculate method for clock_event_device
apply clockevents_calc_mult_shift() to get rid of
shift assignment and mult calculation for osmr0
-- by advice with Thomas Gleixner
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Sat, 15 Jan 2011 16:35:49 +0000 (00:35 +0800)]
unicore32: ADD MAINTAINER for unicore32 architecture
Add MAINTAINER list for unicore32 architecture and pkunity soc drivers.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Ben Hutchings [Wed, 9 Mar 2011 20:54:27 +0000 (12:54 -0800)]
sparc: Fix .size directive for do_int_load
gas used to accept (and ignore?) .size directives which referred to
undefined symbols, as this does. In binutils 2.21 these are treated
as errors.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:28:19 +0000 (18:28 +0800)]
unicore32 machine related files: ps2 driver
This patch implements arch-specific ps2 driver.
By reviewed with Dmitry Torokhov:
1. move i8042-ucio.h to drivers/input/serio/i8042-unicore32io.h
2. move puv3_ps2_init() to arch/unicore32/kernel/puv3-core.c
3. remove unused comments.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
David S. Miller [Sun, 27 Feb 2011 07:40:02 +0000 (23:40 -0800)]
sparc64: Fix build errors with gcc-4.6.0
Most of the warnings emitted (we fail arch/sparc file
builds with -Werror) were legitimate but harmless, however
one case (n2_pcr_write) was a genuine bug.
Based almost entirely upon a patch by Sam Ravnborg.
Reported-by: Dennis Gilmore <dennis@ausil.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:25:14 +0000 (18:25 +0800)]
unicore32 machine related files: pci bus handling
This patch implements arch-specific pci bus driver.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Sam Ravnborg [Sat, 26 Feb 2011 07:02:11 +0000 (23:02 -0800)]
sparc32,sun4m: percpu and global register definitions moved to irq.h
entry.S access percpu + global data defined in
sun4m_irq.c - so move the types to irq.h.
This makes sparse happy and allow us to utilize
asm-offsets later.
Also updated a few comments in the sun4m_irq.c file.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 26 Feb 2011 12:08:36 +0000 (20:08 +0800)]
unicore32 machine related files: hardware registers
This patch adds all hardware registers definitions.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Sam Ravnborg [Sat, 26 Feb 2011 07:01:19 +0000 (23:01 -0800)]
sparc32: introduce build_device_irq
build_device_irq() is used to encapsulate the plaform
specific details when we build an irq.
For now the default is a simple 1:1 but sun4d differs.
This patch refactors functionality - but does not change
the existing functionality.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 26 Feb 2011 11:51:18 +0000 (19:51 +0800)]
unicore32 machine related files: core files
This patch adds machine related core files, also including build infrastructure.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 15 Jan 2011 10:23:31 +0000 (18:23 +0800)]
unicore32 additional architecture files: boot process
This patch implements booting process, including uncompression process.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Sat, 26 Feb 2011 07:00:19 +0000 (23:00 -0800)]
sparc32: introduce sparc_irq_config
sparc_irq_config is used to hold the platform specific irq setup.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:23:09 +0000 (18:23 +0800)]
unicore32 additional architecture files: low-level lib: misc
This patch implements the rest low-level libraries.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Sat, 26 Feb 2011 06:59:20 +0000 (22:59 -0800)]
sparc32: fix build with leon or floppy enabled
Add a few includes back required to build with floppy enabled
Fix declaration of trapbase_cpu* so it is now consistent
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 26 Feb 2011 10:49:26 +0000 (18:49 +0800)]
unicore32 additional architecture files: low-level lib: uaccess
This patch implements low-level uaccess libraries.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
John Stultz [Wed, 23 Feb 2011 21:08:21 +0000 (13:08 -0800)]
sparc: convert to clocksource_register_hz/khz
This converts the sparc clocksources to use clocksource_register_hz/khz
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:22:19 +0000 (18:22 +0800)]
unicore32 additional architecture files: low-level lib: ocd debug
This patch implements low-level debug libraries with On-Chip-Debugger hardware support.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
David S. Miller [Fri, 18 Feb 2011 22:06:47 +0000 (14:06 -0800)]
sparc64: Sharpen address space randomization calculations.
A recent patch to the x86 randomization code caused me to take
a quick look at what we do on sparc64, and in doing so I noticed
that we sometimes calculate a non-page-aligned randomization value
and stick it into mmap_base.
I also noticed that since I copied the logic over from PowerPC,
the powerpc code has tweaked the randomization ranges in ways that
would benefit us as well.
For one thing, we should allow up to at least 8MB of randomization
otherwise huge-page regions when HPAGE_SIZE is 4MB never randomize
at all.
And on the 64-bit side we were using up to 4GB. Tone it down to
1GB as 4GB can result in a lot of address space wastage.
Finally, make sure all computations are unsigned.
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:21:56 +0000 (18:21 +0800)]
unicore32 additional architecture files: ptrace handling
This patch adds ptrace support.
Changed from previous version:
1. disable arch_has_single_step and remove single-step instruction handler
2. add 'Ross Biro 1/23/92' contributor information
3. clean unused codes
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:24 +0000 (22:08 +0000)]
sparc32: irq_32.c cleanup
- drop filename in file header
- drop unused includes
- add KERN_* to printk
- fix spaces => tabs
- add spaces after reserved words
- drop all externs, they are now in header files
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:21:31 +0000 (18:21 +0800)]
unicore32 additional architecture files: float point handling
This patch implements support for float point unit, which using UniCore-F64 FPU hardware
in UniCore32 ISA.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:23 +0000 (22:08 +0000)]
sparc32, sun4d: add comment in empty statement in sun4d_request_irq()
This looked like a bug to me.
Add a comment so next reader is hopefully less confused.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 26 Feb 2011 12:23:59 +0000 (20:23 +0800)]
unicore32 additional architecture files: pm related files
This patch adds pm related files, including hibernate and sleep supports.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:22 +0000 (22:08 +0000)]
sparc32,sun4d: drop unused code in sun4d_distribute_irqs()
The preprocessor symbol was not defined and the code
was therefore not in use.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:20:01 +0000 (18:20 +0800)]
unicore32 core architecture: signals handling
This patch implements signals.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:21 +0000 (22:08 +0000)]
sparc32,sun4d: irq, smp files cleanup
- drop filename in file header
- drop unused includes
- add description of sun4d interrupts (from davem)
- add KERN_* to printk
- fix spaces => tabs
- add spaces after reserved words
- fix indent of a whole code block in smp4d_boot_one_cpu()
Note: two printk() was updated from debug to KERN_INFO in this code block
- drop all externs, they are now in header files
This is partly based on a patch from: David Miller <davem@davemloft.net>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:19:35 +0000 (18:19 +0800)]
unicore32 core architecture: interrupts ang gpio handling
This patch implements interrupts and gpio handling.
UniCore32 has 9 gpio interrupt sources.
And gpio device operations are also here.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
GuanXuetao [Sat, 15 Jan 2011 10:19:03 +0000 (18:19 +0800)]
unicore32 core architecture: timer and time handling
This patch implements timer and time.
RTC and PWM device drivers are also here.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:20 +0000 (22:08 +0000)]
sparc32,sun4m: irq, smp files cleanup
- drop filename in file header
- drop unused includes
- add description of sun4m interrupts (from davem)
- add KERN_* to printk
- fix spaces => tabs
- add spaces after reserved words
- drop all externs, they are now in header files
This is partly based on a patch from: David Miller <davem@davemloft.net>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:18:29 +0000 (18:18 +0800)]
unicore32 core architecture: mm related: consistent device DMA handling
This patch implements consistent device DMA handling of memory management.
DMA device operations are also here.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:19 +0000 (22:08 +0000)]
sparc32,sun4c: irq file cleanup
- drop filename in header
- drop unused includes
- add description of sun4c interrupts (from davem)
- add spaces after reserved words
This is partly based on a patch from: David Miller <davem@davemloft.net>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:17:56 +0000 (18:17 +0800)]
unicore32 core architecture: mm related: fault handling
This patch implements fault handling of memory management.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:18 +0000 (22:08 +0000)]
sparc32: add irq + smp declarations to headers
In preparation for cleaning up a number of files add
declarations for irq and smp related data/functions to
the relevant headers.
This showed that the extern declaration of cputypval differed
in the two files where it was used.
As cputypval is defined like this:
cputypval:
.asciz "sun4c"
the correct representation is a char array.
Fix users to use the new declaration.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:16:59 +0000 (18:16 +0800)]
unicore32 core architecture: mm related: generic codes
This patch includes generic codes for memory management.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Fri, 28 Jan 2011 22:08:17 +0000 (22:08 +0000)]
sparc32: remove tick14.c
The two methods included in tick14.c was nop because
the static variable linux_lvl14 was always NULL.
So remove the file and callers.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:16:21 +0000 (18:16 +0800)]
unicore32 core architecture: process/thread related codes
This patch implements process/thread related codes. Backtrace and stacktrace are here.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 15 Jan 2011 10:15:45 +0000 (18:15 +0800)]
unicore32 core architecture: low level entry and setup codes
This patch implements low level entry and setup codes.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 15 Jan 2011 10:15:01 +0000 (18:15 +0800)]
unicore32 core architecture: processor and system headers
This patch includes processor and system headers. System call interface is here.
We used the syscall interface the same as asm-generic version.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Daniel Hellstrom [Wed, 26 Jan 2011 06:37:05 +0000 (06:37 +0000)]
sparc32/leon: FPU-FSR only available when FPU present
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:13:50 +0000 (18:13 +0800)]
unicore32 core architecture: generic elf and ksyms stuff
This patch includes some generic stuff including elf and ksyms.
Because all one-line asm-generic headers are auto-generated by ASM_GENERIC_HEADERS
in arch/unicore32/Makefile, so the rest seems very little.
ELF handling functions and module handling functions are also here.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 26 Feb 2011 10:24:56 +0000 (18:24 +0800)]
unicore32 core architecture: build infrastructure
This patch implements build infrastructure.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
GuanXuetao [Sat, 15 Jan 2011 10:08:09 +0000 (18:08 +0800)]
asm-generic headers: add arch-specific __strnlen_user calling in uaccess.h
This patch changes the implementation of strnlen_user in include/asm-generic/uaccess.h.
Originally, it calls strlen() function directly, which may not correctly handle the access of
user space in most mmu-enabled architectures.
New __strnlen_user is added for using as an architecture specific function.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Daniel Hellstrom [Thu, 27 Jan 2011 01:26:58 +0000 (01:26 +0000)]
SPARC/LEON: power down instruction different of different LEONs
The way a LEON is powered down is implemented differently depending
on CHIP type. The AMBA Plug&Play system ID tells revision of GRLIB
and CHIP.
This is for example needed by the GR-LEON4-ITX board and the UT699.
Previously the power down support for LEON was limited to SMP, now
both SMP and UP systems use the instruction.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:07:08 +0000 (18:07 +0800)]
asm-generic headers: add ftrace.h
This patch adds ftrace.h into asm-generic headers.
The file content could be empty in most architectures.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Daniel Hellstrom [Wed, 26 Jan 2011 06:36:35 +0000 (06:36 +0000)]
sparc32: added U-Boot build target: uImage
This is only for LEON as u-boot for SPARC only supports LEON.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Sat, 15 Jan 2011 10:06:44 +0000 (18:06 +0800)]
asm-generic headers: add sizes.h
This patch adds sizes.h into asm-generic headers.
Only 32-bit version supported.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Sat, 22 Jan 2011 11:32:20 +0000 (11:32 +0000)]
sparc64: rename virt_irq => irq - II
The generic irq support uses the term 'irq' for the
allocated irq number.
Fix it so sparc64 use the same term for an irq as the
generic irq support does.
For a naive reader this is less confusing.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
GuanXuetao [Tue, 22 Feb 2011 11:06:43 +0000 (19:06 +0800)]
asm-generic: fix inX/outX functions for architectures that have PCI
The definitions for the PC-style PIO functions in asm-generic/io.h were
meant as dummies so you could compile code on architectures without
ISA and PCI buses. However, unicore32 actually wants to use them
with a real PCI bus, so they need to be defined to actually address
the register window holding the I/O ports.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Sam Ravnborg [Sat, 22 Jan 2011 11:32:19 +0000 (11:32 +0000)]
sparc64: rename virt_irq => irq - I
The generic irq support uses the term 'irq' for the
allocated irq number.
Fix it so sparc64 use the same term for an irq as the
generic irq support does.
For a naive reader this is less confusing.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Sat, 22 Jan 2011 11:32:18 +0000 (11:32 +0000)]
sparc64: use up-to-data genirq functions
Drop all uses of deprecated genirq features.
The irq_set_affinity() call got a third paramter 'force'
which is unused.
For now genirq does not use this paramter and it is
ignored by sparc.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Josip Rodin <joy@entuzijast.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Sat, 22 Jan 2011 11:32:17 +0000 (11:32 +0000)]
sparc64: use {get,set}_irq_data for handler_data
{get,set}_irq_data uses the member "handler_data" in irq_data
which fits the naem of the datatype.
The change has no functional impact
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Sat, 22 Jan 2011 11:32:16 +0000 (11:32 +0000)]
sparc64: all pointers to irq_handler_data renamed to handler_data
In preparation of moving to use irq_data.handler_data rename
all pointers to irq_handler_data "handler_data".
This will also prevent name clash when we introduce the
new irq methods.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Sat, 22 Jan 2011 11:32:15 +0000 (11:32 +0000)]
sparc: in handler_irq() rename irq parameter to pil
The generic irq support uses "irq" to identify the
virtual irq number. To avoid confusion rename the
argument to handler_irq() to pil to match the
name of the parameter in the PCR register.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Sat, 22 Jan 2011 11:32:14 +0000 (11:32 +0000)]
sparc64: fix direct access to irq_desc
GENERIC_HARDIRQS_NO_DEPRECATED require us to access data via irq_data.
No functional changes as data has same layout due to use of union
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kristoffer Glembo [Tue, 18 Jan 2011 04:10:29 +0000 (04:10 +0000)]
sparc: Fix sbus_alloc_coherent error handling.
Order of kfree and free_pages were swapped in the error handling.
Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kristoffer Glembo [Tue, 18 Jan 2011 04:10:28 +0000 (04:10 +0000)]
sparc: Make mmu_inval_dma_area take void * instead of unsigned long to minimize casts.
Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kristoffer Glembo [Tue, 18 Jan 2011 04:10:27 +0000 (04:10 +0000)]
sparc/leon: Make mmu_inval_dma_area flush dcache for LEONs without snooping enabled.
Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kristoffer Glembo [Tue, 18 Jan 2011 04:10:26 +0000 (04:10 +0000)]
sparc/leon: Add LEON dma_ops.
This patch sets the dma_ops structure for LEON. It reuses the pci32_dma_ops.
Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kristoffer Glembo [Tue, 18 Jan 2011 04:10:25 +0000 (04:10 +0000)]
sparc: Add pci32_unmap_page.
Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kristoffer Glembo [Tue, 18 Jan 2011 04:10:24 +0000 (04:10 +0000)]
sparc: Replace open coded page alignment with PAGE_ALIGN macro.
Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Thu, 17 Mar 2011 00:28:10 +0000 (17:28 -0700)]
Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6
* 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6: (21 commits)
tty: serial: altera_jtaguart: Add device tree support
tty: serial: altera_uart: Add devicetree support
dt: eliminate of_platform_driver shim code
dt: Eliminate of_platform_{,un}register_driver
dt/serial: Eliminate users of of_platform_{,un}register_driver
dt/usb: Eliminate users of of_platform_{,un}register_driver
dt/video: Eliminate users of of_platform_{,un}register_driver
dt/net: Eliminate users of of_platform_{,un}register_driver
dt/sound: Eliminate users of of_platform_{,un}register_driver
dt/spi: Eliminate users of of_platform_{,un}register_driver
dt: uartlite: merge platform and of_platform driver bindings
dt: xilinx_hwicap: merge platform and of_platform driver bindings
ipmi: convert OF driver to platform driver
leds/leds-gpio: merge platform_driver with of_platform_driver
dt/sparc: Eliminate users of of_platform_{,un}register_driver
dt/powerpc: Eliminate users of of_platform_{,un}register_driver
dt/powerpc: move of_bus_type infrastructure to ibmebus
drivercore/dt: add a match table pointer to struct device
dt: Typo fix.
altera_ps2: Add devicetree support
...
Linus Torvalds [Thu, 17 Mar 2011 00:21:00 +0000 (17:21 -0700)]
Merge branch 'config' of git://git./linux/kernel/git/arnd/bkl
* 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:
BKL: That's all, folks
fs/locks.c: Remove stale FIXME left over from BKL conversion
ipx: remove the BKL
appletalk: remove the BKL
x25: remove the BKL
ufs: remove the BKL
hpfs: remove the BKL
drivers: remove extraneous includes of smp_lock.h
tracing: don't trace the BKL
adfs: remove the big kernel lock
Russell King [Wed, 16 Mar 2011 23:35:27 +0000 (23:35 +0000)]
Merge branch 'p2v' into devel
Conflicts:
arch/arm/kernel/module.c
arch/arm/mach-s5pv210/sleep.S