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

Commit c3e228d5 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'v3.5-rc2' into perf/core



Merge in Linux 3.5-rc2 - to pick up fixes.

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 7eb9ba5e cfaf0251
Loading
Loading
Loading
Loading
+93 −0
Original line number Diff line number Diff line
Pinctrl-based I2C Bus Mux

This binding describes an I2C bus multiplexer that uses pin multiplexing to
route the I2C signals, and represents the pin multiplexing configuration
using the pinctrl device tree bindings.

                                 +-----+  +-----+
                                 | dev |  | dev |
    +------------------------+   +-----+  +-----+
    | SoC                    |      |        |
    |                   /----|------+--------+
    |   +---+   +------+     | child bus A, on first set of pins
    |   |I2C|---|Pinmux|     |
    |   +---+   +------+     | child bus B, on second set of pins
    |                   \----|------+--------+--------+
    |                        |      |        |        |
    +------------------------+  +-----+  +-----+  +-----+
                                | dev |  | dev |  | dev |
                                +-----+  +-----+  +-----+

Required properties:
- compatible: i2c-mux-pinctrl
- i2c-parent: The phandle of the I2C bus that this multiplexer's master-side
  port is connected to.

Also required are:

* Standard pinctrl properties that specify the pin mux state for each child
  bus. See ../pinctrl/pinctrl-bindings.txt.

* Standard I2C mux properties. See mux.txt in this directory.

* I2C child bus nodes. See mux.txt in this directory.

For each named state defined in the pinctrl-names property, an I2C child bus
will be created. I2C child bus numbers are assigned based on the index into
the pinctrl-names property.

The only exception is that no bus will be created for a state named "idle". If
such a state is defined, it must be the last entry in pinctrl-names. For
example:

	pinctrl-names = "ddc", "pta", "idle"  ->  ddc = bus 0, pta = bus 1
	pinctrl-names = "ddc", "idle", "pta"  ->  Invalid ("idle" not last)
	pinctrl-names = "idle", "ddc", "pta"  ->  Invalid ("idle" not last)

Whenever an access is made to a device on a child bus, the relevant pinctrl
state will be programmed into hardware.

If an idle state is defined, whenever an access is not being made to a device
on a child bus, the idle pinctrl state will be programmed into hardware.

If an idle state is not defined, the most recently used pinctrl state will be
left programmed into hardware whenever no access is being made of a device on
a child bus.

Example:

	i2cmux {
		compatible = "i2c-mux-pinctrl";
		#address-cells = <1>;
		#size-cells = <0>;

		i2c-parent = <&i2c1>;

		pinctrl-names = "ddc", "pta", "idle";
		pinctrl-0 = <&state_i2cmux_ddc>;
		pinctrl-1 = <&state_i2cmux_pta>;
		pinctrl-2 = <&state_i2cmux_idle>;

		i2c@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			eeprom {
				compatible = "eeprom";
				reg = <0x50>;
			};
		};

		i2c@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;

			eeprom {
				compatible = "eeprom";
				reg = <0x50>;
			};
		};
	};
+26 −17
Original line number Diff line number Diff line
@@ -2270,7 +2270,7 @@ F: include/linux/device-mapper.h
F:	include/linux/dm-*.h

DIOLAN U2C-12 I2C DRIVER
M:	Guenter Roeck <guenter.roeck@ericsson.com>
M:	Guenter Roeck <linux@roeck-us.net>
L:	linux-i2c@vger.kernel.org
S:	Maintained
F:	drivers/i2c/busses/i2c-diolan-u2c.c
@@ -3145,7 +3145,7 @@ F: drivers/tty/hvc/

HARDWARE MONITORING
M:	Jean Delvare <khali@linux-fr.org>
M:	Guenter Roeck <guenter.roeck@ericsson.com>
M:	Guenter Roeck <linux@roeck-us.net>
L:	lm-sensors@lm-sensors.org
W:	http://www.lm-sensors.org/
T:	quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-hwmon/
@@ -4103,6 +4103,8 @@ F: drivers/scsi/53c700*
LED SUBSYSTEM
M:	Bryan Wu <bryan.wu@canonical.com>
M:	Richard Purdie <rpurdie@rpsys.net>
L:	linux-leds@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git
S:	Maintained
F:	drivers/leds/
F:	include/linux/leds.h
@@ -4418,6 +4420,13 @@ S: Orphan
F:	drivers/video/matrox/matroxfb_*
F:	include/linux/matroxfb.h

