Loading Documentation/devicetree/bindings/i2c/i2c-mux-pinctrl.txt 0 → 100644 +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>; }; }; }; MAINTAINERS +26 −17 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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/ Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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/ Loading Loading @@ -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 Loading Makefile +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* Loading arch/arm/Kconfig +0 −1 Original line number Diff line number Diff line Loading @@ -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 Loading arch/arm/mm/dma-mapping.c +4 −6 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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 Loading
Documentation/devicetree/bindings/i2c/i2c-mux-pinctrl.txt 0 → 100644 +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>; }; }; };
MAINTAINERS +26 −17 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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/ Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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/ Loading Loading @@ -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 Loading
Makefile +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* Loading
arch/arm/Kconfig +0 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
arch/arm/mm/dma-mapping.c +4 −6 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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