]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Fri, 4 Nov 2011 02:15:30 +0000 (13:15 +1100)]
Merge remote-tracking branch 'cifs/master'

13 years agoMerge remote-tracking branch 'xtensa/master'
Stephen Rothwell [Fri, 4 Nov 2011 02:14:12 +0000 (13:14 +1100)]
Merge remote-tracking branch 'xtensa/master'

13 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Fri, 4 Nov 2011 02:12:54 +0000 (13:12 +1100)]
Merge remote-tracking branch 'unicore32/unicore32'

13 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Fri, 4 Nov 2011 02:11:38 +0000 (13:11 +1100)]
Merge remote-tracking branch 'tile/master'

Conflicts:
arch/tile/kernel/intvec_32.S
arch/tile/lib/atomic_asm_32.S

13 years agoMerge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Fri, 4 Nov 2011 01:57:50 +0000 (12:57 +1100)]
Merge remote-tracking branch 'rmobile/rmobile-latest'

13 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Fri, 4 Nov 2011 01:56:36 +0000 (12:56 +1100)]
Merge remote-tracking branch 's390/features'

13 years agoMerge remote-tracking branch 'galak/next'
Stephen Rothwell [Fri, 4 Nov 2011 01:55:15 +0000 (12:55 +1100)]
Merge remote-tracking branch 'galak/next'

13 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Fri, 4 Nov 2011 01:53:47 +0000 (12:53 +1100)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

13 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Fri, 4 Nov 2011 01:47:21 +0000 (12:47 +1100)]
Merge remote-tracking branch 'powerpc/next'

Conflicts:
arch/powerpc/configs/40x/hcu4_defconfig
arch/powerpc/include/asm/udbg.h
arch/powerpc/kernel/udbg.c
drivers/tty/serial/8250.c

13 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:29:06 +0000 (12:29 +1100)]
Merge remote-tracking branch 'parisc/for-next'

13 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:27:45 +0000 (12:27 +1100)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

13 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:27:43 +0000 (12:27 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'

Conflicts:
arch/m68k/Kconfig.bus
arch/m68k/Kconfig.devices
arch/m68k/kernel/Makefile

13 years agoMerge remote-tracking branch 'ia64/next'
Stephen Rothwell [Fri, 4 Nov 2011 01:27:31 +0000 (12:27 +1100)]
Merge remote-tracking branch 'ia64/next'

13 years agoMerge branch 'quilt/hexagon'
Stephen Rothwell [Fri, 4 Nov 2011 01:27:29 +0000 (12:27 +1100)]
Merge branch 'quilt/hexagon'

Conflicts:
arch/hexagon/Makefile
arch/hexagon/include/asm/Kbuild
arch/hexagon/include/asm/timex.h
arch/hexagon/include/asm/vdso.h
arch/hexagon/kernel/Makefile
arch/hexagon/kernel/head.S
arch/hexagon/kernel/hexagon_ksyms.c
arch/hexagon/kernel/kgdb.c
arch/hexagon/kernel/vdso.c
arch/hexagon/kernel/vm_vectors.S
arch/hexagon/kernel/vmlinux.lds.S
arch/hexagon/lib/memset.S
arch/hexagon/mm/Makefile
arch/hexagon/mm/pgalloc.c
arch/hexagon/mm/strnlen_user.S

13 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:25:12 +0000 (12:25 +1100)]
Merge remote-tracking branch 'cris/for-next'

13 years agoMerge remote-tracking branch 'c6x/for-linux-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:18:38 +0000 (12:18 +1100)]
Merge remote-tracking branch 'c6x/for-linux-next'

13 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Fri, 4 Nov 2011 01:17:23 +0000 (12:17 +1100)]
Merge remote-tracking branch 'blackfin/for-linus'

13 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:16:04 +0000 (12:16 +1100)]
Merge remote-tracking branch 'tegra/for-next'

13 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:14:50 +0000 (12:14 +1100)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos4/Kconfig
drivers/gpio/Makefile

13 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:13:17 +0000 (12:13 +1100)]
Merge remote-tracking branch 'i.MX/for-next'

Conflicts:
arch/arm/mach-mx5/clock-mx51-mx53.c
arch/arm/mach-mx5/devices-imx53.h
arch/arm/mach-mx5/mm.c
arch/arm/plat-mxc/include/mach/hardware.h

13 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:11:48 +0000 (12:11 +1100)]
Merge remote-tracking branch 'at91/at91-next'

Conflicts:
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9g45.c
drivers/ata/pata_at91.c

13 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:08:16 +0000 (12:08 +1100)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/mach-omap2/Makefile
arch/arm/plat-omap/devices.c

13 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 01:06:04 +0000 (12:06 +1100)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/page.h
arch/arm/include/asm/pgtable-hwdef.h
arch/arm/include/asm/pgtable.h
arch/arm/kernel/head.S
arch/arm/kernel/sleep.S
arch/arm/mm/dma-mapping.c
arch/arm/mm/mmu.c

13 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Fri, 4 Nov 2011 00:51:06 +0000 (11:51 +1100)]
Merge remote-tracking branch 'arm/for-next'

13 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Fri, 4 Nov 2011 00:46:28 +0000 (11:46 +1100)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

13 years agoMerge remote-tracking branch 'ide/master'
Stephen Rothwell [Fri, 4 Nov 2011 00:46:18 +0000 (11:46 +1100)]
Merge remote-tracking branch 'ide/master'

13 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Fri, 4 Nov 2011 00:46:12 +0000 (11:46 +1100)]
Merge remote-tracking branch 'crypto-current/master'

13 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Fri, 4 Nov 2011 00:46:05 +0000 (11:46 +1100)]
Merge remote-tracking branch 'wireless/master'

