26 Nov, 2020

4 commits


24 Oct, 2020

1 commit

  • Pull documentation fixes from Jonathan Corbet:
    "A handful of late-arriving documentation fixes"

    * tag 'docs-5.10-2' of git://git.lwn.net/linux:
    docs: Add two missing entries in vm sysctl index
    docs/vm: trivial fixes to several spelling mistakes
    docs: submitting-patches: describe preserving review/test tags
    Documentation: Chinese translation of Documentation/arm64/hugetlbpage.rst
    Documentation: x86: fix a missing word in x86_64/mm.rst.
    docs: driver-api: remove a duplicated index entry
    docs: lkdtm: Modernize and improve details
    docs: deprecated.rst: Expand str*cpy() replacement notes
    docs/cpu-load: format the example code.

    Linus Torvalds
     

22 Oct, 2020

1 commit

  • The ipmb file was added twice at index.rst. That
    sounds to be because the same patch was applied twice,
    via different git trees:

    commit f6ae22d64433fd8e08654adad7966299da931bb9
    Author: Mauro Carvalho Chehab
    Commit: Jonathan Corbet

    docs: ipmb: place it at driver-api and convert to ReST

    commit ac499fba98c3c65078fd84fa0a62cd6f6d5837ed
    Author: Mauro Carvalho Chehab
    Commit: Corey Minyard

    docs: ipmb: place it at driver-api and convert to ReST

    With Sphinx 4.0.0 development tree, a new warning is produced
    due to that:

    .../Documentation/driver-api/index.rst:14: WARNING: duplicated entry found in toctree: driver-api/ipmb

    The fix is trivial: just drop the duplicated line.

    Fixes: f6ae22d64433 ("docs: ipmb: place it at driver-api and convert to ReST")
    Fixes: ac499fba98c3 ("docs: ipmb: place it at driver-api and convert to ReST")
    Signed-off-by: Mauro Carvalho Chehab
    Link: https://lore.kernel.org/r/623fb26a8409a7b002e45bdbb6f517ac08fd508a.1602753121.git.mchehab+huawei@kernel.org
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

17 Oct, 2020

1 commit

  • Pull documentation updates from Mauro Carvalho Chehab:
    "A series of patches addressing warnings produced by make htmldocs.
    This includes:

    - kernel-doc markup fixes

    - ReST fixes

    - Updates at the build system in order to support newer versions of
    the docs build toolchain (Sphinx)

    After this series, the number of html build warnings should reduce
    significantly, and building with Sphinx 3.1 or later should now be
    supported (although it is still recommended to use Sphinx 2.4.4).

    As agreed with Jon, I should be sending you a late pull request by the
    end of the merge window addressing remaining issues with docs build,
    as there are a number of warning fixes that depends on pull requests
    that should be happening along the merge window.

    The end goal is to have a clean htmldocs build on Kernel 5.10.

    PS. It should be noticed that Sphinx 3.0 is not currently supported,
    as it lacks support for C domain namespaces. Such feature, needed in
    order to document uAPI system calls with Sphinx 3.x, was added only on
    Sphinx 3.1"

    * tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (75 commits)
    PM / devfreq: remove a duplicated kernel-doc markup
    mm/doc: fix a literal block markup
    workqueue: fix a kernel-doc warning
    docs: virt: user_mode_linux_howto_v2.rst: fix a literal block markup
    Input: sparse-keymap: add a description for @sw
    rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu
    nl80211: docs: add a description for s1g_cap parameter
    usb: docs: document altmode register/unregister functions
    kunit: test.h: fix a bad kernel-doc markup
    drivers: core: fix kernel-doc markup for dev_err_probe()
    docs: bio: fix a kerneldoc markup
    kunit: test.h: solve kernel-doc warnings
    block: bio: fix a warning at the kernel-doc markups
    docs: powerpc: syscall64-abi.rst: fix a malformed table
    drivers: net: hamradio: fix document location
    net: appletalk: Kconfig: Fix docs location
    dt-bindings: fix references to files converted to yaml
    memblock: get rid of a :c:type leftover
    math64.h: kernel-docs: Convert some markups into normal comments
    media: uAPI: buffer.rst: remove a left-over documentation
    ...

    Linus Torvalds
     

16 Oct, 2020

