04 Nov, 2020

1 commit

  • Pull documentation fixes from Jonathan Corbet:
    "A small number of fixes, plus a build tweak to respect the desire for
    silence in V=0 builds"

    * tag 'docs-5.10-3' of git://git.lwn.net/linux:
    docs: fix automarkup regression on Python 2
    documentation: arm: sunxi: add Allwinner H6 documents
    scripts: kernel-doc: split typedef complex regex
    scripts: kernel-doc: fix typedef parsing
    docs: Makefile: honor V=0 for docs building

    Linus Torvalds
     

30 Oct, 2020

1 commit

  • The files under Documentation/ABI should follow the syntax
    as defined at Documentation/ABI/README.

    Allow checking if they're following the syntax by running
    the ABI parser script on COMPILE_TEST.

    With that, when there's a problem with a file under
    Documentation/ABI, it would produce a warning like:

    Warning: file ./Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats#14:
    What '/sys/bus/pci/devices//aer_stats/aer_rootport_total_err_cor' doesn't have a description
    Warning: file ./Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats#21:
    What '/sys/bus/pci/devices//aer_stats/aer_rootport_total_err_fatal' doesn't have a description

    Acked-by: Jonathan Corbet
    Signed-off-by: Mauro Carvalho Chehab
    Link: https://lore.kernel.org/r/57a38de85cb4b548857207cf1fc1bf1ee08613c9.1604042072.git.mchehab+huawei@kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Mauro Carvalho Chehab
     

29 Oct, 2020

1 commit


04 Jun, 2020

1 commit

  • Pull media updates from Mauro Carvalho Chehab:

    - Media documentation is now split into admin-guide, driver-api and
    userspace-api books (a longstanding request from Jon);

    - The media Kconfig was reorganized, in order to make easier to select
    drivers and their dependencies;

    - The testing drivers now has a separate directory;

    - added a new driver for Rockchip Video Decoder IP;

    - The atomisp staging driver was resurrected. It is meant to work with
    4 generations of cameras on Atom-based laptops, tablets and cell
    phones. So, it seems worth investing time to cleanup this driver and
    making it in good shape.

    - Added some V4L2 core ancillary routines to help with h264 codecs;

    - Added an ov2740 image sensor driver;

    - The si2157 gained support for Analog TV, which, in turn, added
    support for some cx231xx and cx23885 boards to also support analog
    standards;

    - Added some V4L2 controls (V4L2_CID_CAMERA_ORIENTATION and
    V4L2_CID_CAMERA_SENSOR_ROTATION) to help identifying where the camera
    is located at the device;

    - VIDIOC_ENUM_FMT was extended to support MC-centric devices;

    - Lots of drivers improvements and cleanups.

    * tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (503 commits)
    media: Documentation: media: Refer to mbus format documentation from CSI-2 docs
    media: s5k5baf: Replace zero-length array with flexible-array
    media: i2c: imx219: Drop and
    media: i2c: Add ov2740 image sensor driver
    media: ov8856: Implement sensor module revision identification
    media: ov8856: Add devicetree support
    media: dt-bindings: ov8856: Document YAML bindings
    media: dvb-usb: Add Cinergy S2 PCIe Dual Port support
    media: dvbdev: Fix tuner->demod media controller link
    media: dt-bindings: phy: phy-rockchip-dphy-rx0: move rockchip dphy rx0 bindings out of staging
    media: staging: dt-bindings: phy-rockchip-dphy-rx0: remove non-used reg property
    media: atomisp: unify the version for isp2401 a0 and b0 versions
    media: atomisp: update TODO with the current data
    media: atomisp: adjust some code at sh_css that could be broken
    media: atomisp: don't produce errs for ignored IRQs
    media: atomisp: print IRQ when debugging
    media: atomisp: isp_mmu: don't use kmem_cache
    media: atomisp: add a notice about possible leak resources
    media: atomisp: disable the dynamic and reserved pools
    media: atomisp: turn on camera before setting it
    ...

    Linus Torvalds
     

21 Apr, 2020

