25 Mar, 2020

2 commits


15 Nov, 2017

1 commit

  • Pull DeviceTree updates from Rob Herring:
    "A bigger diffstat than usual with the kbuild changes and a tree wide
    fix in the binding documentation.

    Summary:

    - kbuild cleanups and improvements for dtbs

    - Code clean-up of overlay code and fixing for some long standing
    memory leak and race condition in applying overlays

    - Improvements to DT memory usage making sysfs/kobjects optional and
    skipping unflattening of disabled nodes. This is part of kernel
    tinification efforts.

    - Final piece of removing storing the full path for every DT node.
    The prerequisite conversion of printk's to use device_node format
    specifier happened in 4.14.

    - Sync with current upstream dtc. This brings additional checks to
    dtb compiling.

    - Binding doc tree wide removal of leading 0s from examples

    - RTC binding documentation adding missing devices and some
    consolidation of duplicated bindings

    - Vendor prefix documentation for nutsboard, Silicon Storage
    Technology, shimafuji, Tecon Microprocessor Technologies, DH
    electronics GmbH, Opal Kelly, and Next Thing"

    * tag 'devicetree-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (55 commits)
    dt-bindings: usb: add #phy-cells to usb-nop-xceiv
    dt-bindings: Remove leading zeros from bindings notation
    kbuild: handle dtb-y and CONFIG_OF_ALL_DTBS natively in Makefile.lib
    MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry
    kbuild: clean up *.dtb and *.dtb.S patterns from top-level Makefile
    .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore
    .gitignore: sort normal pattern rules alphabetically
    dt-bindings: add vendor prefix for Next Thing Co.
    scripts/dtc: Update to upstream version v1.4.5-6-gc1e55a5513e9
    of: dynamic: fix memory leak related to properties of __of_node_dup
    of: overlay: make pr_err() string unique
    of: overlay: pr_err from return NOTIFY_OK to overlay apply/remove
    of: overlay: remove unneeded check for NULL kbasename()
    of: overlay: remove a dependency on device node full_name
    of: overlay: simplify applying symbols from an overlay
    of: overlay: avoid race condition between applying multiple overlays
    of: overlay: loosen overly strict phandle clash check
    of: overlay: expand check of whether overlay changeset can be removed
    of: overlay: detect cases where device tree may become corrupt
    of: overlay: minor restructuring
    ...

    Linus Torvalds
     

10 Nov, 2017

1 commit

  • If CONFIG_OF_ALL_DTBS is enabled, "make ARCH=arm64 dtbs" compiles each
    DTB twice; one from arch/arm64/boot/dts/*/Makefile and the other from
    the dtb-$(CONFIG_OF_ALL_DTBS) line in arch/arm64/boot/dts/Makefile.
    It could be a race problem when building DTBS in parallel.

    Another minor issue is CONFIG_OF_ALL_DTBS covers only *.dts in vendor
    sub-directories, so this broke when Broadcom added one more hierarchy
    in arch/arm64/boot/dts/broadcom//.

    One idea to fix the issues in a clean way is to move DTB handling
    to Kbuild core scripts. Makefile.dtbinst already recognizes dtb-y
    natively, so it should not hurt to do so.

    Add $(dtb-y) to extra-y, and $(dtb-) as well if CONFIG_OF_ALL_DTBS is
    enabled. All clutter things in Makefiles go away.

    As a bonus clean-up, I also removed dts-dirs. Just use subdir-y
    directly to traverse sub-directories.

    Signed-off-by: Masahiro Yamada
    Acked-by: Arnd Bergmann
    [robh: corrected BUILTIN_DTB to CONFIG_BUILTIN_DTB]
    Signed-off-by: Rob Herring

    Masahiro Yamada
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

21 Aug, 2017

1 commit

  • This definition in Makefile.dtbinst:

    export dtbinst-root ?= $(obj)

    should define and export dtbinst-root when handling the root dts
    directory, and do nothing in the subdirectories. However some shells,
    including dash, will not pass through environment variables whose name
    includes a hyphen. Usually GNU make does not use a shell to recurse,
    but if e.g. $(srctree) contains '~' it will use a shell here.

    Rename the variable to dtbinst_root.

    References: https://bugs.debian.org/833561
    Fixes: 323a028d39cdi ("dts, kbuild: Implement support for dtb vendor subdirs")
    Signed-off-by: Ben Hutchings
    Signed-off-by: Masahiro Yamada

    Ben Hutchings
     

08 May, 2017

1 commit


28 Jan, 2016

1 commit

  • No other kernel installation target moves the target directory out of
    the way, even deleting an old version of it. These are destructive
    operations, ones which the kernel build system should not be making.

    This behaviour prevents being able to do:

    make install INSTALL_PATH=/some/path/boot
    make dtbs_install INSTALL_DTBS_PATH=/some/path/boot

    As it causes the boot directory containing the kernel installed in
    step 1 to be moved to /some/path/boot.old. Things get even more fun
    if you do:

    make install dtbs_install INSTALL_PATH=/some/path/boot INSTALL_DTBS_PATH=/some/path/boot

    The kernel gets installed into /some/path/boot, then the directory gets
    renamed to /some/path/boot.old, and a new directory created to hold the
    dtbs. Even more fun if you supply -j2 when we end up with races in
    make.

    Remove this behaviour.

    If this behaviour is required at installation time, this should be
    done by the installation external to the kernel makefiles, just like
    it would be done for 'make modules_install'.

    Signed-off-by: Russell King
    Acked-by: Jason Cooper
    Acked-by: Rob Herring
    Signed-off-by: Michal Marek

    Russell King
     

02 Apr, 2015

2 commits


22 Oct, 2014

2 commits

  • This patch adds support of vendor sub directories for dtb files.
    Subdirectories can be specified in $(dts-dirs). Kbuild traverses over
    all directories while building and installing dtb files. The directory
    tree is also reflected in the install path.

    Tested-by: Andrew Bresticker
    Signed-off-by: Robert Richter

    Robert Richter
     
  • Move dtbs install rules to Makefile.dtbinst. This change is needed to
    implement support for dts vendor subdirs. The change makes Makefiles
    easier and smaller as no longer the dtbs_install rule needs to be
    defined. Another advantage is that install goals are not encoded in
    targets anymore (%.dtb_dtbinst_).

    Signed-off-by: Robert Richter

    Robert Richter