3 commits

  • Pull networking updates from Jakub Kicinski:

    - Add redirect_neigh() BPF packet redirect helper, allowing to limit
    stack traversal in common container configs and improving TCP
    back-pressure.

    Daniel reports ~10Gbps => ~15Gbps single stream TCP performance gain.

    - Expand netlink policy support and improve policy export to user
    space. (Ge)netlink core performs request validation according to
    declared policies. Expand the expressiveness of those policies
    (min/max length and bitmasks). Allow dumping policies for particular
    commands. This is used for feature discovery by user space (instead
    of kernel version parsing or trial and error).

    - Support IGMPv3/MLDv2 multicast listener discovery protocols in
    bridge.

    - Allow more than 255 IPv4 multicast interfaces.

    - Add support for Type of Service (ToS) reflection in SYN/SYN-ACK
    packets of TCPv6.

    - In Multi-patch TCP (MPTCP) support concurrent transmission of data on
    multiple subflows in a load balancing scenario. Enhance advertising
    addresses via the RM_ADDR/ADD_ADDR options.

    - Support SMC-Dv2 version of SMC, which enables multi-subnet
    deployments.

    - Allow more calls to same peer in RxRPC.

    - Support two new Controller Area Network (CAN) protocols - CAN-FD and
    ISO 15765-2:2016.

    - Add xfrm/IPsec compat layer, solving the 32bit user space on 64bit
    kernel problem.

    - Add TC actions for implementing MPLS L2 VPNs.

    - Improve nexthop code - e.g. handle various corner cases when nexthop
    objects are removed from groups better, skip unnecessary
    notifications and make it easier to offload nexthops into HW by
    converting to a blocking notifier.

    - Support adding and consuming TCP header options by BPF programs,
    opening the doors for easy experimental and deployment-specific TCP
    option use.

    - Reorganize TCP congestion control (CC) initialization to simplify
    life of TCP CC implemented in BPF.

    - Add support for shipping BPF programs with the kernel and loading
    them early on boot via the User Mode Driver mechanism, hence reusing
    all the user space infra we have.

    - Support sleepable BPF programs, initially targeting LSM and tracing.

    - Add bpf_d_path() helper for returning full path for given 'struct
    path'.

    - Make bpf_tail_call compatible with bpf-to-bpf calls.

    - Allow BPF programs to call map_update_elem on sockmaps.

    - Add BPF Type Format (BTF) support for type and enum discovery, as
    well as support for using BTF within the kernel itself (current use
    is for pretty printing structures).

    - Support listing and getting information about bpf_links via the bpf
    syscall.

    - Enhance kernel interfaces around NIC firmware update. Allow
    specifying overwrite mask to control if settings etc. are reset
    during update; report expected max time operation may take to users;
    support firmware activation without machine reboot incl. limits of
    how much impact reset may have (e.g. dropping link or not).

    - Extend ethtool configuration interface to report IEEE-standard
    counters, to limit the need for per-vendor logic in user space.

    - Adopt or extend devlink use for debug, monitoring, fw update in many
    drivers (dsa loop, ice, ionic, sja1105, qed, mlxsw, mv88e6xxx,
    dpaa2-eth).

    - In mlxsw expose critical and emergency SFP module temperature alarms.
    Refactor port buffer handling to make the defaults more suitable and
    support setting these values explicitly via the DCBNL interface.

    - Add XDP support for Intel's igb driver.

    - Support offloading TC flower classification and filtering rules to
    mscc_ocelot switches.

    - Add PTP support for Marvell Octeontx2 and PP2.2 hardware, as well as
    fixed interval period pulse generator and one-step timestamping in
    dpaa-eth.

    - Add support for various auth offloads in WiFi APs, e.g. SAE (WPA3)
    offload.

    - Add Lynx PHY/PCS MDIO module, and convert various drivers which have
    this HW to use it. Convert mvpp2 to split PCS.

    - Support Marvell Prestera 98DX3255 24-port switch ASICs, as well as
    7-port Mediatek MT7531 IP.

    - Add initial support for QCA6390 and IPQ6018 in ath11k WiFi driver,
    and wcn3680 support in wcn36xx.

    - Improve performance for packets which don't require much offloads on
    recent Mellanox NICs by 20% by making multiple packets share a
    descriptor entry.

    - Move chelsio inline crypto drivers (for TLS and IPsec) from the
    crypto subtree to drivers/net. Move MDIO drivers out of the phy
    directory.

    - Clean up a lot of W=1 warnings, reportedly the actively developed
    subsections of networking drivers should now build W=1 warning free.

    - Make sure drivers don't use in_interrupt() to dynamically adapt their
    code. Convert tasklets to use new tasklet_setup API (sadly this
    conversion is not yet complete).

    * tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2583 commits)
    Revert "bpfilter: Fix build error with CONFIG_BPFILTER_UMH"
    net, sockmap: Don't call bpf_prog_put() on NULL pointer
    bpf, selftest: Fix flaky tcp_hdr_options test when adding addr to lo
    bpf, sockmap: Add locking annotations to iterator
    netfilter: nftables: allow re-computing sctp CRC-32C in 'payload' statements
    net: fix pos incrementment in ipv6_route_seq_next
    net/smc: fix invalid return code in smcd_new_buf_create()
    net/smc: fix valid DMBE buffer sizes
    net/smc: fix use-after-free of delayed events
    bpfilter: Fix build error with CONFIG_BPFILTER_UMH
    cxgb4/ch_ipsec: Replace the module name to ch_ipsec from chcr
    net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info
    bpf: Fix register equivalence tracking.
    rxrpc: Fix loss of final ack on shutdown
    rxrpc: Fix bundle counting for exclusive connections
    netfilter: restore NF_INET_NUMHOOKS
    ibmveth: Identify ingress large send packets.
    ibmveth: Switch order of ibmveth_helper calls.
    cxgb4: handle 4-tuple PEDIT to NAT mode translation
    selftests: Add VRF route leaking tests
    ...

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Not a major amount of change, the i915 trees got split into display
    and gt trees to better facilitate higher level review, and there's a
    major refactoring of i915 GEM locking to use more core kernel concepts
    (like ww-mutexes). msm gets per-process pagetables, older AMD SI cards
    get DC support, nouveau got a bump in displayport support with common
    code extraction from i915.

    Outside of drm this contains a couple of patches for hexint
    moduleparams which you've acked, and a virtio common code tree that
    you should also get via it's regular path.

    New driver:
    - Cadence MHDP8546 DisplayPort bridge driver

    core:
    - cross-driver scatterlist cleanups
    - devm_drm conversions
    - remove drm_dev_init
    - devm_drm_dev_alloc conversion

    ttm:
    - lots of refactoring and cleanups

    bridges:
    - chained bridge support in more drivers

    panel:
    - misc new panels

    scheduler:
    - cleanup priority levels

    displayport:
    - refactor i915 code into helpers for nouveau

    i915:
    - split into display and GT trees
    - WW locking refactoring in GEM
    - execbuf2 extension mechanism
    - syncobj timeline support
    - GEN 12 HOBL display powersaving
    - Rocket Lake display additions
    - Disable FBC on Tigerlake
    - Tigerlake Type-C + DP improvements
    - Hotplug interrupt refactoring

    amdgpu:
    - Sienna Cichlid updates
    - Navy Flounder updates
    - DCE6 (SI) support for DC
    - Plane rotation enabled
    - TMZ state info ioctl
    - PCIe DPC recovery support
    - DC interrupt handling refactor
    - OLED panel fixes

    amdkfd:
    - add SMI events for thermal throttling
    - SMI interface events ioctl update
    - process eviction counters

    radeon:
    - move to dma_ for allocations
    - expose sclk via sysfs

    msm:
    - DSI support for sm8150/sm8250
    - per-process GPU pagetable support
    - Displayport support

    mediatek:
    - move HDMI phy driver to PHY
    - convert mtk-dpi to bridge API
    - disable mt2701 tmds

    tegra:
    - bridge support

    exynos:
    - misc cleanups

    vc4:
    - dual display cleanups

    ast:
    - cleanups

    gma500:
    - conversion to GPIOd API

    hisilicon:
    - misc reworks

    ingenic:
    - clock handling and format improvements

    mcde:
    - DSI support

    mgag200:
    - desktop g200 support

    mxsfb:
    - i.MX7 + i.MX8M
    - alpha plane support

    panfrost:
    - devfreq support
    - amlogic SoC support

    ps8640:
    - EDID from eDP retrieval

    tidss:
    - AM65xx YUV workaround

    virtio:
    - virtio-gpu exported resources

    rcar-du:
    - R8A7742, R8A774E1 and R8A77961 support
    - YUV planar format fixes
    - non-visible plane handling
    - VSP device reference count fix
    - Kconfig fix to avoid displaying disabled options in .config"

    * tag 'drm-next-2020-10-15' of git://anongit.freedesktop.org/drm/drm: (1494 commits)
    drm/ingenic: Fix bad revert
    drm/amdgpu: Fix invalid number of character '{' in amdgpu_acpi_init
    drm/amdgpu: Remove warning for virtual_display
    drm/amdgpu: kfd_initialized can be static
    drm/amd/pm: setup APU dpm clock table in SMU HW initialization
    drm/amdgpu: prevent spurious warning
    drm/amdgpu/swsmu: fix ARC build errors
    drm/amd/display: Fix OPTC_DATA_FORMAT programming
    drm/amd/display: Don't allow pstate if no support in blank
    drm/panfrost: increase readl_relaxed_poll_timeout values
    MAINTAINERS: Update entry for st7703 driver after the rename
    Revert "gpu/drm: ingenic: Add option to mmap GEM buffers cached"
    drm/amd/display: HDMI remote sink need mode validation for Linux
    drm/amd/display: Change to correct unit on audio rate
    drm/amd/display: Avoid set zero in the requested clk
    drm/amdgpu: align frag_end to covered address space
    drm/amdgpu: fix NULL pointer dereference for Renoir
    drm/vmwgfx: fix regression in thp code due to ttm init refactor.
    drm/amdgpu/swsmu: add interrupt work handler for smu11 parts
    drm/amdgpu/swsmu: add interrupt work function
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char, misc, and other assorted driver subsystem
    patches for 5.10-rc1.

    There's a lot of different things in here, all over the drivers/
    directory. Some summaries:

    - soundwire driver updates

    - habanalabs driver updates

    - extcon driver updates

    - nitro_enclaves new driver

    - fsl-mc driver and core updates

    - mhi core and bus updates

    - nvmem driver updates

    - eeprom driver updates

    - binder driver updates and fixes

    - vbox minor bugfixes

    - fsi driver updates

    - w1 driver updates

    - coresight driver updates

    - interconnect driver updates

    - misc driver updates

    - other minor driver updates

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (396 commits)
    binder: fix UAF when releasing todo list
    docs: w1: w1_therm: Fix broken xref, mistakes, clarify text
    misc: Kconfig: fix a HISI_HIKEY_USB dependency
    LSM: Fix type of id parameter in kernel_post_load_data prototype
    misc: Kconfig: add a new dependency for HISI_HIKEY_USB
    firmware_loader: fix a kernel-doc markup
    w1: w1_therm: make w1_poll_completion static
    binder: simplify the return expression of binder_mmap
    test_firmware: Test partial read support
    firmware: Add request_partial_firmware_into_buf()
    firmware: Store opt_flags in fw_priv
    fs/kernel_file_read: Add "offset" arg for partial reads
    IMA: Add support for file reads without contents
    LSM: Add "contents" flag to kernel_read_file hook
    module: Call security_kernel_post_load_data()
    firmware_loader: Use security_post_load_data()
    LSM: Introduce kernel_post_load_data() hook
    fs/kernel_read_file: Add file_size output argument
    fs/kernel_read_file: Switch buffer size arg to size_t
    fs/kernel_read_file: Remove redundant size argument
    ...

    Linus Torvalds
     