1 commit

  • The Sphinx build system for PDF is too complex and generate
    lots of ancillary files, including one PDF file for each
    image.

    So, at the end, the main latex dir has 156 pdf files, instead
    of the 71 ones that would match each generated book. That's
    confusing and it makes harder to identify when something didn't
    work.

    So, instead, let's move the final PDF output(s) to a separate
    dir. This way, the latex/ dir will have the temporary and the
    final *.tex files, while the final pdf files that built ok
    will be under the pdf/ directory.

    Signed-off-by: Mauro Carvalho Chehab
    Link: https://lore.kernel.org/r/832752cbc9678a6e8d3d634bc3356d655d44684f.1586881715.git.mchehab+huawei@kernel.org
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

14 Apr, 2020

1 commit

  • Since 2017, there is an space reserved for userspace API,
    created by changeset 1d596dee3862 ("docs: Create a user-space API guide").

    As the media subsystem was one of the first subsystems to use
    Sphinx, until this patch, we were keeping things on a separate
    place.

    Let's just use the new location, as having all uAPI altogether
    will likely make things easier for developers.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

01 Apr, 2020

1 commit

  • Pull Kbuild updates from Masahiro Yamada:
    "Build system:

    - add CONFIG_UNUSED_KSYMS_WHITELIST, which will be useful to define a
    fixed set of export symbols for Generic Kernel Image (GKI)

    - allow to run 'make dt_binding_check' without .config

    - use full schema for checking DT examples in *.yaml files

    - make modpost fail for missing MODULE_IMPORT_NS(), which makes more
    sense because we know the produced modules are never loadable

    - Remove unused 'AS' variable

    Kconfig:

    - sanitize DEFCONFIG_LIST, and remove ARCH_DEFCONFIG from Kconfig
    files

    - relax the 'imply' behavior so that symbols implied by 'y' can
    become 'm'

    - make 'imply' obey 'depends on' in order to make 'imply' really weak

    Misc:

    - add documentation on building the kernel with Clang/LLVM

    - revive __HAVE_ARCH_STRLEN for 32bit sparc to use optimized strlen()

    - fix warning from deb-pkg builds when CONFIG_DEBUG_INFO=n

    - various script and Makefile cleanups"

    * tag 'kbuild-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (34 commits)
    Makefile: Update kselftest help information
    kbuild: deb-pkg: fix warning when CONFIG_DEBUG_INFO is unset
    kbuild: add outputmakefile to no-dot-config-targets
    kbuild: remove AS variable
    net: wan: wanxl: refactor the firmware rebuild rule
    net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) for rebuilding firmware
    net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware
    kbuild: add comment about grouped target
    kbuild: add -Wall to KBUILD_HOSTCXXFLAGS
    kconfig: remove unused variable in qconf.cc
    sparc: revive __HAVE_ARCH_STRLEN for 32bit sparc
    kbuild: refactor Makefile.dtbinst more
    kbuild: compute the dtbs_install destination more simply
    Makefile: disallow data races on gcc-10 as well
    kconfig: make 'imply' obey the direct dependency
    kconfig: allow symbols implied by y to become m
    net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report()
    modpost: return error if module is missing ns imports and MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS=n
    modpost: rework and consolidate logging interface
    kbuild: allow to run dt_binding_check without kernel configuration
    ...

    Linus Torvalds
     

03 Mar, 2020

1 commit

  • obj-* needs a trailing slash for a directory, but subdir-* does not
    because it already implies a directory.

    Also, change subdir-y to subdir- to ensure this is effective only
    for cleaning targets.

    This makes the cleaning log consistent. (no trailing slash)

    Before:

    $ make clean
    CLEAN Documentation/devicetree/bindings/

    After:

    $ make clean
    CLEAN Documentation/devicetree/bindings

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

19 Feb, 2020

1 commit


03 Dec, 2019

