Commit 0482e3c6 authored by Tony Lindgren's avatar Tony Lindgren
Browse files

Merge branch 'omap-fixes-for-linus' into omap-for-linus

parents 9ba87450 a6c7fdd2
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -143,8 +143,8 @@ o provide a way to configure fault attributes
  failslab, fail_page_alloc, and fail_make_request use this way.
  failslab, fail_page_alloc, and fail_make_request use this way.
  Helper functions:
  Helper functions:


	init_fault_attr_entries(entries, attr, name);
	init_fault_attr_dentries(entries, attr, name);
	void cleanup_fault_attr_entries(entries);
	void cleanup_fault_attr_dentries(entries);


- module parameters
- module parameters


+40 −8
Original line number Original line Diff line number Diff line
@@ -27,12 +27,30 @@ set of events/packets.


A set of ABS_MT events with the desired properties is defined. The events
A set of ABS_MT events with the desired properties is defined. The events
are divided into categories, to allow for partial implementation.  The
are divided into categories, to allow for partial implementation.  The
minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and
minimum set consists of ABS_MT_POSITION_X and ABS_MT_POSITION_Y, which
ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked.  If the
allows for multiple fingers to be tracked.  If the device supports it, the
device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide the size
ABS_MT_TOUCH_MAJOR and ABS_MT_WIDTH_MAJOR may be used to provide the size
of the approaching finger. Anisotropy and direction may be specified with
of the contact area and approaching finger, respectively.
ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and ABS_MT_ORIENTATION.  The

ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a
The TOUCH and WIDTH parameters have a geometrical interpretation; imagine
looking through a window at someone gently holding a finger against the
glass.  You will see two regions, one inner region consisting of the part
of the finger actually touching the glass, and one outer region formed by
the perimeter of the finger. The diameter of the inner region is the
ABS_MT_TOUCH_MAJOR, the diameter of the outer region is
ABS_MT_WIDTH_MAJOR. Now imagine the person pressing the finger harder
against the glass. The inner region will increase, and in general, the
ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than
unity, is related to the finger pressure. For pressure-based devices,
ABS_MT_PRESSURE may be used to provide the pressure on the contact area
instead.

In addition to the MAJOR parameters, the oval shape of the finger can be
described by adding the MINOR parameters, such that MAJOR and MINOR are the
major and minor axis of an ellipse. Finally, the orientation of the oval
shape can be describe with the ORIENTATION parameter.

The ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a
finger or a pen or something else.  Devices with more granular information
finger or a pen or something else.  Devices with more granular information
may specify general shapes as blobs, i.e., as a sequence of rectangular
may specify general shapes as blobs, i.e., as a sequence of rectangular
shapes grouped together by an ABS_MT_BLOB_ID. Finally, for the few devices
shapes grouped together by an ABS_MT_BLOB_ID. Finally, for the few devices
@@ -42,11 +60,9 @@ report finger tracking from hardware [5].
Here is what a minimal event sequence for a two-finger touch would look
Here is what a minimal event sequence for a two-finger touch would look
like:
like:


   ABS_MT_TOUCH_MAJOR
   ABS_MT_POSITION_X
   ABS_MT_POSITION_X
   ABS_MT_POSITION_Y
   ABS_MT_POSITION_Y
   SYN_MT_REPORT
   SYN_MT_REPORT
   ABS_MT_TOUCH_MAJOR
   ABS_MT_POSITION_X
   ABS_MT_POSITION_X
   ABS_MT_POSITION_Y
   ABS_MT_POSITION_Y
   SYN_MT_REPORT
   SYN_MT_REPORT
@@ -87,6 +103,12 @@ the contact. The ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR approximates
the notion of pressure. The fingers of the hand and the palm all have
the notion of pressure. The fingers of the hand and the palm all have
different characteristic widths [1].
different characteristic widths [1].


ABS_MT_PRESSURE

The pressure, in arbitrary units, on the contact area. May be used instead
of TOUCH and WIDTH for pressure-based devices or any device with a spatial
signal intensity distribution.

ABS_MT_ORIENTATION
ABS_MT_ORIENTATION


The orientation of the ellipse. The value should describe a signed quarter
The orientation of the ellipse. The value should describe a signed quarter
@@ -170,6 +192,16 @@ There are a few devices that support trackingID in hardware. User space can
make use of these native identifiers to reduce bandwidth and cpu usage.
make use of these native identifiers to reduce bandwidth and cpu usage.




Gestures
--------

In the specific application of creating gesture events, the TOUCH and WIDTH
parameters can be used to, e.g., approximate finger pressure or distinguish
between index finger and thumb. With the addition of the MINOR parameters,
one can also distinguish between a sweeping finger and a pointing finger,
and with ORIENTATION, one can detect twisting of fingers.


Notes
Notes
-----
-----


+23 −3
Original line number Original line Diff line number Diff line
		function tracer guts
		function tracer guts
		====================
		====================
		By Mike Frysinger


