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

Commit 90735c99 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull DeviceTree fixes from Rob Herring:

 - fix unflatten_dt_nodes when dad parameter is set.

 - add vendor prefixes for TechNexion and UniWest

 - documentation fix for Marvell BT

 - OF IRQ kerneldoc fixes

 - restrict CMA alignment adjustments to non dma-coherent

 - a couple of warning fixes in reserved-memory code

 - DT maintainers updates

* tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch
  drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes()
  drivers: of: Fix of_pci.h header guard
  dt-bindings: Add vendor prefix for TechNexion
  of: add vendor prefix for UniWest
  dt: bindings: fix documentation for MARVELL's bt-sd8xxx wireless device
  of: add missing const for of_parse_phandle_with_args() in !CONFIG_OF
  of: silence warnings due to max() usage
  drivers: of: of_reserved_mem: fixup the CMA alignment not to affect dma-coherent
  of: irq: fix of_irq_get[_byname]() kernel-doc
  MAINTAINERS: DeviceTree maintainer updates
parents f1c32afd 06dfeef8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -13,10 +13,10 @@ Optional properties:
		      initialization. This is an array of 28 values(u8).

  - marvell,wakeup-pin: It represents wakeup pin number of the bluetooth chip.
		        firmware will use the pin to wakeup host system.
		        firmware will use the pin to wakeup host system (u16).
  - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host
		      platform. The value will be configured to firmware. This
		      is needed to work chip's sleep feature as expected.
		      is needed to work chip's sleep feature as expected (u16).
  - interrupt-parent: phandle of the parent interrupt controller
  - interrupts : interrupt pin number to the cpu. Driver will request an irq based
		 on this interrupt number. During system suspend, the irq will be
@@ -50,7 +50,7 @@ calibration data is also available in below example.
			0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
			0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
			0x00 0x00 0xf0 0x00>;
		marvell,wakeup-pin = <0x0d>;
		marvell,wakeup-gap-ms = <0x64>;
		marvell,wakeup-pin = /bits/ 16 <0x0d>;
		marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
	};
};
+2 −0
Original line number Diff line number Diff line
@@ -255,6 +255,7 @@ synology Synology, Inc.
SUNW	Sun Microsystems, Inc
tbs	TBS Technologies
tcl	Toby Churchill Ltd.
technexion	TechNexion
technologic	Technologic Systems
thine	THine Electronics, Inc.
ti	Texas Instruments
@@ -269,6 +270,7 @@ tronsmart Tronsmart
truly	Truly Semiconductors Limited
tyan	Tyan Computer Corporation
upisemi	uPI Semiconductor Corp.
uniwest	United Western Technologies Corp (UniWest)
urt	United Radiant Technology Corporation
usi	Universal Scientific Industrial Co., Ltd.
v3	V3 Semiconductor
+2 −5
Original line number Diff line number Diff line
@@ -8407,10 +8407,9 @@ F: drivers/i2c/busses/i2c-ocores.c
OPEN FIRMWARE AND FLATTENED DEVICE TREE
M:	Rob Herring <robh+dt@kernel.org>
M:	Frank Rowand <frowand.list@gmail.com>
M:	Grant Likely <grant.likely@linaro.org>
L:	devicetree@vger.kernel.org
W:	http://www.devicetree.org/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
S:	Maintained
F:	drivers/of/
F:	include/linux/of*.h
@@ -8418,12 +8417,10 @@ F: scripts/dtc/

OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
M:	Rob Herring <robh+dt@kernel.org>
M:	Pawel Moll <pawel.moll@arm.com>
M:	Mark Rutland <mark.rutland@arm.com>
M:	Ian Campbell <ijc+devicetree@hellion.org.uk>
M:	Kumar Gala <galak@codeaurora.org>
L:	devicetree@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
Q:	http://patchwork.ozlabs.org/project/devicetree-bindings/list/
S:	Maintained
F:	Documentation/devicetree/
F:	arch/*/boot/dts/
+13 −2
Original line number Diff line number Diff line
@@ -395,7 +395,7 @@ static int unflatten_dt_nodes(const void *blob,
			      struct device_node **nodepp)
{
	struct device_node *root;
	int offset = 0, depth = 0;
	int offset = 0, depth = 0, initial_depth = 0;
#define FDT_MAX_DEPTH	64
	unsigned int fpsizes[FDT_MAX_DEPTH];
	struct device_node *nps[FDT_MAX_DEPTH];
@@ -405,11 +405,22 @@ static int unflatten_dt_nodes(const void *blob,
	if (nodepp)
		*nodepp = NULL;

	/*
	 * We're unflattening device sub-tree if @dad is valid. There are
	 * possibly multiple nodes in the first level of depth. We need
	 * set @depth to 1 to make fdt_next_node() happy as it bails
	 * immediately when negative @depth is found. Otherwise, the device
	 * nodes except the first one won't be unflattened successfully.
	 */
	if (dad)
		depth = initial_depth = 1;

	root = dad;
	fpsizes[depth] = dad ? strlen(of_node_full_name(dad)) : 0;
	nps[depth] = dad;

	for (offset = 0;
	     offset >= 0 && depth >= 0;
	     offset >= 0 && depth >= initial_depth;
	     offset = fdt_next_node(blob, offset, &depth)) {
		if (WARN_ON_ONCE(depth >= FDT_MAX_DEPTH))
			continue;
+10 −9
Original line number Diff line number Diff line
@@ -386,13 +386,13 @@ int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
EXPORT_SYMBOL_GPL(of_irq_to_resource);

/**
 * of_irq_get - Decode a node's IRQ and return it as a Linux irq number
 * of_irq_get - Decode a node's IRQ and return it as a Linux IRQ number
 * @dev: pointer to device tree node
 * @index: zero-based index of the irq
 *
 * Returns Linux irq number on success, or -EPROBE_DEFER if the irq domain
 * is not yet created.
 * @index: zero-based index of the IRQ
 *
 * Returns Linux IRQ number on success, or 0 on the IRQ mapping failure, or
 * -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case
 * of any other failure.
 */
int of_irq_get(struct device_node *dev, int index)
{
@@ -413,12 +413,13 @@ int of_irq_get(struct device_node *dev, int index)
EXPORT_SYMBOL_GPL(of_irq_get);

/**
 * of_irq_get_byname - Decode a node's IRQ and return it as a Linux irq number
 * of_irq_get_byname - Decode a node's IRQ and return it as a Linux IRQ number
 * @dev: pointer to device tree node
 * @name: irq name
 * @name: IRQ name
 *
 * Returns Linux irq number on success, or -EPROBE_DEFER if the irq domain
 * is not yet created, or error code in case of any other failure.
 * Returns Linux IRQ number on success, or 0 on the IRQ mapping failure, or
 * -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case
 * of any other failure.
 */
int of_irq_get_byname(struct device_node *dev, const char *name)
{
Loading