1 commit

  • Pull Kbuild updates from Masahiro Yamada:

    - remove unneeded asm headers from hexagon, ia64

    - add 'dir-pkg' target, which works like 'tar-pkg' but skips archiving

    - add 'helpnewconfig' target, which shows help for new CONFIG options

    - support 'make nsdeps' for external modules

    - make rebuilds faster by deleting $(wildcard $^) checks

    - remove compile tests for kernel-space headers

    - refactor modpost to simplify modversion handling

    - make single target builds faster

    - optimize and clean up scripts/kallsyms.c

    - refactor various Makefiles and scripts

    * tag 'kbuild-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (59 commits)
    MAINTAINERS: update Kbuild/Kconfig maintainer's email address
    scripts/kallsyms: remove redundant initializers
    scripts/kallsyms: put check_symbol_range() calls close together
    scripts/kallsyms: make check_symbol_range() void function
    scripts/kallsyms: move ignored symbol types to is_ignored_symbol()
    scripts/kallsyms: move more patterns to the ignored_prefixes array
    scripts/kallsyms: skip ignored symbols very early
    scripts/kallsyms: add const qualifiers where possible
    scripts/kallsyms: make find_token() return (unsigned char *)
    scripts/kallsyms: replace prefix_underscores_count() with strspn()
    scripts/kallsyms: add sym_name() to mitigate cast ugliness
    scripts/kallsyms: remove unneeded length check for prefix matching
    scripts/kallsyms: remove redundant is_arm_mapping_symbol()
    scripts/kallsyms: set relative_base more effectively
    scripts/kallsyms: shrink table before sorting it
    scripts/kallsyms: fix definitely-lost memory leak
    scripts/kallsyms: remove unneeded #ifndef ARRAY_SIZE
    kbuild: make single target builds even faster
    modpost: respect the previous export when 'exported twice' is warned
    modpost: do not set ->preloaded for symbols from Module.symvers
    ...

    Linus Torvalds
     

23 Nov, 2019

1 commit

  • Rasmus correctly observed that the existing jobserver reservation only
    worked if no other build targets were specified. The correct approach
    is to hold the jobserver slots until sphinx has finished. To fix this,
    the following changes are made:

    - refactor (and rename) scripts/jobserver-exec to set an environment
    variable for the maximally reserved jobserver slots and exec a
    child, to release the slots on exit.

    - create Documentation/scripts/parallel-wrapper.sh which examines both
    $PARALLELISM and the detected "-jauto" logic from Documentation/Makefile
    to decide sphinx's final -j argument.

    - chain these together in Documentation/Makefile

    Suggested-by: Rasmus Villemoes
    Link: https://lore.kernel.org/lkml/eb25959a-9ec4-3530-2031-d9d716b40b20@rasmusvillemoes.dk
    Signed-off-by: Kees Cook
    Link: https://lore.kernel.org/r/20191121205929.40371-4-keescook@chromium.org
    Signed-off-by: Jonathan Corbet

    Kees Cook
     

11 Nov, 2019

1 commit


11 Oct, 2019

1 commit

  • Commit 9fc3a18a942f ("docs: remove extra conf.py files") broke the setting
    of _SPHINXDIRS in Documentation/Makefile. Let's just have it look for an
    index.rst file instead.

    Fixes: 9fc3a18a942f ("docs: remove extra conf.py files")
    Reported-by: Randy Dunlap
    Tested-by: Randy Dunlap
    Signed-off-by: Jonathan Corbet

    Jonathan Corbet
     

01 Oct, 2019

1 commit

  • While sphinx 1.7 and later supports "-jauto" for parallelism, this
    effectively ignores the "-j" flag used in the "make" invocation, which
    may cause confusion for build systems. Instead, extract the available
    parallelism from "make"'s job server (since it is not exposed in any
    special variables) and use that for the "sphinx-build" run. Now things
    work correctly for builds where -j is specified at the top-level:

    make -j16 htmldocs

    If -j is not specified, continue to fallback to "-jauto" if available.

    Signed-off-by: Kees Cook
    Signed-off-by: Jonathan Corbet

    Kees Cook
     

08 Jun, 2019

1 commit


04 Jun, 2019

1 commit


01 Jun, 2019

1 commit

  • Recent makefile changes included an invocation of
    ./scripts/sphinx-pre-install. Unfortunately, that fails when a separate
    build directory is in use with:

    /bin/bash: ./scripts/sphinx-pre-install: No such file or directory

    Use $(srctree) to fully specify the location of this script.

    Signed-off-by: Jonathan Corbet

    Jonathan Corbet
     

31 May, 2019