15 Oct, 2020

18 commits

  • The typec_bus.rst asks for documentation of those two
    functions, but they don't exist:

    ./drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not found
    ./drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found

    Also, they're not declared on bus.c but, instead, at a header
    file (typec_altmode.h).

    So, add documentation for both functions at the header and
    change the kernel-doc markup under typec_bus.rst to point
    to the right place.

    While here, also place the documentation for both structs
    declared on typec_altmode.h at the rst file.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • This is already documented at device_link.rst, causing this
    warning, due to a broken cross-reference:

    .../Documentation/driver-api/device_link.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/infrastructure'.
    Declaration is 'device_link_state'.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • pci_device_id is already documented at pci.rst:

    ./Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'PCI/pci'.
    Declaration is 'pci_device_id'.

    The kstrtol and kstrtoul are already at kernel-api:

    ./Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/kernel-api'.
    Declaration is 'kstrtoul'.
    ./Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/kernel-api'.
    Declaration is 'kstrtol'.

    And the printk is already defined at printk-basics:

    ./Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/printk-basics'.
    Declaration is 'printk'.

    So, exclude those identifiers from basirs.rst.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Sphinx 3.x doesn't allow expressions using :c:func markup:

    ./Documentation/driver-api/mei/mei.rst:41: WARNING: Unparseable C cross-reference: 'close(int fd)'
    Invalid C declaration: Expected end of definition. [error at 5]
    close(int fd)
    -----^

    So, convert it into a :c:expr.

    Acked-by: Tomas Winkler
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The C domain parser of Sphinx3 expects just function names
    for :c:func: markups:

    ./Documentation/driver-api/pm/devices.rst:413: WARNING: Unparseable C cross-reference: 'device_may_wakeup(dev)'
    Invalid C declaration: Expected end of definition. [error at 17]
    device_may_wakeup(dev)
    -----------------^

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Those are already documented at:

    Documentation/driver-api/firmware/request_firmware.rst

    Including it twice is causing lots of warnings:

    ./Documentation/driver-api/infrastructure.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/firmware/request_firmware'.
    Declaration is 'request_firmware'.
    ./Documentation/driver-api/infrastructure.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/firmware/request_firmware'.
    Declaration is 'firmware_request_nowarn'.
    ./Documentation/driver-api/infrastructure.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/firmware/request_firmware'.
    Declaration is 'request_firmware_direct'.
    ./Documentation/driver-api/infrastructure.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/firmware/request_firmware'.
    Declaration is 'firmware_request_platform'.
    ./Documentation/driver-api/infrastructure.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/firmware/request_firmware'.
    Declaration is 'firmware_request_cache'.
    ./Documentation/driver-api/infrastructure.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/firmware/request_firmware'.
    Declaration is 'request_firmware_into_buf'.
    ./Documentation/driver-api/infrastructure.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/firmware/request_firmware'.
    Declaration is 'request_firmware_nowait'.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The usage of :c:type: to reference to a struct member is wrong,
    as pointed by Sphinx 3:

    ./Documentation/driver-api/libata.rst:511: WARNING: Unparseable C cross-reference: 'qc->complete_fn'
    Invalid C declaration: Expected end of definition. [error at 2]
    qc->complete_fn
    --^

    Instead, let's use :c:expr: for such purpose.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Those macros are not doing the right thing with Sphinx 3,
    causing parse errors:

    ./Documentation/driver-api/fpga/fpga-mgr.rst:104: WARNING: Unparseable C cross-reference: 'fpga_manager->state'
    Invalid C declaration: Expected end of definition. [error at 12]
    fpga_manager->state
    ------------^
    ./Documentation/driver-api/fpga/fpga-programming.rst:18: WARNING: Unparseable C cross-reference: 'fpga_region->info'
    Invalid C declaration: Expected end of definition. [error at 11]
    fpga_region->info
    -----------^
    ./Documentation/driver-api/fpga/fpga-region.rst:62: WARNING: Unparseable C cross-reference: 'fpga_region->bridge_list'
    Invalid C declaration: Expected end of definition. [error at 11]
    fpga_region->bridge_list
    -----------^
    ./Documentation/driver-api/fpga/fpga-region.rst:62: WARNING: Unparseable C cross-reference: 'fpga_region->get_bridges'
    Invalid C declaration: Expected end of definition. [error at 11]
    fpga_region->get_bridges
    -----------^

    Replace them by :c:expr:, with does what's desired.

    Reviewed-by: Moritz Fischer
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • There's no need to use macros to use :c:type on this file,
    as automarkup.py should do this automatically.

    Also, this breaks compatibility with Sphinx 3.x, as there,
    structs should be declared using .. c:struct.

    So, get rid of them.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Those are already defined at kernel-api.rst, as part of the
    synchronization primitives chapter.

    This solves several Sphinx 3 warnings, like:

    .../Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/kernel-api'.
    Declaration is 'rcu_idle_enter'.
    .../Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/kernel-api'.
    Declaration is 'rcu_idle_exit'.
    .../Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/kernel-api'.
    Declaration is 'rcu_is_watching'.
    .../Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/kernel-api'.
    Declaration is 'call_rcu'.
    .../Documentation/driver-api/basics.rst: WARNING: Duplicate C declaration, also defined in 'core-api/kernel-api'.
    Declaration is 'synchronize_rcu'.
    ...

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The infrastructure.rst file already includes the external
    symbols from drivers/base/core.c.

    Duplicating 3 functions there causes namespace collisions:

    Documentation/driver-api/device_link.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/infrastructure'.
    Declaration is 'device_link_state'.
    Documentation/driver-api/device_link.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/infrastructure'.
    Declaration is 'device_link_add'.
    Documentation/driver-api/device_link.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/infrastructure'.
    Declaration is 'device_link_del'.
    Documentation/driver-api/device_link.rst: WARNING: Duplicate C declaration, also defined in 'driver-api/infrastructure'.
    Declaration is 'device_link_remove'.

    So, drop the reference, adding just a mention to the functions
    associated with device_link.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • This is already included at scsi.rst. So, remove the duplication,
    in order to avoid Sphinx warnings.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • As there's already a rst file with workqueue markups, containing
    part of them, move the other definitions, in order to avoid
    warnings with Sphinx.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The sound API is documented on two different parts:
    under Documentation/driver-api/sound.rst and under
    Documentation/sound/kernel-api/alsa-driver-api.rst.

    The alsa-driver-api.rst seems more complete, and APIs
    are split per type. There's just one missing kernel-doc
    markup there.

    Add it and drop the duplicated one.

    Reviewed-by: Takashi Iwai
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The :c:type:`foo` only works properly with structs before
    Sphinx 3.x.

    On Sphinx 3.x, structs should now be declared using the
    .. c:struct, and referenced via :c:struct tag.

    As we now have the automarkup.py macro, that automatically
    convert:
    struct foo

    into cross-references, let's get rid of that, solving
    several warnings when building docs with Sphinx 3.x.

    Reviewed-by: André Almeida # blk-mq.rst
    Reviewed-by: Takashi Iwai # sound
    Reviewed-by: Mike Rapoport
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • There are three files with replace macros for structs,
    mapping them into Sphinx 2.x C domain references.

    Well, this is broken on Sphinx 3.x. Also, for Sphinx 2.x,
    the automarkup macro should be able to take care of them.

    So, let's just drop those.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The new C domain code on Sphinx 3 doesn't allow anymore
    to use c:type:: for structs.

    Now that cdomain.py has backward support, let's use
    c:struct:: instead.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Pull driver core updates from Greg KH:
    "Here is the "big" set of driver core patches for 5.10-rc1

    They include a lot of different things, all related to the driver core
    and/or some driver logic:

    - sysfs common write functions to make it easier to audit sysfs
    attributes

    - device connection cleanups and fixes

    - devm helpers for a few functions

    - NOIO allocations for when devices are being removed

    - minor cleanups and fixes

    All have been in linux-next for a while with no reported issues"

    * tag 'driver-core-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (31 commits)
    regmap: debugfs: use semicolons rather than commas to separate statements
    platform/x86: intel_pmc_core: do not create a static struct device
    drivers core: node: Use a more typical macro definition style for ACCESS_ATTR
    drivers core: Use sysfs_emit for shared_cpu_map_show and shared_cpu_list_show
    mm: and drivers core: Convert hugetlb_report_node_meminfo to sysfs_emit
    drivers core: Miscellaneous changes for sysfs_emit
    drivers core: Reindent a couple uses around sysfs_emit
    drivers core: Remove strcat uses around sysfs_emit and neaten
    drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions
    sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output
    dyndbg: use keyword, arg varnames for query term pairs
    driver core: force NOIO allocations during unplug
    platform_device: switch to simpler IDA interface
    driver core: platform: Document return type of more functions
    Revert "driver core: Annotate dev_err_probe() with __must_check"
    Revert "test_firmware: Test platform fw loading on non-EFI systems"
    iio: adc: xilinx-xadc: use devm_krealloc()
    hwmon: pmbus: use more devres helpers
    devres: provide devm_krealloc()
    syscore: Use pm_pr_dbg() for syscore_{suspend,resume}()
    ...

    Linus Torvalds
     