Introduction
Introduction
------------
------------
@@ -173,14 +174,16 @@ void ftrace_graph_caller(void)


	unsigned long *frompc = &...;
	unsigned long *frompc = &...;
	unsigned long selfpc = <return address> - MCOUNT_INSN_SIZE;
	unsigned long selfpc = <return address> - MCOUNT_INSN_SIZE;
	prepare_ftrace_return(frompc, selfpc);
	/* passing frame pointer up is optional -- see below */
	prepare_ftrace_return(frompc, selfpc, frame_pointer);


	/* restore all state needed by the ABI */
	/* restore all state needed by the ABI */
}
}
#endif
#endif


For information on how to implement prepare_ftrace_return(), simply look at
For information on how to implement prepare_ftrace_return(), simply look at the
the x86 version.  The only architecture-specific piece in it is the setup of
x86 version (the frame pointer passing is optional; see the next section for
more information).  The only architecture-specific piece in it is the setup of
the fault recovery table (the asm(...) code).  The rest should be the same
the fault recovery table (the asm(...) code).  The rest should be the same
across architectures.
across architectures.


@@ -205,6 +208,23 @@ void return_to_handler(void)
#endif
#endif




HAVE_FUNCTION_GRAPH_FP_TEST
---------------------------

An arch may pass in a unique value (frame pointer) to both the entering and
exiting of a function.  On exit, the value is compared and if it does not
match, then it will panic the kernel.  This is largely a sanity check for bad
code generation with gcc.  If gcc for your port sanely updates the frame
pointer under different opitmization levels, then ignore this option.

However, adding support for it isn't terribly difficult.  In your assembly code
that calls prepare_ftrace_return(), pass the frame pointer as the 3rd argument.
Then in the C version of that function, do what the x86 port does and pass it
along to ftrace_push_return_trace() instead of a stub value of 0.

Similarly, when you call ftrace_return_to_handler(), pass it the frame pointer.


HAVE_FTRACE_NMI_ENTER
HAVE_FTRACE_NMI_ENTER
---------------------
---------------------


+1 −1
Original line number Original line Diff line number Diff line
@@ -1625,7 +1625,7 @@ If I am only interested in sys_nanosleep and hrtimer_interrupt:


 # echo sys_nanosleep hrtimer_interrupt \
 # echo sys_nanosleep hrtimer_interrupt \
		> set_ftrace_filter
		> set_ftrace_filter
 # echo ftrace > current_tracer
 # echo function > current_tracer
 # echo 1 > tracing_enabled
 # echo 1 > tracing_enabled
 # usleep 1
 # usleep 1
 # echo 0 > tracing_enabled
 # echo 0 > tracing_enabled
+4 −4
Original line number Original line Diff line number Diff line
@@ -987,7 +987,6 @@ F: drivers/platform/x86/asus-laptop.c


ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
M:	Dan Williams <dan.j.williams@intel.com>
M:	Dan Williams <dan.j.williams@intel.com>
M:	Maciej Sosnowski <maciej.sosnowski@intel.com>
W:	http://sourceforge.net/projects/xscaleiop
W:	http://sourceforge.net/projects/xscaleiop
S:	Supported
S:	Supported
F:	Documentation/crypto/async-tx-api.txt
F:	Documentation/crypto/async-tx-api.txt
@@ -1823,7 +1822,6 @@ S: Supported
F:	fs/dlm/
F:	fs/dlm/


DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
M:	Maciej Sosnowski <maciej.sosnowski@intel.com>
M:	Dan Williams <dan.j.williams@intel.com>
M:	Dan Williams <dan.j.williams@intel.com>
S:	Supported
S:	Supported
F:	drivers/dma/
F:	drivers/dma/
@@ -2786,7 +2784,7 @@ F: arch/x86/kernel/microcode_core.c
F:	arch/x86/kernel/microcode_intel.c
F:	arch/x86/kernel/microcode_intel.c


INTEL I/OAT DMA DRIVER
INTEL I/OAT DMA DRIVER
M:	Maciej Sosnowski <maciej.sosnowski@intel.com>
M:	Dan Williams <dan.j.williams@intel.com>
S:	Supported
S:	Supported
F:	drivers/dma/ioat*
F:	drivers/dma/ioat*


@@ -2824,10 +2822,11 @@ L: netdev@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/net/ixp2000/
F:	drivers/net/ixp2000/


INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/ixgb/ixgbe)
INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe)
M:	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
M:	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
M:	Jesse Brandeburg <jesse.brandeburg@intel.com>
M:	Jesse Brandeburg <jesse.brandeburg@intel.com>
M:	Bruce Allan <bruce.w.allan@intel.com>
M:	Bruce Allan <bruce.w.allan@intel.com>
M:	Alex Duyck <alexander.h.duyck@intel.com>
M:	PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
M:	PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
M:	John Ronciak <john.ronciak@intel.com>
M:	John Ronciak <john.ronciak@intel.com>
L:	e1000-devel@lists.sourceforge.net
L:	e1000-devel@lists.sourceforge.net
@@ -2837,6 +2836,7 @@ F: drivers/net/e100.c
F:	drivers/net/e1000/
F:	drivers/net/e1000/
F:	drivers/net/e1000e/
F:	drivers/net/e1000e/
F:	drivers/net/igb/
F:	drivers/net/igb/
F:	drivers/net/igbvf/
F:	drivers/net/ixgb/
F:	drivers/net/ixgb/
F:	drivers/net/ixgbe/
F:	drivers/net/ixgbe/


Loading