2 commits

  • Since Sphinx version 1.7, it is possible to use "-jauto" in
    order to speedup documentation builds. On older versions,
    while -j was already supported, one would need to set the
    number of threads manually.

    So, if SPHINXOPTS is not provided, add -jauto, in order to
    speed up the build. That makes it *a lot* times faster than
    without -j.

    If one really wants to slow things down, it can just use:

    make SPHINXOPTS=-j1 htmldocs

    Signed-off-by: Mauro Carvalho Chehab
    [ jc: fixed perl magic to determine sphinx version ]
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Call the script every time a make docs target is selected, on
    a simplified check mode.

    With this change, the script will set two vars:

    $min_version - obtained from `needs_sphinx` var inside
    conf.py (currently, '1.3')

    $rec_version - obtained from sphinx/requirements.txt.

    With those changes, a target like "make htmldocs" will do:

    1) If no sphinx-build/sphinx-build3 is found, it will run
    the script on normal mode as before, checking for all
    system dependencies and providing install hints for the
    needed programs and will abort the build;

    2) If no sphinx-build/sphinx-build3 is found, but there is
    a sphinx_${VER}/bin/activate file, and if
    ${VER} >= $min_version (string comparation), it will
    run in full mode, and will recommend to activate the
    virtualenv. If there are multiple virtualenvs, it
    will string sort the versions, recommending the
    highest version and will abort the build;

    3) If Sphinx is detected but has a version lower than
    $min_version, it will run in full mode - with will
    recommend creating a virtual env using sphinx/requirements.txt,
    and will abort the build.

    4) If Sphinx is detected and version is lower than
    $rec_version, it will run in full mode and will
    recommend creating a virtual env using sphinx/requirements.txt.

    In this case, it **won't** abort the build.

    5) If Sphinx is detected and version is equal or righer than
    $rec_version it will return just after detecting the
    version ("quick mode"), not checking if are there any
    missing dependencies.

    Just like before, if one wants to install Sphinx from the
    distro, it has to call the script manually and use `--no-virtualenv`
    argument to get the hints for his OS:

    You should run:

    sudo dnf install -y python3-sphinx python3-sphinx_rtd_theme

    While here, add a small help for the three optional arguments
    for the script.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

02 Apr, 2019

1 commit

  • In the past, Sphinx was generating a LaTex Makefile that would
    run xelatex 3 times. Running it multiple times is needed in order
    to make the indexes right.

    However, newer versions of it runs it just once, as it expects
    the machine to use the "latexmk" build, with automatically
    detects the need for rebuilds.

    So, add a logic at the Makefile in order to detect if latexmk
    is installed. If so, it will call it.

    As an additional bonus, the output of latexmk is a little bit
    better, making easier to identify build problems.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

13 Dec, 2018

1 commit

  • This adds the build infrastructure for checking DT binding schema
    documents and validating dts files using the binding schema.

    Check DT binding schema documents:
    make dt_binding_check

    Build dts files and check using DT binding schema:
    make dtbs_check

    Optionally, DT_SCHEMA_FILES can be passed in with a schema file(s) to
    use for validation. This makes it easier to find and fix errors
    generated by a specific schema.

    Currently, the validation targets are separate from a normal build to
    avoid a hard dependency on the external DT schema project and because
    there are lots of warnings generated.

    Cc: Jonathan Corbet
    Cc: Mark Rutland
    Acked-by: Masahiro Yamada
    Cc: Michal Marek
    Cc: linux-doc@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kbuild@vger.kernel.org
    Signed-off-by: Rob Herring

    Rob Herring
     

13 Oct, 2017

2 commits


25 Aug, 2017

1 commit


24 Jul, 2017

1 commit


16 May, 2017

1 commit


10 Oct, 2016