13 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Fri, 4 Nov 2011 00:46:04 +0000 (11:46 +1100)]
Merge remote-tracking branch 'pci-current/for-linus'

13 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Fri, 4 Nov 2011 00:45:58 +0000 (11:45 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'

13 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Fri, 4 Nov 2011 00:45:57 +0000 (11:45 +1100)]
Merge remote-tracking branch 'net/master'

13 years agoMerge remote-tracking branch 'sparc/master'
Stephen Rothwell [Fri, 4 Nov 2011 00:45:55 +0000 (11:45 +1100)]
Merge remote-tracking branch 'sparc/master'

13 years agoMerge remote-tracking branch 'm68k-current/for-linus'
Stephen Rothwell [Fri, 4 Nov 2011 00:45:53 +0000 (11:45 +1100)]
Merge remote-tracking branch 'm68k-current/for-linus'

13 years agoMerge remote-tracking branch 'fixes/master'
Stephen Rothwell [Fri, 4 Nov 2011 00:39:31 +0000 (11:39 +1100)]
Merge remote-tracking branch 'fixes/master'

13 years agoaf_packet: de-inline some helper functions
Olof Johansson [Wed, 2 Nov 2011 11:00:49 +0000 (11:00 +0000)]
af_packet: de-inline some helper functions

This popped some compiler errors due to mismatched prototypes. Just
remove most manual inlines, the compiler should be able to figure out
what makes sense to inline and not.

net/packet/af_packet.c:252: warning: 'prb_curr_blk_in_use' declared inline after being called
net/packet/af_packet.c:252: warning: previous declaration of 'prb_curr_blk_in_use' was here
net/packet/af_packet.c:258: warning: 'prb_queue_frozen' declared inline after being called
net/packet/af_packet.c:258: warning: previous declaration of 'prb_queue_frozen' was here
net/packet/af_packet.c:248: warning: 'packet_previous_frame' declared inline after being called
net/packet/af_packet.c:248: warning: previous declaration of 'packet_previous_frame' was here
net/packet/af_packet.c:251: warning: 'packet_increment_head' declared inline after being called
net/packet/af_packet.c:251: warning: previous declaration of 'packet_increment_head' was here

Signed-off-by: Olof Johansson <olof@lixom.net>
Cc: Chetan Loke <loke.chetan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMAINTAINERS: Add can-gw include to maintained files
Oliver Hartkopp [Wed, 2 Nov 2011 10:55:13 +0000 (10:55 +0000)]
MAINTAINERS: Add can-gw include to maintained files

Commit c1aabdf379bc2feeb0df7057ed5bad96f492133e (can-gw: add netlink based
CAN routing) added a new include file that's neither referenced by any of
the CAN maintainers.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Add back alignment for size for __alloc_skb
Tony Lindgren [Wed, 2 Nov 2011 13:40:28 +0000 (13:40 +0000)]
net: Add back alignment for size for __alloc_skb

Commit 87fb4b7b533073eeeaed0b6bf7c2328995f6c075 (net: more
accurate skb truesize) changed the alignment of size. This
can cause problems at least on some machines with NFS root:

Unhandled fault: alignment exception (0x801) at 0xc183a43a
Internal error: : 801 [#1] PREEMPT
Modules linked in:
CPU: 0    Not tainted  (3.1.0-08784-g5eeee4a #733)
pc : [<c02fbba0>]    lr : [<c02fbb9c>]    psr: 60000013
sp : c180fef8  ip : 00000000  fp : c181f580
r10: 00000000  r9 : c044b28c  r8 : 00000001
r7 : c183a3a0  r6 : c1835be0  r5 : c183a412  r4 : 000001f2
r3 : 00000000  r2 : 00000000  r1 : ffffffe6  r0 : c183a43a
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: 10004000  DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc180e270)
Stack: (0xc180fef8 to 0xc1810000)
fee0:                                                       00000024 00000000
ff00: 00000000 c183b9c0 c183b8e0 c044b28c c0507ccc c019dfc4 c180ff2c c0503cf8
ff20: c180ff4c c180ff4c 00000000 c1835420 c182c740 c18349c0 c05233c0 00000000
ff40: 00000000 c00e6bb8 c180e000 00000000 c04dd82c c0507e7c c050cc18 c183b9c0
ff60: c05233c0 00000000 00000000 c01f34f4 c0430d70 c019d364 c04dd898 c04dd898
ff80: c04dd82c c0507e7c c180e000 00000000 c04c584c c01f4918 c04dd898 c04dd82c
ffa0: c04ddd28 c180e000 00000000 c0008758 c181fa60 3231d82c 00000037 00000000
ffc0: 00000000 c04dd898 c04dd82c c04ddd28 00000013 00000000 00000000 00000000
ffe0: 00000000 c04b2224 00000000 c04b21a0 c001056c c001056c 00000000 00000000
Function entered at [<c02fbba0>] from [<c019dfc4>]
Function entered at [<c019dfc4>] from [<c01f34f4>]
Function entered at [<c01f34f4>] from [<c01f4918>]
Function entered at [<c01f4918>] from [<c0008758>]
Function entered at [<c0008758>] from [<c04b2224>]
Function entered at [<c04b2224>] from [<c001056c>]
Code: e1a00005 e3a01028 ebfa7cb0 e35a0000 (e5858028)

Here PC is at __alloc_skb and &shinfo->dataref is unaligned because
skb->end can be unaligned without this patch.

As explained by Eric Dumazet <eric.dumazet@gmail.com>, this happens
only with SLOB, and not with SLAB or SLUB:

* Eric Dumazet <eric.dumazet@gmail.com> [111102 15:56]:
>
> Your patch is absolutely needed, I completely forgot about SLOB :(
>
> since, kmalloc(386) on SLOB gives exactly ksize=386 bytes, not nearest
> power of two.
>
> [   60.305763] malloc(size=385)->ffff880112c11e38 ksize=386 -> nsize=2
> [   60.305921] malloc(size=385)->ffff88007c92ce28 ksize=386 -> nsize=2
> [   60.306898] malloc(size=656)->ffff88007c44ad28 ksize=656 -> nsize=272
> [   60.325385] malloc(size=656)->ffff88007c575868 ksize=656 -> nsize=272
> [   60.325531] malloc(size=656)->ffff88011c777230 ksize=656 -> nsize=272
> [   60.325701] malloc(size=656)->ffff880114011008 ksize=656 -> nsize=272
> [   60.346716] malloc(size=385)->ffff880114142008 ksize=386 -> nsize=2
> [   60.346900] malloc(size=385)->ffff88011c777690 ksize=386 -> nsize=2

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: add missing bh_unlock_sock() calls
Eric Dumazet [Wed, 2 Nov 2011 12:42:56 +0000 (12:42 +0000)]
net: add missing bh_unlock_sock() calls

Simon Kirby reported lockdep warnings and following messages :

[104661.897577] huh, entered softirq 3 NET_RX ffffffff81613740
preempt_count 00000101, exited with 00000102?

[104661.923653] huh, entered softirq 3 NET_RX ffffffff81613740
preempt_count 00000101, exited with 00000102?

Problem comes from commit 0e734419
(ipv4: Use inet_csk_route_child_sock() in DCCP and TCP.)

If inet_csk_route_child_sock() returns NULL, we should release socket
lock before freeing it.

Another lock imbalance exists if __inet_inherit_port() returns an error
since commit 093d282321da ( tproxy: fix hash locking issue when using
port redirection in __inet_inherit_port()) a backport is also needed for
>= 2.6.37 kernels.

Reported-by: Simon Kirby <sim@hostway.ca>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Balazs Scheidler <bazsi@balabit.hu>
CC: KOVACS Krisztian <hidden@balabit.hu>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Simon Kirby <sim@hostway.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agol2tp: fix race in l2tp_recv_dequeue()
Eric Dumazet [Wed, 2 Nov 2011 22:47:44 +0000 (22:47 +0000)]
l2tp: fix race in l2tp_recv_dequeue()

Misha Labjuk reported panics occurring in l2tp_recv_dequeue()

If we release reorder_q.lock, we must not keep a dangling pointer (tmp),
since another thread could manipulate reorder_q.

Instead we must restart the scan at beginning of list.

Reported-by: Misha Labjuk <spiked.yar@gmail.com>
Tested-by: Misha Labjuk <spiked.yar@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMIPS: NXP: Remove unused source files.
Ralf Baechle [Wed, 22 Jun 2011 09:02:46 +0000 (10:02 +0100)]
MIPS: NXP: Remove unused source files.

The NXP code was moved for 2.6.36 but two files survived unused in the
old location.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
13 years agoMIPS: BCM47xxx: Fix build with GENERIC_GPIO configuration
Florian Fainelli [Thu, 3 Nov 2011 15:05:49 +0000 (16:05 +0100)]
MIPS: BCM47xxx: Fix build with GENERIC_GPIO configuration

Since eb9ae7f2 (gpio: fix build error in include/asm-generic/gpio.h)
the generic version of gpio.h calls __gpio_{set,get}_value which we
do not define. Get rid of asm-generic/gpio.h and define the missing
stubs directly for BCM47xx to build.

Reported-by: Ralf Baechle <ralf@linux-mips.org>
To: linux-mips@linux-mips.org
CC: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Patchwork: https://patchwork.linux-mips.org/patch/2883/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
13 years agoMIPS: Yosemite, Emma: Fix off-by-two in arcs_cmdline buffer size check
Thomas Jarosch [Sat, 29 Oct 2011 13:45:56 +0000 (15:45 +0200)]
MIPS: Yosemite, Emma: Fix off-by-two in arcs_cmdline buffer size check

Cause is a misplaced bracket.

The code

    strlen(buf+1)

will be two bytes less than

    strlen(buf)+1

The +1 is in this code to reserve space for an additional space character.

[ralf@linux-mips.org: Thomas' original patch fixed the issue only for
 Yosemite but the same bug exists also in Emma.]

Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
Patchwork: https://patchwork.linux-mips.org/patch/2861/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
13 years agoMerge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Linus Torvalds [Thu, 3 Nov 2011 20:28:14 +0000 (13:28 -0700)]
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)
  MIPS: O32: Provide definition of registers ta0 .. ta3.
  MIPS: perf: Add Octeon support for hardware perf.
  MIPS: perf: Add support for 64-bit perf counters.
  MIPS: perf: Reorganize contents of perf support files.
  MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
  MIPS: Add accessor macros for 64-bit performance counter registers.
  MIPS: Add probes for more Octeon II CPUs.
  MIPS: Add more CPU identifiers for Octeon II CPUs.
  MIPS: XLR, XLS: Add comment for smp setup
  MIPS: JZ4740: GPIO: Check correct IRQ in demux handler
  MIPS: JZ4740: GPIO: Simplify IRQ demuxer
  MIPS: JZ4740: Use generic irq chip
  MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines
  MIPS: Alchemy: kill au1xxx.h header
  MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines
  MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep
  MIPS: Alchemy: Redo PCI as platform driver
  MIPS: Alchemy: more base address cleanup
  MIPS: Alchemy: rewrite USB platform setup.
  MIPS: Alchemy: abstract USB block control register access
  ...

Fix up trivial conflicts in:
arch/mips/alchemy/devboards/db1x00/platform.c
drivers/ide/Kconfig
drivers/mmc/host/au1xmmc.c
drivers/video/Kconfig
sound/mips/Kconfig

13 years agoedac: Only build sb_edac on 64-bit
Josh Boyer [Thu, 3 Nov 2011 18:00:11 +0000 (16:00 -0200)]
edac: Only build sb_edac on 64-bit

The sb_edac driver is marginally useful on a 32-bit kernel, and
currently has 64-bit divide compile errors when building that config.
For now, make this build on only for 64-bit kernels.

Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agopowerpc/p3060qds: Add support for P3060QDS board
Shengzhou Liu [Fri, 26 Aug 2011 03:18:21 +0000 (11:18 +0800)]
powerpc/p3060qds: Add support for P3060QDS board

The P3060QDS is a Freescale reference board that hosts the six-core P3060 SOC.
The P3060 Processor combines six e500mc Power Architecture processor cores with
high-performance datapath acceleration architecture(DPAA), CoreNet fabric
infrastructure, as well as network and peripheral interfaces.

P3060QDS Board Overview:
Memory subsystem:
  - 2G Bytes unbuffered DDR3 SDRAM SO-DIMM(64bit bus)
  - 128M Bytes NOR flash single-chip memory
  - 16M Bytes SPI flash
  - 8K Bytes AT24C64 I2C EEPROM
Ethernet:
  - 4x1G + 4x1G/2.5G Ethernet controllers
  - 2xRGMII + 1xMII, three VSC8641 PHYs on board
  - Suport multiple Vitesse VSC8234 SGMII Cards in Slot1/2/3
PCIe: Two PCI Express 2.0 controllers/ports
USB:  Two USB2.0, USB1(TYPE-A) and USB2(TYPE-AB) on board
I2C:  Four I2C controllers
UART: Supports up to four UARTs
RapidIO: Supports two serial RapidIO ports

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/83xx: Add shutdown request support to MCU handling on MPC8349 MITX
Fabio Baltieri [Mon, 15 Aug 2011 14:19:30 +0000 (16:19 +0200)]
powerpc/83xx: Add shutdown request support to MCU handling on MPC8349 MITX

This patch add support for calling ctrl_alt_del() when the power button is
pressed for more than about 2 seconds on some freescale MPC83xx evaluation
boards and reference design.

The code uses a kthread to poll the CTRL_BTN bit each second.

Also change Kconfig entry of the driver to bool, as device's gpio
registration is broken when loading as module.

Tested on an MPC8315E RDB board.

Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Make kexec to interate over online cpus
Matthew McClintock [Tue, 25 Oct 2011 22:54:04 +0000 (17:54 -0500)]
powerpc/85xx: Make kexec to interate over online cpus

This is not strictly required, because this iterates over logical
cpus and they are not (currently) discontigous. But, it's cleaner
code and more obvious what is going on

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/fsl_booke: Fix comment in head_fsl_booke.S
Matthew McClintock [Tue, 25 Oct 2011 22:54:03 +0000 (17:54 -0500)]
powerpc/fsl_booke: Fix comment in head_fsl_booke.S

Fix typo in comments introduced by:

commit 6dece0eb69b2a28e18d104bc5d707f1cb673f5e0
Author: Scott Wood <scottwood@freescale.com>
Date:   Mon Jul 25 11:29:33 2011 +0000

    powerpc/32: Pass device tree address as u64 to machine_init

Signed-off-by: Matthew McClintock <msm@freescale.com>
cc: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: issue 15 EOI after core reset for FSL CoreNet devices
Matthew McClintock [Wed, 26 Oct 2011 18:46:57 +0000 (13:46 -0500)]
powerpc/85xx: issue 15 EOI after core reset for FSL CoreNet devices

This is listed as a requirement for Freescale CoreNet based devices  (e.g
p4080ds with MPIC v4.x) after issuing a core reset to properly clear pending
interrupts.

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/8xxx: Fix interrupt handling in MPC8xxx GPIO driver
Felix Radensky [Tue, 11 Oct 2011 08:24:21 +0000 (10:24 +0200)]
powerpc/8xxx: Fix interrupt handling in MPC8xxx GPIO driver

Interrupt handler in MPC8xxx GPIO driver is missing the call to PIC EOI
(end of interrupt) handler. As a result, at least on 85XX systems, GPIO
interrupt is delivered only once. This patch adds the missing EOI call.
Tested on custom P1022 board.

Signed-off-by: Felix Radensky <felix@embedded-sol.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Add 'fsl,pq3-gpio' compatiable for GPIO driver
Kumar Gala [Sat, 22 Oct 2011 21:20:42 +0000 (16:20 -0500)]
powerpc/85xx: Add 'fsl,pq3-gpio' compatiable for GPIO driver

Support MPC85xx platforms outside of MPC8572/MPC8536.  The
MPC8572/MPC8536 have an erratum that is worked around based on having
"fsl,mpc8572-gpio" in the compatiable list.  All other MPC85xx SoCs
don't require this workaround and thus utilize the 'fsl,pq3-gpio'
compatiable.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/86xx: Correct Gianfar support for GE boards
Martyn Welch [Thu, 3 Nov 2011 17:37:47 +0000 (17:37 +0000)]
powerpc/86xx: Correct Gianfar support for GE boards

The GE DTBs were not updated when the Gianfar driver was converted to an
of_platform_driver in commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4. Update
the DTBs, adding the required TBI entries.

Signed-off-by: Martyn Welch <martyn.welch@ge.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Thu, 3 Nov 2011 17:20:53 +0000 (18:20 +0100)]
Merge branch 'fix/asoc' into for-linus