MAX16065 HARDWARE MONITOR DRIVER
M:	Guenter Roeck <linux@roeck-us.net>
L:	lm-sensors@lm-sensors.org
S:	Maintained
F:	Documentation/hwmon/max16065
F:	drivers/hwmon/max16065.c

MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
M:	"Hans J. Koch" <hjk@hansjkoch.de>
L:	lm-sensors@lm-sensors.org
@@ -5156,7 +5165,7 @@ F: drivers/leds/leds-pca9532.c
F:	include/linux/leds-pca9532.h

PCA9541 I2C BUS MASTER SELECTOR DRIVER
M:	Guenter Roeck <guenter.roeck@ericsson.com>
M:	Guenter Roeck <linux@roeck-us.net>
L:	linux-i2c@vger.kernel.org
S:	Maintained
F:	drivers/i2c/muxes/i2c-mux-pca9541.c
@@ -5306,7 +5315,7 @@ F: drivers/video/fb-puv3.c
F:	drivers/rtc/rtc-puv3.c

PMBUS HARDWARE MONITORING DRIVERS
M:	Guenter Roeck <guenter.roeck@ericsson.com>
M:	Guenter Roeck <linux@roeck-us.net>
L:	lm-sensors@lm-sensors.org
W:	http://www.lm-sensors.org/
W:	http://www.roeck-us.net/linux/drivers/
@@ -7298,11 +7307,11 @@ F: Documentation/DocBook/uio-howto.tmpl
F:	drivers/uio/
F:	include/linux/uio*.h

UTIL-LINUX-NG PACKAGE
UTIL-LINUX PACKAGE
M:	Karel Zak <kzak@redhat.com>
L:	util-linux-ng@vger.kernel.org
W:	http://kernel.org/~kzak/util-linux-ng/
T:	git git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git
L:	util-linux@vger.kernel.org
W:	http://en.wikipedia.org/wiki/Util-linux
T:	git git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
S:	Maintained

UVESAFB DRIVER
+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 5
SUBLEVEL = 0
EXTRAVERSION = -rc1
EXTRAVERSION = -rc2
NAME = Saber-toothed Squirrel

# *DOCUMENTATION*
+0 −1
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ config ARM
	select HAVE_IDE if PCI || ISA || PCMCIA
	select HAVE_DMA_ATTRS
	select HAVE_DMA_CONTIGUOUS if (CPU_V6 || CPU_V6K || CPU_V7)
	select CMA if (CPU_V6 || CPU_V6K || CPU_V7)
	select HAVE_MEMBLOCK
	select RTC_LIB
	select SYS_SUPPORTS_APM_EMULATION
+4 −6
Original line number Diff line number Diff line
@@ -268,10 +268,8 @@ static int __init consistent_init(void)
	unsigned long base = consistent_base;
	unsigned long num_ptes = (CONSISTENT_END - base) >> PMD_SHIFT;

#ifndef CONFIG_ARM_DMA_USE_IOMMU
	if (cpu_architecture() >= CPU_ARCH_ARMv6)
	if (IS_ENABLED(CONFIG_CMA) && !IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU))
		return 0;
#endif

	consistent_pte = kmalloc(num_ptes * sizeof(pte_t), GFP_KERNEL);
	if (!consistent_pte) {
@@ -342,7 +340,7 @@ static int __init coherent_init(void)
	struct page *page;
	void *ptr;

	if (cpu_architecture() < CPU_ARCH_ARMv6)
	if (!IS_ENABLED(CONFIG_CMA))
		return 0;

	ptr = __alloc_from_contiguous(NULL, size, prot, &page);
@@ -704,7 +702,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,

	if (arch_is_coherent() || nommu())
		addr = __alloc_simple_buffer(dev, size, gfp, &page);
	else if (cpu_architecture() < CPU_ARCH_ARMv6)
	else if (!IS_ENABLED(CONFIG_CMA))
		addr = __alloc_remap_buffer(dev, size, gfp, prot, &page, caller);
	else if (gfp & GFP_ATOMIC)
		addr = __alloc_from_pool(dev, size, &page, caller);
@@ -773,7 +771,7 @@ void arm_dma_free(struct device *dev, size_t size, void *cpu_addr,

	if (arch_is_coherent() || nommu()) {
		__dma_free_buffer(page, size);
	} else if (cpu_architecture() < CPU_ARCH_ARMv6) {
	} else if (!IS_ENABLED(CONFIG_CMA)) {
		__dma_free_remap(cpu_addr, size);
		__dma_free_buffer(page, size);
	} else {
Loading