14 Oct, 2020

1 commit

  • Pull media updates from Mauro Carvalho Chehab:

    - the usbvision driver was dropped from staging

    - the Zoran driver were re-added at staging. It gained lots of
    improvements, and was converted to use videobuf2 API

    - a new virtual driver (vidtv) was added in order to allow testing the
    digital TV framework and APIs

    - the media uAPI documentation gained a glossary with commonly used
    terms, helping to simplify some parts of the docs

    - more cleanups at the atomisp driver

    - Mediatek VPU gained support for MT8183

    - added support for codecs with supports doing colorspace conversion
    (CSC)

    - support for CSC API was added at vivid and rksip1 drivers

    - added a helper core support and uAPI for better supporting H.264
    codecs

    - added support for Renesas R8A774E1

    - use the new SPDX GFDL-1.1-no-invariants-or-later license on media
    uAPI docs, instead of a license text

    - Venus driver has gained VP9 codec support

    - lots of other cleanups and driver improvements

    * tag 'media/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (555 commits)
    media: dvb-frontends/drxk_hard.c: fix uninitialized variable warning
    media: tvp7002: fix uninitialized variable warning
    media: s5k5baf: drop 'data' field in struct s5k5baf_fw
    media: dt-bindings: media: venus: Add an optional power domain for perf voting
    media: rcar-vin: rcar-dma: Fix setting VNIS_REG for RAW8 formats
    media: staging: rkisp1: uapi: Do not use BIT() macro
    media: v4l2-mem2mem: Fix spurious v4l2_m2m_buf_done
    media: usbtv: Fix refcounting mixup
    media: zoran.rst: place it at the right place this time
    media: add Zoran cardlist
    media: admin-guide: update cardlists
    media: siano: rename a duplicated card string
    media: zoran: move documentation file to the right place
    media: atomisp: fixes build breakage for ISP2400 due to a cleanup
    media: zoran: fix mixed case on vars
    media: zoran: get rid of an unused var
    media: zoran: use upper case for card types
    media: zoran: fix sparse warnings
    media: zoran: fix smatch warning
    media: zoran: update TODO
    ...

    Linus Torvalds
     