13 years agoMerge branch 'next' of git://github.com/kernelslacker/cpufreq
Linus Torvalds [Thu, 3 Nov 2011 16:59:39 +0000 (09:59 -0700)]
Merge branch 'next' of git://github.com/kernelslacker/cpufreq

* 'next' of git://github.com/kernelslacker/cpufreq:
  [CPUFREQ] db8500: support all frequencies
  [CPUFREQ] db8500: remove unneeded for loop iteration over freq_table
  [CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders
  [CPUFREQ] ARM: ux500: send cpufreq notification for all cpus
  [CPUFREQ] e_powersaver: Allow user to lower maximum voltage
  [CPUFREQ] e_powersaver: Check BIOS limit for CPU frequency
  [CPUFREQ] e_powersaver: Additional checks
  [CPUFREQ] exynos4210: Show list of available frequencies

13 years agoMerge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6
Linus Torvalds [Thu, 3 Nov 2011 16:40:51 +0000 (09:40 -0700)]
Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6

* 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
  mfd: Fix missing abx500 header file updates
  mfd: Add missing <linux/io.h> include to intel_msic
  x86, mrst: add platform support for MSIC MFD driver
  mfd: Expose TurnOnStatus in ab8500 sysfs
  mfd: Remove support for early drop ab8500 chip
  mfd: Add support for ab8500 v3.3
  mfd: Add ab8500 interrupt disable hook
  mfd: Convert db8500-prcmu panic() into pr_crit()
  mfd: Refactor db8500-prcmu request_clock() function
  mfd: Rename db8500-prcmu init function
  mfd: Fix db5500-prcmu defines
  mfd: db8500-prcmu voltage domain consumers additions
  mfd: db8500-prcmu reset code retrieval
  mfd: db8500-prcmu tweak for modem wakeup
  mfd: Add db8500-pcmu watchdog accessor functions for watchdog
  mfd: hwacc power state db8500-prcmu accessor
  mfd: Add db8500-prcmu accessors for PLL and SGA clock
  mfd: Move to the new db500 PRCMU API
  mfd: Create a common interface for dbx500 PRCMU drivers
  mfd: Initialize DB8500 PRCMU regs
  ...

Fix up trivial conflicts in
arch/arm/mach-imx/mach-mx31moboard.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-u300/include/mach/irqs.h
drivers/mfd/wm831x-spi.c

13 years agoALSA: hda/realtek - Skip invalid digital out pins
Takashi Iwai [Thu, 3 Nov 2011 15:54:06 +0000 (16:54 +0100)]
ALSA: hda/realtek - Skip invalid digital out pins

Some BIOS report invalid pins as digital output pins.  The driver checks
the connection but it doesn't do it fully correctly, and it leaves some
undefined value as the audio-out widget, which makes the driver spewing
warnings.  This patch fixes the issue.

Reference: https://bugzilla.novell.com/show_bug.cgi?id=727348

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'sh-latest' of git://github.com/pmundt/linux-sh
Linus Torvalds [Thu, 3 Nov 2011 15:22:06 +0000 (08:22 -0700)]
Merge branch 'sh-latest' of git://github.com/pmundt/linux-sh

* 'sh-latest' of git://github.com/pmundt/linux-sh:
  sh: Add default uImage rule for sh7757lcr
  sh: modify the asm/sh_eth.h to linux/sh_eth.h in sh7757lcr
  sh: userimask.c needs linux/stat.h
  sh: pfc: Add GPIO IRQ support
  sh: modify the asm/sh_eth.h to linux/sh_eth.h in some boards
  sh: pfc: Remove unused gpio_in_use member
  sh: add parameters for EHCI and RIIC in clock-sh7757.c
  sh: kexec: Add PHYSICAL_START
  SH: irq: Remove IRQF_DISABLED
  sh: pfc: get_config_reg() shift clean up
  sh: intc: Add IRQ trigger bit field check
  sh: drop unused Kconfig symbol
  sh: Fix implicit declaration of function numa_node_id
  sh: kexec: Register crashk_res
  sh: ecovec: add renesas_usbhs DMAEngine support

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock
Linus Torvalds [Thu, 3 Nov 2011 15:05:35 +0000 (08:05 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
  hwspinlock: add MAINTAINERS entries
  hwspinlock/omap: omap_hwspinlock_remove should be __devexit
  hwspinlock/u8500: add hwspinlock driver
  hwspinlock/core: register a bank of hwspinlocks in a single API call
  hwspinlock/core: remove stubs for register/unregister
  hwspinlock/core: use a mutex to protect the radix tree
  hwspinlock/core/omap: fix id issues on multiple hwspinlock devices
  hwspinlock/omap: simplify allocation scheme
  hwspinlock/core: simplify 'owner' handling
  hwspinlock/core: simplify Kconfig

Fix up trivial conflicts (addition of omap_hwspinlock_pdata, removal of
omap_spinlock_latency) in arch/arm/mach-omap2/hwspinlock.c

Also, do an "evil merge" to fix a compile error in omap_hsmmc.c which
for some reason was reported in the same email thread as the "please
pull hwspinlock changes".

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Linus Torvalds [Thu, 3 Nov 2011 14:53:22 +0000 (07:53 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
  Revert "HID: multitouch: decide if hid-multitouch needs to handle mt devices"
  HID: drivers/hid/hid-roccat.c: eliminate a null pointer dereference
  HID: hid-apple: add device ID of another wireless aluminium
  HID: Add device IDs for Macbook Pro 8 keyboards

13 years agoRevert "perf: Add PM notifiers to fix CPU hotplug races"
Linus Torvalds [Thu, 3 Nov 2011 14:44:04 +0000 (07:44 -0700)]
Revert "perf: Add PM notifiers to fix CPU hotplug races"

This reverts commit 144060fee07e9c22e179d00819c83c86fbcbf82c.

It causes a resume regression for Andi on his Acer Aspire 1830T post
3.1.  The screen just stays black after wakeup.

Also, it really looks like the wrong way to suspend and resume perf
events: I think they should be done as part of the CPU suspend and
resume, rather than as a notifier that does smp_call_function().

Reported-by: Andi Kleen <andi@firstfloor.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agocrypto: algapi - Fix build problem with NET disabled
Luis Henriques [Thu, 3 Nov 2011 12:46:07 +0000 (23:46 +1100)]
crypto: algapi - Fix build problem with NET disabled

The report functions use NLA_PUT so we need to ensure that NET
is enabled.

Reported-by: Luis Henriques <henrix@camandro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
13 years agoALSA: hda/sigmatel - Automatically retrieve digital I/O widgets
Charles Chin [Thu, 3 Nov 2011 09:27:27 +0000 (10:27 +0100)]
ALSA: hda/sigmatel - Automatically retrieve digital I/O widgets

Revise stac92xx_parse_auto_config to automatically scan for digital input
and output converters.

Signed-off-by: Charles Chin <Charles.Chin@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years ago[S390] add support for physical memory > 4TB
Martin Schwidefsky [Thu, 3 Nov 2011 08:49:31 +0000 (09:49 +0100)]
[S390] add support for physical memory > 4TB

The kernel address space of a 64 bit kernel currently uses a three level
page table and the vmemmap array has a fixed address and a fixed maximum
size. A three level page table is good enough for systems with less than
3.8TB of memory, for bigger systems four page table levels need to be
used. Each page table level costs a bit of performance, use 3 levels for
normal systems and 4 levels only for the really big systems.
To avoid bloating sparse.o too much set MAX_PHYSMEM_BITS to 46 for a
maximum of 64TB of memory.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
13 years ago[S390] Remove useless newline in reserve_kdump_bootmem()
Michael Holzheu [Thu, 3 Nov 2011 08:49:30 +0000 (09:49 +0100)]
[S390] Remove useless newline in reserve_kdump_bootmem()

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
13 years ago[S390] Rework create_mem_hole() function
Michael Holzheu [Thu, 3 Nov 2011 08:49:29 +0000 (09:49 +0100)]
[S390] Rework create_mem_hole() function

This patch makes the create_mem_hole() function more readable and
fixes some minor bugs (e.g. off-by-one problems).

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
13 years ago[S390] wire up process_vm syscalls
Heiko Carstens [Thu, 3 Nov 2011 08:49:10 +0000 (09:49 +0100)]
[S390] wire up process_vm syscalls

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
13 years agoARM: SAMSUNG: Remove SPI bus clocks from platform data
Padmavathi Venna [Wed, 2 Nov 2011 11:08:57 +0000 (20:08 +0900)]
ARM: SAMSUNG: Remove SPI bus clocks from platform data

SPI bus clocks can be avoided passing through platform
data as spi driver is getting the bus clock using the
generic clock connection id registered via clkdev.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S5PV210: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S5PV210: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S5P64X0: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S5P64X0: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S5PC100: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S5PC100: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S3C64XX: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S3C64XX: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agospi/s3c64xx: Use bus clocks created using clkdev
Padmavathi Venna [Wed, 2 Nov 2011 11:04:19 +0000 (20:04 +0900)]
spi/s3c64xx: Use bus clocks created using clkdev

This patch modifies the driver to stop depending on the
clock names being passed from platform and switch over
to lookup clocks generic names using clkdev

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agommc: sdhci-s3c: Use generic clock names for sdhci bus clock options
Rajeshwari Shinde [Thu, 3 Nov 2011 01:52:58 +0000 (10:52 +0900)]
mmc: sdhci-s3c: Use generic clock names for sdhci bus clock options

This patch modifies the driver to stop depending on the clock names
being passed from the platform and switch over to bus clock lookup
using generic clock names.

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Acked-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names
Rajeshwari Shinde [Mon, 24 Oct 2011 15:05:58 +0000 (17:05 +0200)]
ARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names

Add support for lookup of sdhci-s3c controller clocks using generic names
for s3c2416, s3c64xx, s5pc100, s5pv210 and exynos4 SoC's.

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
[kgene.kim@samsung.com: fixed trailing whitespace]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: SAMSUNG: Remove SDHCI bus clocks from platform data
Rajeshwari Shinde [Mon, 24 Oct 2011 15:05:24 +0000 (17:05 +0200)]
ARM: SAMSUNG: Remove SDHCI bus clocks from platform data

The bus clocks previously sent through platform data to SDHCI controller
are removed.

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: SAMSUNG: Fix compile error due to kfree
Jonghwan Choi [Wed, 2 Nov 2011 11:13:30 +0000 (20:13 +0900)]
ARM: SAMSUNG: Fix compile error due to kfree

Fix following build error.
arch/arm/plat-samsung/dev-backlight.c: In function 'samsung_bl_set':
arch/arm/plat-samsung/dev-backlight.c:145: error: implicit declaration of function 'kfree'

Signed-off-by: Jonghwan Choi <jhbird.choi@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
Thomas Abraham [Wed, 2 Nov 2011 10:31:15 +0000 (19:31 +0900)]
ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN

Add initial dts file for EXYNOS4210 SoC. This dts file describes
the SoC specific devices and properties. Along with this, add dts
file for Samsung's SMDKV310 board and Insignal's ORIGEN board which
uses the EXYNOS4210 dts file and extends it to describe the board
specific properties.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: EXYNOS4: Add Exynos4 device tree enabled board file
Thomas Abraham [Wed, 2 Nov 2011 10:31:15 +0000 (19:31 +0900)]
ARM: EXYNOS4: Add Exynos4 device tree enabled board file

Add a new EXYNOS4 compatible device tree enabled board file. Boards
based on the EXYNOS4 family of SoC's can use this as the machine/board
file. When using this machine fike, a corresponding device tree blob
which describes the board's properties should be supplied at boot time
to the kernel.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agortc: rtc-s3c: Add device tree support
Thomas Abraham [Mon, 24 Oct 2011 12:49:04 +0000 (14:49 +0200)]
rtc: rtc-s3c: Add device tree support

Add device tree based discovery support for Samsung's rtc controller.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoinput: samsung-keypad: Add device tree support
Thomas Abraham [Wed, 2 Nov 2011 10:37:22 +0000 (19:37 +0900)]
input: samsung-keypad: Add device tree support

Add device tree based discovery support for Samsung's keypad controller.

Cc: Joonyoung Shim <jy0922.shim@samsung.com>
Cc: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoinput: samsung-keypad: Add HAVE_SAMSUNG_KEYPAD config option
Thomas Abraham [Wed, 2 Nov 2011 10:37:22 +0000 (19:37 +0900)]
input: samsung-keypad: Add HAVE_SAMSUNG_KEYPAD config option

For platforms using device tree, the static keypad device instances
are not required and SAMSUNG_DEV_KEYPAD is not selected. Since,
samsung keypad driver has dependency on SAMSUNG_DEV_KEYPAD config
option, the driver is left out of the compilation for dt enabled
platforms.

An additional config option 'HAVE_SAMSUNG_KEYPAD' is added
which the device tree based platforms can select. This config
option is added as an alternative dependency for keypad driver.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S5PV210: Modify platform data for pl330 driver
Thomas Abraham [Mon, 24 Oct 2011 09:45:14 +0000 (11:45 +0200)]
ARM: S5PV210: Modify platform data for pl330 driver

With the 'struct dma_pl330_peri' removed, the platfrom data for dma
driver can be simplified to a simple list of peripheral request ids.

Cc: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S5PC100: Modify platform data for pl330 driver
Thomas Abraham [Mon, 24 Oct 2011 09:45:08 +0000 (11:45 +0200)]
ARM: S5PC100: Modify platform data for pl330 driver

With the 'struct dma_pl330_peri' removed, the platfrom data for dma
driver can be simplified to a simple list of peripheral request ids.

Cc: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S5P64x0: Modify platform data for pl330 driver
Thomas Abraham [Mon, 24 Oct 2011 09:45:01 +0000 (11:45 +0200)]
ARM: S5P64x0: Modify platform data for pl330 driver

With the 'struct dma_pl330_peri' removed, the platfrom data for dma
driver can be simplified to a simple list of peripheral request ids.

Cc: Jassi Brar <jassisinghbrar@gmail.com>
Cc: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: EXYNOS4: Add a alias for pdma clocks
Thomas Abraham [Mon, 24 Oct 2011 12:01:03 +0000 (14:01 +0200)]
ARM: EXYNOS4: Add a alias for pdma clocks

PDMA controllers when instantiated from device tree are registered using
amba_device_register(). The registration process enables clock to the
controllers to read the peripheral id of the PDMA amba device.

In case of Exynos4, the clocks to the PDMA controllers are named as 'dma'
but amba_device_register() looks up the clock using the name 'apb_pclk'.
Hence, alias clocks with name 'apb_pclk' clock are created for clocks
with name 'dma'.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: EXYNOS4: Limit usage of pl330 device instance to non-dt build
Thomas Abraham [Mon, 24 Oct 2011 11:57:43 +0000 (13:57 +0200)]
ARM: EXYNOS4: Limit usage of pl330 device instance to non-dt build

The pl330 device instances and associated platform data is required only
for non-device-tree builds. With device tree enabled, the data about the
platform is obtained from the device tree. For images that include both
dt and non-dt platforms, an addditional check is added to ensure that
static amba device registrations is applicable to only non-dt platforms.

Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
Thomas Abraham [Mon, 24 Oct 2011 09:43:38 +0000 (11:43 +0200)]
ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers

A new dma request id 'DMACH_DT_PROP' is introduced for client drivers
requesting a dma channel. This request indicates that a device tree
node property represting the dma channel is available in
'struct samsung_dma_info'. The dma channel request wrapper uses the
node property value as the value for the filter parameter.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoDMA: PL330: Add device tree support
Thomas Abraham [Mon, 24 Oct 2011 09:43:31 +0000 (11:43 +0200)]
DMA: PL330: Add device tree support

For PL330 dma controllers instantiated from device tree, the channel
lookup is based on phandle of the dma controller and dma request id
specified by the client node. During probe, the private data of each
channel of the controller is set to point to the device node of the
dma controller. The 'chan_id' of the each channel is used as the
dma request id.

Client driver requesting dma channels specify the phandle of the
dma controller and the request id. The pl330 filter function
converts the phandle to the device node pointer and matches that
with channel's private data. If a match is found, the request id
from the client node and the 'chan_id' of the channel is matched.
A channel is found if both the values match.

Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Reviewed-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: EXYNOS4: Modify platform data for pl330 driver
Thomas Abraham [Mon, 24 Oct 2011 09:43:22 +0000 (11:43 +0200)]
ARM: EXYNOS4: Modify platform data for pl330 driver

With the 'struct dma_pl330_peri' removed, the platfrom data for dma
driver can be simplified to a simple list of peripheral request ids.

Cc: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoDMA: PL330: Infer transfer direction from transfer request instead of platform data
Thomas Abraham [Mon, 24 Oct 2011 09:43:11 +0000 (11:43 +0200)]
DMA: PL330: Infer transfer direction from transfer request instead of platform data

The transfer direction for a channel can be inferred from the transfer
request and the need for specifying transfer direction in platfrom data
can be eliminated. So the structure definition 'struct dma_pl330_peri'
is no longer required.

The channel's private data is set to point to a channel id specified in
the platform data (instead of an instance of type 'struct dma_pl330_peri').
The filter function is correspondingly modified to match the channel id.

With the 'struct dma_pl330_peri' removed from platform data, the dma
controller transfer capabilities cannot be inferred any more. Hence,
the dma controller capabilities is specified using platform data.

Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoDMA: PL330: move filter function into driver
Thomas Abraham [Mon, 24 Oct 2011 09:43:02 +0000 (11:43 +0200)]
DMA: PL330: move filter function into driver

The dma channel selection filter function is moved from plat-samsung
into the pl330 driver. In additon to that, a check is added in the
filter function to ensure that the channel on which the filter has
been invoked is pl330 channel instance (and avoid any incorrect
access of chan->private in a system with multiple types of DMA
drivers).

Suggested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoserial: samsung: add device tree support
Thomas Abraham [Mon, 24 Oct 2011 11:49:40 +0000 (13:49 +0200)]
serial: samsung: add device tree support

Add device tree based discovery support for Samsung's uart controller.

Cc: Ben Dooks <ben-linux@fluff.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoserial: samsung: merge probe() function from all SoC specific extensions
Thomas Abraham [Wed, 2 Nov 2011 10:23:25 +0000 (19:23 +0900)]
serial: samsung: merge probe() function from all SoC specific extensions

With reset port, set clock and get clock functions in SoC specific extentions
being removed, only the driver probe is left over in these extensions. The
probe function itself can be merged into one and moved into the samsung common
serial driver. With driver probe also moved, all the SoC specific extentions
are no longer required and they are deleted.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoserial: samsung: merge all SoC specific port reset functions
Thomas Abraham [Mon, 24 Oct 2011 09:48:21 +0000 (11:48 +0200)]
serial: samsung: merge all SoC specific port reset functions

The port reset function in each of the platform specific extension performs
the same operations and hence all the reset port functions can be merged into
one and moved into the common samsung uart driver. The SoC specific port reset
functions are removed from SoC extensions.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: SAMSUNG: register uart clocks to clock lookup list
Thomas Abraham [Mon, 24 Oct 2011 10:08:42 +0000 (12:08 +0200)]
ARM: SAMSUNG: register uart clocks to clock lookup list

Samsung uart driver lookups the clock using the connection id 'clk_uart_baud'.
The uart clocks for all Samsung platforms are reorganized to register them
with the lookup name as required by the uart driver.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoserial: samsung: remove all uses of get_clksrc and set_clksrc
Thomas Abraham [Mon, 24 Oct 2011 09:47:57 +0000 (11:47 +0200)]
serial: samsung: remove all uses of get_clksrc and set_clksrc

With clkdev based clock lookup support, the clock set and get operation
using clock names communicated between the samsung uart driver and the
SoC specific extension can be removed.

In addition to that, for each platform specific extension, add the
default clock selection, number of clock options for uart baud generator,
clock selection bit mask and shift values which is required by the
clkdev support in samsung uart driver.

The default clock selection value 'def_clk_sel' specifies the default clock
to be used as the source clock for baud rate generator in case the platform
code does not specify the same.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: SAMSUNG: remove struct 's3c24xx_uart_clksrc' and all uses of it
Thomas Abraham [Mon, 24 Oct 2011 09:47:51 +0000 (11:47 +0200)]
ARM: SAMSUNG: remove struct 's3c24xx_uart_clksrc' and all uses of it

With clkdev based clock lookup added to samsung serial driver, the use
of 'struct s3c24xx_uart_clksrc' to supply clock names in platform
data is removed from all the Samsung platform code.

Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Ramax Lo <ramaxlo@gmail.com>
Cc: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoserial: samsung: switch to clkdev based clock lookup
Thomas Abraham [Mon, 24 Oct 2011 09:47:46 +0000 (11:47 +0200)]
serial: samsung: switch to clkdev based clock lookup

Instead of using clock names supplied in platform data, use a generic
clock name 'clk_uart_baud' to look up clocks. The platform code should
register clocks with the name 'clk_uart_baud' which can be used by the
baud rate generator. The clock lookup and selection of the best clock
as baud rate clock is reworked.

Platform code can specify the clocks that can be used as source for the
baud clock (as supported previously by passing names of clocks). A new
member is added to the platform data 'clk_sel' which holds a bit-field
value with each bit representing a baud source clock. If a bit at any
bit position is set, that clock is looked up to participate in the
selection of the baud clock source.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoARM: S3C2440: move handling of fclk/n clock to platform code
Thomas Abraham [Mon, 24 Oct 2011 09:47:40 +0000 (11:47 +0200)]
ARM: S3C2440: move handling of fclk/n clock to platform code

s3c2440 uses fclk/n (fclk divided by n) clock as one of the possible clocks used
to generate the baud rate clock. The divider 'n' in this case can be logically
represented outside of the uart controller.

This patch creates a new clock by name "fclk_n" for s3c2440 based platforms to
represent the fclk/n clock in the platform code. This clock provides a get_rate
callback that checks the UCON0/1/2 registers to determine the clock rate. The
samsung uart driver would receive the "fclk_n" clock name as one of the possible
baud rate clock options and the driver need not determine clock rate of fclk/n.

Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13 years agoserial: samsung: Keep a copy of the location of platform data in driver's private...
Thomas Abraham [Mon, 24 Oct 2011 09:47:25 +0000 (11:47 +0200)]
serial: samsung: Keep a copy of the location of platform data in driver's private data

Add a pointer to the location of the platform data in the driver's private
data. When instantiated using device tree, pdev->dev->platform_data does not
necessarily point to a valid instance of platform data. The platform data
pointer in the driver's private data could be set to pdev->dev->platform_data
or platform data instance created from device tree.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>