firefly-linux-kernel-4.4.55.git
13 years agosmp_call_function_many: handle concurrent clearing of mask
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>
13 years agocall_function_many: add missing ordering
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>
13 years agocall_function_many: fix list delete vs add race
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>
13 years agomm: PageBuddy and mapcount robustness
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>
13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux...
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>
13 years agoMerge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
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

13 years agoMerge branch 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal...
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.
  ...

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6
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

13 years agoMerge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
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
  ...

13 years agosh: Convert to generic show_interrupts.
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>
13 years agosh: Wire up new fhandle and clock_adjtime syscalls.
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>
13 years agosh: modify platform_device for sh_eth driver
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>
13 years agosh: add GETHER's platform_device in board-sh7757lcr
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>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
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

13 years agodrm/radeon: fixup refcounts in radeon dumb create ioctl.
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>
13 years agodrm: radeon: *_cs_packet_parse_vline() cleanup
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>
13 years agoradeon: merge list_del()/list_add_tail() to list_move_tail()
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>
13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6
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
  ...

13 years agoMerge branch 'mnt_devname' of git://git.kernel.org/pub/scm/linux/kernel/git/viro...
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()

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux...
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()

13 years agoMerge branch 'remove' of master.kernel.org:/home/rmk/linux-2.6-arm
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)

13 years agoMerge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
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
  ...

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
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
  ...

13 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
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

13 years agounicore32: rewrite arch-specific tlb.h to use asm-generic version
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>
13 years agounicore32: modify io_p2v and io_v2p macros, and adjust PKUNITY_mmio_BASEs
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>
13 years agounicore32: replace unicore32-specific iomap functions with generic lib implementation
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>
13 years agounicore32 machine related: add frame buffer driver for pkunity-v3 soc
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>
13 years agounicore32 machine related files: add i2c bus drivers for pkunity-v3 soc
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>
13 years agounicore32 io: redefine __REG(x) and re-use readl/writel funcs
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>
13 years agounicore32 i8042 upgrade and bugfix: adjust resource request region type
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>
13 years agounicore32 upgrade to v2.6.38-rc5: add one more paramter for pte_alloc_map call
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>
13 years agounicore32 i8042: adjust io funcs of i8042-unicore32io.h
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>
13 years agounicore32: rename PKUNITY_IOSPACE_BASE to PKUNITY_MMIO_BASE
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>
13 years agounicore32: modify function names and parameters for irq_chips
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>
13 years agounicore32: remove unused lines in arch/unicore32/include/asm/irq.h
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>
13 years agosparc32: Fix might-be-used-uninitialized warning in do_sparc_fault().
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>
13 years agounicore32 time.c: change calculate method for clock_event_device
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>
13 years agounicore32: ADD MAINTAINER for unicore32 architecture
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>
13 years agosparc: Fix .size directive for do_int_load
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>
13 years agounicore32 machine related files: ps2 driver
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>
13 years agosparc64: Fix build errors with gcc-4.6.0
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>
13 years agounicore32 machine related files: pci bus handling
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>
13 years agosparc32,sun4m: percpu and global register definitions moved to irq.h
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>
13 years agounicore32 machine related files: hardware registers
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>
13 years agosparc32: introduce build_device_irq
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>
13 years agounicore32 machine related files: core files
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>
13 years agounicore32 additional architecture files: boot process
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>
13 years agosparc32: introduce sparc_irq_config
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>
13 years agounicore32 additional architecture files: low-level lib: misc
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>
13 years agosparc32: fix build with leon or floppy enabled
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>
13 years agounicore32 additional architecture files: low-level lib: uaccess
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>
13 years agosparc: convert to clocksource_register_hz/khz
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>
13 years agounicore32 additional architecture files: low-level lib: ocd debug
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>
13 years agosparc64: Sharpen address space randomization calculations.
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>
13 years agounicore32 additional architecture files: ptrace handling
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>
13 years agosparc32: irq_32.c cleanup
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>
13 years agounicore32 additional architecture files: float point handling
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>
13 years agosparc32, sun4d: add comment in empty statement in sun4d_request_irq()
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>
13 years agounicore32 additional architecture files: pm related files
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>
13 years agosparc32,sun4d: drop unused code in sun4d_distribute_irqs()
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>
13 years agounicore32 core architecture: signals handling
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>
13 years agosparc32,sun4d: irq, smp files cleanup
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>
13 years agounicore32 core architecture: interrupts ang gpio handling
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>
13 years agounicore32 core architecture: timer and time handling
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>
13 years agosparc32,sun4m: irq, smp files cleanup
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>
13 years agounicore32 core architecture: mm related: consistent device DMA handling
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>
13 years agosparc32,sun4c: irq file cleanup
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>
13 years agounicore32 core architecture: mm related: fault handling
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>
13 years agosparc32: add irq + smp declarations to headers
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>
13 years agounicore32 core architecture: mm related: generic codes
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>
13 years agosparc32: remove tick14.c
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>
13 years agounicore32 core architecture: process/thread related codes
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>
13 years agounicore32 core architecture: low level entry and setup codes
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>
13 years agounicore32 core architecture: processor and system headers
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>
13 years agosparc32/leon: FPU-FSR only available when FPU present
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>
13 years agounicore32 core architecture: generic elf and ksyms stuff
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>
13 years agounicore32 core architecture: build infrastructure
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>
13 years agoasm-generic headers: add arch-specific __strnlen_user calling in uaccess.h
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>
13 years agoSPARC/LEON: power down instruction different of different LEONs
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>
13 years agoasm-generic headers: add ftrace.h
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>
13 years agosparc32: added U-Boot build target: uImage
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>
13 years agoasm-generic headers: add sizes.h
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>
13 years agosparc64: rename virt_irq => irq - II
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>
13 years agoasm-generic: fix inX/outX functions for architectures that have PCI
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>
13 years agosparc64: rename virt_irq => irq - I
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>
13 years agosparc64: use up-to-data genirq functions
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>
13 years agosparc64: use {get,set}_irq_data for handler_data
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>
13 years agosparc64: all pointers to irq_handler_data renamed to handler_data
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>
13 years agosparc: in handler_irq() rename irq parameter to pil
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>
13 years agosparc64: fix direct access to irq_desc
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>
13 years agosparc: Fix sbus_alloc_coherent error handling.
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>
13 years agosparc: Make mmu_inval_dma_area take void * instead of unsigned long to minimize casts.
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>
13 years agosparc/leon: Make mmu_inval_dma_area flush dcache for LEONs without snooping enabled.
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>
13 years agosparc/leon: Add LEON dma_ops.
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>
13 years agosparc: Add pci32_unmap_page.
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>
13 years agosparc: Replace open coded page alignment with PAGE_ALIGN macro.
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>
13 years agoMerge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6
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
  ...

13 years agoMerge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl
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

13 years agoMerge branch 'p2v' into devel
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