13 Oct, 2020

2 commits

  • Pull documentation updates from Jonathan Corbet:
    "As hoped, things calmed down for docs this cycle; fewer changes and
    almost no conflicts at all. This includes:

    - A reworked and expanded user-mode Linux document

    - Some simplifications and improvements for submitting-patches.rst

    - An emergency fix for (some) problems with Sphinx 3.x

    - Some welcome automarkup improvements to automatically generate
    cross-references to struct definitions and other documents

    - The usual collection of translation updates, typo fixes, etc"

    * tag 'docs-5.10' of git://git.lwn.net/linux: (81 commits)
    gpiolib: Update indentation in driver.rst for code excerpts
    Documentation/admin-guide: tainted-kernels: Fix typo occured
    Documentation: better locations for sysfs-pci, sysfs-tagging
    docs: programming-languages: refresh blurb on clang support
    Documentation: kvm: fix a typo
    Documentation: Chinese translation of Documentation/arm64/amu.rst
    doc: zh_CN: index files in arm64 subdirectory
    mailmap: add entry for
    doc: seq_file: clarify role of *pos in ->next()
    docs: trace: ring-buffer-design.rst: use the new SPDX tag
    Documentation: kernel-parameters: clarify "module." parameters
    Fix references to nommu-mmap.rst
    docs: rewrite admin-guide/sysctl/abi.rst
    docs: fb: Remove vesafb scrollback boot option
    docs: fb: Remove sstfb scrollback boot option
    docs: fb: Remove matroxfb scrollback boot option
    docs: fb: Remove framebuffer scrollback boot option
    docs: replace the old User Mode Linux HowTo with a new one
    Documentation/admin-guide: blockdev/ramdisk: remove use of "rdev"
    Documentation/admin-guide: README & svga: remove use of "rdev"
    ...

    Linus Torvalds
     
  • When TABs are being used to indent the code excerpts inside the bullet
    lists some of the tools [vim in particular] fail to recognize it and
    continue interpreting the special characters inside the quoted excerpt.

    Update indentation in driver.rst for code excerpts to avoid
    their special interpretation.

    Signed-off-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20201007143817.76335-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Jonathan Corbet

    Andy Shevchenko
     

