Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea36b022 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge branch 'clps711x/soc' into next/soc



From Alexander Shiyan, this is a series of cleanups of clps711x, movig it
closer to multiplatform and cleans up a bunch of old code.

* clps711x/soc:
  ARM: clps711x: Update defconfig
  ARM: clps711x: Add support for SYSCON driver
  ARM: clps711x: edb7211: Control LCD backlight via PWM
  ARM: clps711x: edb7211: Add support for I2C
  ARM: clps711x: Optimize interrupt handling
  ARM: clps711x: Add clocksource framework
  ARM: clps711x: Replace "arch_initcall" in common code with ".init_early"
  ARM: clps711x: Move specific definitions from hardware.h to boards files
  ARM: clps711x: p720t: Define PLD registers as GPIOs
  ARM: clps711x: autcpu12: Move remaining specific definitions to board file
  ARM: clps711x: autcpu12: Special driver for handling memory is removed
  ARM: clps711x: autcpu12: Add support for NOR flash
  ARM: clps711x: autcpu12: Move LCD DPOT definitions to board file
  ARM: clps711x: Set PLL clock to zero if we work from 13 mHz source
  ARM: clps711x: Remove NEED_MACH_MEMORY_H dependency
  ARM: clps711x: Re-add GPIO support
  GPIO: clps711x: Add DT support
  GPIO: clps711x: Rewrite driver for using generic GPIO code
  + Linux 3.10-rc4

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents b67172ec 70423a37
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
Cirrus Logic CLPS711X GPIO controller

Required properties:
- compatible: Should be "cirrus,clps711x-gpio"
- reg: Physical base GPIO controller registers location and length.
  There should be two registers, first is DATA register, the second
  is DIRECTION.
- gpio-controller: Marks the device node as a gpio controller.
- #gpio-cells: Should be two. The first cell is the pin number and
  the second cell is used to specify the gpio polarity:
    0 = active high
    1 = active low

Note: Each GPIO port should have an alias correctly numbered in "aliases"
node.

Example:

aliases {
	gpio0 = &porta;
};

porta: gpio@80000000 {
	compatible = "cirrus,clps711x-gpio";
	reg = <0x80000000 0x1>, <0x80000040 0x1>;
	gpio-controller;
	#gpio-cells = <2>;
};
+25 −2
Original line number Diff line number Diff line
@@ -147,6 +147,25 @@ Example signal handler:
      fix_the_problem(ucp->dar);
    }

When in an active transaction that takes a signal, we need to be careful with
the stack.  It's possible that the stack has moved back up after the tbegin.
The obvious case here is when the tbegin is called inside a function that
returns before a tend.  In this case, the stack is part of the checkpointed
transactional memory state.  If we write over this non transactionally or in
suspend, we are in trouble because if we get a tm abort, the program counter and
stack pointer will be back at the tbegin but our in memory stack won't be valid
anymore.

To avoid this, when taking a signal in an active transaction, we need to use
the stack pointer from the checkpointed state, rather than the speculated
state.  This ensures that the signal context (written tm suspended) will be
written below the stack required for the rollback.  The transaction is aborted
becuase of the treclaim, so any memory written between the tbegin and the
signal will be rolled back anyway.

For signals taken in non-TM or suspended mode, we use the
normal/non-checkpointed stack pointer.


Failure cause codes used by kernel
==================================
@@ -155,14 +174,18 @@ These are defined in <asm/reg.h>, and distinguish different reasons why the
kernel aborted a transaction:

 TM_CAUSE_RESCHED       Thread was rescheduled.
 TM_CAUSE_TLBI          Software TLB invalide.
 TM_CAUSE_FAC_UNAV      FP/VEC/VSX unavailable trap.
 TM_CAUSE_SYSCALL       Currently unused; future syscalls that must abort
                        transactions for consistency will use this.
 TM_CAUSE_SIGNAL        Signal delivered.
 TM_CAUSE_MISC          Currently unused.
 TM_CAUSE_ALIGNMENT     Alignment fault.
 TM_CAUSE_EMULATE       Emulation that touched memory.

These can be checked by the user program's abort handler as TEXASR[0:7].

These can be checked by the user program's abort handler as TEXASR[0:7].  If
bit 7 is set, it indicates that the error is consider persistent.  For example
a TM_CAUSE_ALIGNMENT will be persistent while a TM_CAUSE_RESCHED will not.q

GDB
===
+11 −2
Original line number Diff line number Diff line
@@ -3322,11 +3322,12 @@ F: drivers/net/wan/dlci.c
F:	drivers/net/wan/sdla.c

FRAMEBUFFER LAYER
M:	Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
M:	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
M:	Tomi Valkeinen <tomi.valkeinen@ti.com>
L:	linux-fbdev@vger.kernel.org
W:	http://linux-fbdev.sourceforge.net/
Q:	http://patchwork.kernel.org/project/linux-fbdev/list/
T:	git git://github.com/schandinat/linux-2.6.git fbdev-next
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev.git
S:	Maintained
F:	Documentation/fb/
F:	Documentation/devicetree/bindings/fb/
@@ -6087,7 +6088,15 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git
S:	Maintained
F:	arch/parisc/
F:	Documentation/parisc/
F:	drivers/parisc/
F:	drivers/char/agp/parisc-agp.c
F:	drivers/input/serio/gscps2.c
F:	drivers/parport/parport_gsc.*
F:	drivers/tty/serial/8250/8250_gsc.c
F:	drivers/video/sti*
F:	drivers/video/console/sti*
F:	drivers/video/logo/logo_parisc*

PC87360 HARDWARE MONITORING DRIVER
M:	Jim Cromie <jim.cromie@gmail.com>
+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 0
EXTRAVERSION = -rc3
EXTRAVERSION = -rc4
NAME = Unicycling Gorilla

# *DOCUMENTATION*
+2 −1
Original line number Diff line number Diff line
@@ -366,11 +366,12 @@ config ARCH_CLPS711X
	select ARCH_REQUIRE_GPIOLIB
	select AUTO_ZRELADDR
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
	select COMMON_CLK
	select CPU_ARM720T
	select GENERIC_CLOCKEVENTS
	select MFD_SYSCON
	select MULTI_IRQ_HANDLER
	select NEED_MACH_MEMORY_H
	select SPARSE_IRQ
	help
	  Support for Cirrus Logic 711x/721x/731x based boards.
Loading