Linus,
Please pull DT updates for 3.16. This cycle is a bit bigger than
normal with a bunch of FDT clean-ups and the addition of early console
initialization from DT. The earlycon support has a dependency on the
tty tree which is already in your tree.
There's one trivial conflict with your tree in
arch/arm/mach-vexpress/platsmp.c and the hunk should be removed. In my
merge, the auto conflict resolution got the merge in
of_update_property wrong incorrectly applying both hunks. The
incorrect merge commit looks like this:
diff --cc drivers/of/base.c
index 32e969d,567e6e1..779faaa
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@@ -1828,15 -1900,16 +1900,20 @@@ int of_update_property(struct device_no
next = &(*next)->next;
}
raw_spin_unlock_irqrestore(&devtree_lock, flags);
- if (!found)
- return -ENODEV;
+ if (rc)
+ return rc;
+
+ /* At early boot, bail out and defer setup to of_init() */
+ if (!of_kset)
+ return 0;
+ /* At early boot, bail out and defer setup to of_init() */
+ if (!of_kset)
+ return found ? 0 : -ENODEV;
+
/* Update the sysfs attribute */
- sysfs_remove_bin_file(&np->kobj, &oldprop->attr);
+ if (oldprop)
+ sysfs_remove_bin_file(&np->kobj, &oldprop->attr);
__of_add_property_sysfs(np, newprop);
return 0;
The correct resolution is keeping the first "if (!of_kset)" and
dropping the 2nd one as found is no longer present. I'm not sure why,
but this error doesn't show up in linux-next.
Rob
The following changes since commit d6d211db37e75de2ddc3a4f979038c40df7cc79c:
Linux 3.15-rc5 (2014-05-09 13:10:52 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
tags/devicetree-for-3.16
for you to fetch changes up to 43cb43678705e39b175b325f17938295996aefc7:
of: handle NULL node in next_child iterators (2014-06-04 04:46:01 -0500)
----------------------------------------------------------------
DeviceTree for 3.16:
- Another round of clean-up of FDT related code in architecture code.
This removes knowledge of internal FDT details from most architectures
except powerpc.
- Conversion of kernel's custom FDT parsing code to use libfdt.
- DT based initialization for generic serial earlycon. The introduction
of generic serial earlycon support went in thru tty tree.
- Improve the platform device naming for DT probed devices to ensure
unique naming and use parent names instead of a global index.
- Fix a race condition in of_update_property.
- Unify the various linker section OF match tables and fix several
function prototype errors.
- Update platform_get_irq_byname to work in deferred probe cases.
- 2 binding doc updates
----------------------------------------------------------------
Arnd Bergmann (1):
of/irq: provide more wrappers for !CONFIG_OF
Florian Fainelli (1):
of: handle NULL node in next_child iterators
Grant Likely (6):
of: Ensure unique names without sacrificing determinism
of: Stop naming platform_device using dcr address
lib: add glibc style strchrnul() variant
of: Create unlocked version of for_each_child_of_node()
of: Make of_find_node_by_path() handle /aliases
of: Add a testcase for of_find_node_by_path()
Grygorii Strashko (1):
of/irq: do irq resolution in platform_get_irq_byname()
Ian Molton (1):
pci/of: Remove dead code
Leif Lindholm (1):
of: Handle memory@0 node on PPC32 only
Matt Porter (1):
dt: bindings: dwc2: fix required value for the phy-names property
Rob Herring (46):
mips: octeon: convert to use unflatten_and_copy_device_tree
mips: lantiq: copy built-in DTB out of init section
mips: xlp: copy built-in DTB out of init section
mips: ralink: convert to use unflatten_and_copy_device_tree
powerpc: fix skipping call to early_init_fdt_scan_reserved_mem
ARM: dt: use default early_init_dt_alloc_memory_arch
c6x: convert fdt pointers to opaque pointers
mips: convert fdt pointers to opaque pointers
of/fdt: consolidate built-in dtb section variables
of/fdt: remove some unneeded includes
of/fdt: remove unused of_scan_flat_dt_by_path
of/fdt: update of_get_flat_dt_prop in prep for libfdt
of/fdt: Convert FDT functions to use libfdt
of/fdt: use libfdt accessors for header data
of/fdt: create common debugfs
of/fdt: move memreserve and dtb memory reservations into core
of/fdt: fix phys_addr_t related print size warnings
of/fdt: introduce of_get_flat_dt_size
powerpc: use libfdt accessors for header data
x86: use FDT accessors for FDT blob header data
of/fdt: convert initial_boot_params to opaque pointer
of: push struct boot_param_header and defines into powerpc
of/platform: fix device naming for non-translatable addresses
of: kill off of_can_translate_address
of/selftest: clean-up of_selftest_platform_populate pass/fail handling
of/selftest: add testcase for nodes with same name and address
Merge branch 'dt-bus-name' into for-next
Merge branch 'tty-next' of git://git.kernel.org/.../gregkh/tty
into for-next
irqchip: align irqchip OF match table section naming
ARM: align cpu_method_of_table naming
vmlinuz.lds: define OF table sections with macros
of: align RESERVEDMEM_OF_DECLARE function callbacks to other callbacks
ARM: imx: fix function type for CLK_OF_DECLARE
clk: rockchip: fix function type for CLK_OF_DECLARE
clk: sunxi: avoid double DT matching
clk: sunxi: fix function type for CLK_OF_DECLARE
irqchip: s3c24xx: Fix function type for IRQCHIP_OF_DECLARE
irqchip: mxs: Fix function type for IRQCHIP_OF_DECLARE
clk: ti: add missing semi-colon on CLK_OF_DECLARE
of: consolidate linker section OF match table declarations
serial: earlycon: add DT support
of/fdt: add FDT address translation support
of/fdt: add FDT serial scanning for earlycon
tty/serial: pl011: add DT based earlycon support
Merge tag 'dt-for-robh' of git://git.secretlab.ca/git/linux into for-next
Merge branch 'earlycon-dt' into for-next
Sergei Shtylyov (1):
of_pci_irq: kill useless variable in of_irq_parse_pci()
Stephen Boyd (1):
devicetree: bindings: Document micrel vendor prefix
Thierry Reding (1):
of: Use NULL for pointers
Xiubo Li (1):
of: fix race between search and remove in of_update_property()
.../devicetree/bindings/serial/nxp,sc16is7xx.txt | 33 +
Documentation/devicetree/bindings/usb/dwc2.txt | 2 +-
.../devicetree/bindings/vendor-prefixes.txt | 1 +
Documentation/kernel-parameters.txt | 9 +
arch/arc/include/asm/sections.h | 1 -
arch/arc/kernel/devtree.c | 2 +-
arch/arm/include/asm/prom.h | 2 -
arch/arm/kernel/devtree.c | 43 +-
arch/arm/mach-exynos/exynos.c | 2 +-
arch/arm/mach-imx/clk-imx35.c | 4 +-
arch/arm/mach-vexpress/platsmp.c | 2 +-
arch/arm/mm/init.c | 1 -
arch/arm/plat-samsung/s5p-dev-mfc.c | 4 +-
arch/arm64/Kconfig | 3 +
arch/arm64/Kconfig.debug | 9 -
arch/arm64/kernel/Makefile | 1 -
arch/arm64/kernel/early_printk.c | 156 ---
arch/arm64/mm/init.c | 21 -
arch/c6x/kernel/setup.c | 4 +-
arch/metag/kernel/setup.c | 4 -
arch/microblaze/kernel/prom.c | 39 +-
arch/mips/cavium-octeon/setup.c | 20 +-
arch/mips/include/asm/mips-boards/generic.h | 4 -
arch/mips/include/asm/prom.h | 6 +-
arch/mips/kernel/prom.c | 2 +-
arch/mips/lantiq/prom.c | 15 +-
arch/mips/lantiq/prom.h | 2 -
arch/mips/mti-sead3/sead3-setup.c | 8 +-
arch/mips/netlogic/xlp/dt.c | 19 +-
arch/mips/ralink/of.c | 29 +-
arch/openrisc/kernel/vmlinux.h | 2 -
arch/powerpc/include/asm/dcr-mmio.h | 4 -
arch/powerpc/include/asm/prom.h | 39 +
arch/powerpc/kernel/Makefile | 1 +
arch/powerpc/kernel/epapr_paravirt.c | 2 +-
arch/powerpc/kernel/fadump.c | 4 +-
arch/powerpc/kernel/prom.c | 82 +-
arch/powerpc/kernel/rtas.c | 2 +-
arch/powerpc/mm/hash_utils_64.c | 22 +-
arch/powerpc/platforms/52xx/efika.c | 4 +-
arch/powerpc/platforms/chrp/setup.c | 4 +-
arch/powerpc/platforms/powernv/opal.c | 12 +-
arch/powerpc/platforms/pseries/setup.c | 4 +-
arch/powerpc/sysdev/dcr.c | 6 +-
arch/x86/Kconfig | 3 +
arch/x86/kernel/devicetree.c | 12 +-
arch/xtensa/kernel/setup.c | 3 +-
drivers/base/platform.c | 7 +-
drivers/bluetooth/hci_ldisc.c | 24 +-
drivers/bluetooth/hci_uart.h | 1 +
drivers/clk/rockchip/clk-rockchip.c | 3 +-
drivers/clk/sunxi/clk-sunxi.c | 5 +-
drivers/clk/ti/gate.c | 2 +-
drivers/clocksource/clksrc-of.c | 2 +-
drivers/irqchip/irq-mxs.c | 4 +-
drivers/irqchip/irq-s3c24xx.c | 6 +-
drivers/irqchip/irqchip.c | 6 +-
drivers/irqchip/irqchip.h | 7 +-
drivers/of/Kconfig | 1 +
drivers/of/Makefile | 4 +
drivers/of/address.c | 22 +-
drivers/of/base.c | 121 +-
drivers/of/fdt.c | 458 +++----
drivers/of/fdt_address.c | 241 ++++
drivers/of/irq.c | 22 +
drivers/of/of_pci_irq.c | 8 +-
drivers/of/of_reserved_mem.c | 6 +-
drivers/of/platform.c | 76 +-
drivers/of/selftest.c | 80 +-
drivers/of/testcase-data/testcases.dtsi | 1 +
drivers/of/testcase-data/tests-phandle.dtsi | 6 +-
drivers/of/testcase-data/tests-platform.dtsi | 35 +
drivers/tty/serial/8250/8250_core.c | 5 -
drivers/tty/serial/8250/8250_dw.c | 81 +-
drivers/tty/serial/8250/8250_early.c | 138 +--
drivers/tty/serial/8250/Kconfig | 6 +-
drivers/tty/serial/Kconfig | 47 +-
drivers/tty/serial/Makefile | 5 +
drivers/tty/serial/amba-pl011.c | 31 +-
drivers/tty/serial/earlycon-arm-semihost.c | 61 +
drivers/tty/serial/earlycon.c | 172 +++
drivers/tty/serial/men_z135_uart.c | 866 +++++++++++++
drivers/tty/serial/mux.c | 4 +-
drivers/tty/serial/omap-serial.c | 94 +-
drivers/tty/serial/pch_uart.c | 13 +-
drivers/tty/serial/pxa.c | 5 -
drivers/tty/serial/sc16is7xx.c | 1280 ++++++++++++++++++++
drivers/tty/serial/serial_core.c | 3 +
drivers/tty/serial/serial_txx9.c | 5 -
drivers/tty/serial/xilinx_uartps.c | 1129 +++++++++--------
include/asm-generic/vmlinux.lds.h | 60 +-
include/linux/clk-provider.h | 5 +-
include/linux/clocksource.h | 16 +-
include/linux/of.h | 22 +
include/linux/of_address.h | 1 -
include/linux/of_fdt.h | 64 +-
include/linux/of_irq.h | 5 +
include/linux/of_pci.h | 36 +-
include/linux/of_reserved_mem.h | 22 +-
include/linux/serial_core.h | 22 +
include/linux/string.h | 3 +
include/linux/tty_ldisc.h | 5 +-
include/uapi/linux/serial_core.h | 8 +-
include/uapi/linux/serial_reg.h | 2 +-
lib/string.c | 18 +
105 files changed, 4205 insertions(+), 1831 deletions(-)
create mode 100644 Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
delete mode 100644 arch/arm64/kernel/early_printk.c
create mode 100644 drivers/of/fdt_address.c
create mode 100644 drivers/of/testcase-data/tests-platform.dtsi
create mode 100644 drivers/tty/serial/earlycon-arm-semihost.c
create mode 100644 drivers/tty/serial/earlycon.c
create mode 100644 drivers/tty/serial/men_z135_uart.c
create mode 100644 drivers/tty/serial/sc16is7xx.c
Hi Rob,
On Wed, 4 Jun 2014 11:48:50 -0500 Rob Herring <[email protected]> wrote:
>
> The correct resolution is keeping the first "if (!of_kset)" and
> dropping the 2nd one as found is no longer present. I'm not sure why,
> but this error doesn't show up in linux-next.
That would be because I did that merge resolution ... I informed Grant
at the time (since it affected his tree).
See https://lkml.kernel.org/r/<[email protected]>
--
Cheers,
Stephen Rothwell [email protected]