08 Oct, 2020

1 commit

  • the files under /80211 calls kernel-doc script 207 times, one for each
    single function and doc chapter. Due to that, it takes a lot of time
    handling it:

    $ touch Documentation/driver-api/80211/*rst && time make SPHINXDIRS=driver-api/80211 htmldocs
    ...
    real 0m22,928s
    user 0m21,644s
    sys 0m1,334s

    Reduce the build time by doing only one kernel-doc call
    per functions that belong to the same group. With that, there's now
    50 calls to kernel-doc, which makes the build time for those docs
    62% faster:

    $ touch Documentation/driver-api/80211/*rst && time make SPHINXDIRS=driver-api/80211 htmldocs
    ...
    real 0m8,666s
    user 0m8,084s
    sys 0m0,642s

    As a side effect, it should now be easier to add newer
    functions, as there's no need to repeat the kernel-doc
    pattern.

    Measurements made on a NUC8i7HNK machine with lots of ram
    and a fast SSD disk with Sphinx 3.2.1.

    Signed-off-by: Mauro Carvalho Chehab
    Link: https://lore.kernel.org/r/f0085721d85ebc3a77164b457ed948eee48b55df.1601890703.git.mchehab+huawei@kernel.org
    Signed-off-by: Johannes Berg

    Mauro Carvalho Chehab
     

04 Oct, 2020

2 commits

  • I was too quick moving zoran.rst... it ends that the original
    patch didn't do the right thing and forgot to update the files
    that references it.

    Fix it.

    Fixes: 6b90346919d4 ("media: zoran: move documentation file to the right place")
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Linux 5.9-rc7

    * tag 'v5.9-rc7': (683 commits)
    Linux 5.9-rc7
    mm/thp: Split huge pmds/puds if they're pinned when fork()
    mm: Do early cow for pinned pages during fork() for ptes
    mm/fork: Pass new vma pointer into copy_page_range()
    mm: Introduce mm_struct.has_pinned
    mm: validate pmd after splitting
    mm: don't rely on system state to detect hot-plug operations
    mm: replace memmap_context by meminit_context
    arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
    lib/memregion.c: include memregion.h
    lib/string.c: implement stpcpy
    mm/migrate: correct thp migration stats
    mm/gup: fix gup_fast with dynamic page table folding
    mm: memcontrol: fix missing suffix of workingset_restore
    mm, THP, swap: fix allocating cluster for swapfile by mistake
    mm: slab: fix potential double free in ___cache_free
    Documentation/llvm: Fix clang target examples
    io_uring: ensure async buffered read-retry is setup properly
    KVM: SVM: Add a dedicated INVD intercept routine
    io_uring: don't unconditionally set plug->nowait = true
    ...

    Mauro Carvalho Chehab
     

02 Oct, 2020

1 commit


01 Oct, 2020

2 commits

  • The new C domain code on Sphinx 3 is a lot more pedantic.
    It only accepts real functions declared as c:function.

    So, declarations like this are not valid:

    .. c:function::
    int (*adap_enable)(struct cec_adapter *adap, bool enable);

    Also, no blank lines are allowed after ".. c:function:", and
    continuation lines should be like:

    .. c:function:
    int (void foo, \
    int bar);

    Change the logic there, in order to avoid lots of warnings
    when built with Sphinx 3.x.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • There are two kernel-doc markups for include/media/v4l2-async.h,
    one at v4l2-async.rst and another one at v4l2-subdev.rst.

    Sphinx 3.x checks it and complains for duplicated symbols.

    So, get rid of one of them.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

30 Sep, 2020

1 commit


27 Sep, 2020

2 commits

  • Documentation on how to call the subdev ops is currently in the middle of
    synchronous and asynchronous registration. Move it to a dedicated
    subsection after the registration methods.

    Also move the final paragraph "The advantage of using v4l2_subdev..." to
    the beginning of the new section as it has an introductory content.

    [hverkuil: correct accidental deletion of the last part of a sentence]

    Suggested-by: Jacopo Mondi
    Signed-off-by: Luca Ceresoli
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Luca Ceresoli
     
  • The subdev registration topic is pretty lengthy, and takes more than
    half of the "V4L2 sub-devices" section. Help readers in finding their
    way through the document by dedicating a subsection to
    "Subdev registration".

    Each of the two registration methods takes many paragraphs, but since
    adding a subsubsection would be overkill, just emphasize them in bold.

    Reviewed-by: Jacopo Mondi
    Signed-off-by: Luca Ceresoli
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Luca Ceresoli