1 commit

  • Move blackfin gptimers-example to samples and remove it from Documentation
    Makefile. Update samples Kconfig and Makefile to build gptimers-example.

    blackfin is the last CONFIG_BUILD_DOCSRC target in Documentation/Makefile.
    Hence this patch also includes changes to remove CONFIG_BUILD_DOCSRC from
    Makefile and lib/Kconfig.debug and updates VIDEO_PCI_SKELETON dependency
    on BUILD_DOCSRC.

    Documentation/Makefile is not deleted to avoid braking make htmldocs and
    make distclean.

    Acked-by: Michal Marek
    Acked-by: Jonathan Corbet
    Reviewed-by: Kees Cook
    Reported-by: Valentin Rothberg
    Reported-by: Paul Gortmaker
    Signed-off-by: Shuah Khan

    Shuah Khan
     

24 Sep, 2016

7 commits

  • Move pcmcia crc32hash tool from Documentation to tools/pcmcia and
    remove it from Documentation Makefile. Update location information
    for this tool. Create a new Makefile to build pcmcia. It can be built
    from top level directory or from pcmcia directory:

    Run make -C tools/pcmcia or cd tools/pcmcia; make

    Acked-by: Dominik Brodowski
    Acked-by: Greg Kroah-Hartman
    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move laptops dslm tool to tools/laptop/dslm and remove it from
    Documentation Makefile. Update location information for this
    tool. Create a new Makefile to build dslm. It can be built
    from top level directory or from laptops directory:

    Run make -C tools/laptop/dslm or cd tools/laptop/dslm; make

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move accounting tool to tools and remove it from Documentation
    Makefile. Update location information for this tool. Create a
    new Makefile to build accounting. It can be built from top level
    directory or from accounting directory:

    Run make -C tools/accounting or cd tools/accounting; make

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move auxdisplay examples to samples and remove it from Documentation
    Makefile. Create a new Makefile to build auxdisplay. It can be built
    from top level directory or from auxdisplay directory:

    Run make -C samples/auxdisplay or cd samples/auxdisplay; make

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move watchdog examples to samples and remove it from Documentation
    Makefile. Create a new Makefile to build watchdog. It can be built
    from top level directory or from watchdog directory:

    Run make -C samples/watchdog or cd samples/watchdog; make

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move timers examples to samples and remove it from Documentation
    Makefile. Create a new Makefile to build timers. It can be built
    from top level directory or from timers directory:

    Run make -C samples/timers or cd samples/timers; make

    Acked-by: Jonathan Corbet
    Acked-by: Clemens Ladisch
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move misc-devices/mei examples to samples/mei and remove it from
    Documentation Makefile. Delete misc-devices/Makefile.

    Create a new Makefile to build samples/mei. It can be built from top
    level directory or from mei directory:

    Run make -C samples/mei or cd samples/mei; make

    Acked-by: Jonathan Corbet
    Acked-by: Greg Kroah-Hartman
    Acked-by: Tomas Winkler
    Signed-off-by: Shuah Khan

    Shuah Khan
     

21 Sep, 2016

1 commit

  • Move mic/mpssd examples to samples and remove it from Documentation
    Makefile. Create a new Makefile to build mic/mpssd. It can be built
    from top level directory or from mic/mpssd directory:

    Run make -C samples/mic/mpssd or cd samples/mic/mpssd; make

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     

20 Sep, 2016

5 commits

  • Remove networking from Documentation Makefile to move the test to
    selftests. Update networking/timestamping Makefile to work under
    selftests. These tests will not be run as part of selftests suite
    and will not be included in install targets. They can be built and
    run separately for now.

    This is part of the effort to move runnable code from Documentation.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Remove ia64 from Makefile to move the test to selftests.

    Update ia64 Makefile to work under selftests. ia64 will not be run as part
    of selftests suite and will not be included in install targets. They can be
    built separately for now.

    The original Makefile built this test on all archirectures and this update
    doesn't change that.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Remove vDSO from Makefile to move the to selftests. Update vDSO Makefile
    to work under selftests. vDSO will not be run as part of selftests suite
    and will not be included in install targets. They can be built separately
    for now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Remove ptp from Makefile to move the test to selftests. Update ptp Makefile
    to work under selftests. ptp will not be run as part of selftests suite and
    will not be included in install targets. They can be built separately for
    now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move prctl tests from Documentation/prctl to selftests/prctl.

    Remove prctl from Makefile to move the test. Update prctl Makefile to work
    under selftests. prctl will not be run as part of selftests suite and will
    not be included in install targets. They can be built separately for now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan