| /linux/Documentation/input/ | 
| H A D | gamepad.rst | 1 ---------------------------3 ---------------------------
 11 having user-space deal with different button-mappings for each gamepad, this
 25    |    <===DP===> |SE|      |ST|   (W) -|- (E) |       |
 35          D-Pad    Left       Right   Action Pad
 41 Most gamepads have the following features:
 43   - Action-Pad
 44     4 buttons in diamonds-shape (on the right side). The buttons are
 45     differently labeled on most devices so we define them as NORTH,
 47   - D-Pad (Direction-pad)
 [all …]
 
 | 
| /linux/Documentation/process/ | 
| H A D | botching-up-ioctls.rst | 5 From: https://blog.ffwll.ch/2013/11/botching-up-ioctls.html13 Which is nice, since there's no more insanity in the form of fake-generic, but
 18 lessons learned while botching the job for the drm/i915 driver. Most of these
 19 only cover technicalities and not the big-picture issues like what the command
 25 -------------
 28 will need to add a 32-bit compat layer:
 33  * Align everything to the natural size and use explicit padding. 32-bit
 34    platforms don't necessarily align 64-bit values to 64-bit boundaries, but
 35    64-bit platforms do. So we always need padding to the natural size to get
 36    this right.
 [all …]
 
 | 
| H A D | applying-patches.rst | 11    This document is obsolete.  In most cases, rather than using ``patch``54 in the patch file when applying it (the ``-p1`` argument to ``patch`` does
 57 To revert a previously applied patch, use the -R argument to patch.
 60 	patch -p1 < ../patch-x.y.z
 64 	patch -R -p1 < ../patch-x.y.z
 76 	patch -p1 < path/to/patch-x.y.z
 82 Patch can also get the name of the file to use via the -i argument, like
 85 	patch -p1 -i path/to/patch-x.y.z
 91 	xzcat path/to/patch-x.y.z.xz | patch -p1
 92 	bzcat path/to/patch-x.y.z.gz | patch -p1
 [all …]
 
 | 
| H A D | 4.Coding.rst | 3 Getting the code right6 While there is much to be said for a solid and community-oriented design
 14 will shift toward doing things right and the tools which can help in that
 19 ---------
 25 :ref:`Documentation/process/coding-style.rst <codingstyle>`.  For much of
 26 that time, the policies described in that file were taken as being, at most,
 38 strangely-formatted code.
 43 giving up a degree of control in a number of ways - including control over
 49 as a way of getting their name into the kernel changelogs - or both.  But
 59 80-column limit, for example), just do it.
 [all …]
 
 | 
| /linux/Documentation/arch/x86/ | 
| H A D | kernel-stacks.rst | 1 .. SPDX-License-Identifier: GPL-2.07 Kernel stacks on x86-64 bit
 10 Most of the text from Keith Owens, hacked by AK
 37 per CPU interrupt nest counter. This is needed because x86-64 "IST"
 48 An IST is selected by a non-zero value in the IST field of an
 49 interrupt-gate descriptor.  When an interrupt occurs and the hardware
 53 will switch back to the per-thread stack.  If software wants to allow
 62 IST events with the same code to be nested.  However in most cases, the
 70   Used for interrupt 8 - Double Fault Exception (#DF).
 79   Used for non-maskable interrupts (NMI).
 [all …]
 
 | 
| /linux/include/uapi/linux/ | 
| H A D | landlock.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */3  * Landlock - User space API
 5  * Copyright © 2017-2020 Mickaël Salaün <mic@digikod.net>
 6  * Copyright © 2018-2020 ANSSI
 7  * Copyright © 2021-2025 Microsoft Corporation
 16  * struct landlock_ruleset_attr - Ruleset definition.
 25  * For historical reasons, the %LANDLOCK_ACCESS_FS_REFER right is always denied
 27  * add new rules with this access right, the bit must still be set explicitly
 31  * compatibility reasons.  In most use cases, processes that use Landlock will
 67 /* clang-format off */
 [all …]
 
 | 
| H A D | falloc.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */7 #define FALLOC_FL_PUNCH_HOLE	0x02 /* de-allocates range */
 21  * granularity of the operation. Most will limit operations to
 27  * considered an illegal operation - just use ftruncate(2) if you need
 36  * unwritten extents - even though file system may choose to zero out the
 49  * shifted towards right by len bytes to create a hole.  As such, this
 53  * of the operation. Most will limit operations to filesystem block size
 58  * the file is considered an illegal operation - just use ftruncate(2) or
 67  * copy-on-write.
 70  * granularity of the operation. Most will limit operations to filesystem
 [all …]
 
 | 
| /linux/Documentation/maintainer/ | 
| H A D | rebasing-and-merging.rst | 1 .. SPDX-License-Identifier: GPL-2.08 Git source-code management system.  Git is a powerful tool with a lot of
 9 features; as is often the case with such tools, there are right and wrong
 30  - Changing the parent (starting) commit upon which a series of patches is
 36  - Changing the history of a set of patches by fixing (or deleting) broken
 48  - History that has been exposed to the world beyond your private system
 54    That said, there are always exceptions.  Some trees (linux-next being
 61  - Do not rebase a branch that contains history created by others.  If you
 67  - Do not reparent a tree without a good reason to do so.  Just being on a
 71  - If you must reparent a repository, do not pick some random kernel commit
 [all …]
 
 | 
| /linux/tools/testing/selftests/kvm/lib/ | 
| H A D | sparsebit.c | 1 // SPDX-License-Identifier: GPL-2.0-only27  * sparsebit_alloc() and most also take a bit index.  Frequently
 30  *  ---- Query Operations
 37  *  ---- Modifying Operations
 67  * For the most part the internal implementation of sparsebit is
 72  * set.  It is also efficient in memory usage when most of the bits are
 75  * At a high-level the state of the bit settings are maintained through
 76  * the use of a binary-search tree, where each node contains at least
 87  * node, while the mask member stores the setting of the first 32-bits.
 99  * represent cases where most bits are set.  For example, the case of all
 [all …]
 
 | 
| /linux/Documentation/arch/arm/google/ | 
| H A D | chromebook-boot-flow.rst | 1 .. SPDX-License-Identifier: GPL-2.07 Most recent Chromebooks that use device tree are using the opensource
 10 is up to depthcharge_ to pick the right device tree from the `FIT Image`_ and
 16 - Board name, specified at depthcharge_ compile time. This is $(BOARD) below.
 17 - Board revision number, determined at runtime (perhaps by reading GPIO
 19 - SKU number, read from GPIO strappings at boot time. This is $(SKU) below.
 23 - google,$(BOARD)-rev$(REV)-sku$(SKU)
 24 - google,$(BOARD)-rev$(REV)
 25 - google,$(BOARD)-sku$(SKU)
 26 - google,$(BOARD)
 [all …]
 
 | 
| /linux/Documentation/driver-api/media/drivers/ | 
| H A D | pvrusb2.rst | 1 .. SPDX-License-Identifier: GPL-2.09 ----------
 13 Its history started with the reverse-engineering effort by Björn
 29 1. Low level wire-protocol implementation with the device.
 38    tear-down, arbitration, and interaction with high level
 45 The most important shearing layer is between the top 2 layers.  A
 54 right now the V4L high level interface is the most complete, the
 56 functions, and there's no reason I see right now why it shouldn't be
 57 possible to produce a DVB high level interface that can sit right
 61 --------
 [all …]
 
 | 
| /linux/Documentation/filesystems/iomap/ | 
| H A D | porting.rst | 1 .. SPDX-License-Identifier: GPL-2.027     This worked well enough for direct/indirect-mapped filesystems such
 28     as ext2, but is very inefficient for extent-based filesystems such
 34  3. Direct access to storage on memory-like devices (fsdax) is only
 40     No ->write_begin(), ->write_end() or direct_IO
 49 Build the kernel, run fstests with the ``-g all`` option across a wide
 53 The recommended approach is first to implement ``->iomap_begin`` (and
 54 ``->iomap_end`` if necessary) to allow iomap to obtain a read-only
 56 In most cases, this is a relatively trivial conversion of the existing
 57 ``get_block()`` function for read-only mappings.
 [all …]
 
 | 
| /linux/lib/ | 
| H A D | btree.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * lib/btree.c	- Simple In-memory B+Tree
 5  * Copyright (c) 2007-2008 Joern Engel <joern@purestorage.com>
 9  * see http://programming.kicks-ass.net/kernel-patches/vma_lookup/btree.patch
 27  * ~98% pointers - hard to beat.  Very sparse radix trees contain only ~2%
 35  * values are to the right, not to the left.  All used slots within a node
 36  * are on the left, all unused slots contain NUL values.  Most operations
 96 	node = mempool_alloc(head->mempool, gfp);  in btree_node_alloc()
 108 			return -1;  in longcmp()
 139 	for (i = geo->keylen - 1; i >= 0; i--) {  in dec_key()
 [all …]
 
 | 
| /linux/arch/openrisc/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.04 # see Documentation/kbuild/kconfig-language.rst.
 95 	  caches at relevant times. Most OpenRISC implementations support write-
 144 	bool "Have instruction l.ror for rotate right"
 152 	  l.ror rotate right instruction.
 157 	bool "Have instruction l.rori for rotate right with immediate"
 165 	  l.rori rotate right with immediate instruction.
 185 	int "Maximum number of CPUs (2-32)"
 191 	bool "Symmetric Multi-Processing support"
 203 	  Say N here if you want to disable all floating-point related procedures
 [all …]
 
 | 
| /linux/drivers/media/rc/keymaps/ | 
| H A D | rc-kworld-plus-tv-analog.c | 1 // SPDX-License-Identifier: GPL-2.0+2 // kworld-plus-tv-analog.h - Keytable for kworld_plus_tv_analog Remote Controller
 4 // keymap imported from ir-keymaps.c
 8 #include <media/rc-map.h>
 17 	{ 0x16, KEY_CLOSECD },		/* -> ) */
 26 	/* Two keys have the same code: 4 and right */
 45 	/* Couldn't map key left/key right since those
 55 	   Most of them conflict with digits.
 
 | 
| /linux/drivers/media/i2c/ | 
| H A D | tda7432.c | 1 // SPDX-License-Identifier: GPL-2.03  * For the STS-Thompson TDA7432 audio processor chip
 18  * debug    - set to 1 if you'd like to see debug messages
 21  * loudness - set between 0 and 15 for varying degrees of loudness effect
 23  * maxvol   - set maximum volume to +20db (1), default is 0db(0)
 37 #include <media/v4l2-device.h>
 38 #include <media/v4l2-ioctl.h>
 39 #include <media/v4l2-ctrls.h>
 84 	return &container_of(ctrl->handler, struct tda7432, hdl)->sd;  in to_sd()
 87 /* The TDA7432 is made by STS-Thompson
 [all …]
 
 | 
| /linux/Documentation/driver-api/media/ | 
| H A D | rc-core.rst | 1 .. SPDX-License-Identifier: GPL-2.04 -------------------------
 13 Also, on most hardware, keeping a key pressed for more than a few dozens of
 23    infrared-based remote controllers, there's no key release event. Instead,
 26 However, most of the remote controllers use infrared (IR) to transmit signals.
 48 At receiver, a simple low-pass filter can be used to convert the received
 64    without any receivers. Right now, all such devices work only in
 78 The Kernel has support for mapping tables available on most media
 86 .. kernel-doc:: include/media/rc-core.h
 88 .. kernel-doc:: include/media/rc-map.h
 
 | 
| H A D | v4l2-intro.rst | 1 .. SPDX-License-Identifier: GPL-2.04 ------------
 7 hardware: most devices have multiple ICs, export multiple device nodes in
 8 /dev, and create also non-V4L2 devices such as DVB, ALSA, FB, I2C and input
 12 do audio/video muxing/encoding/decoding makes it more complex than most.
 15 called 'sub-devices'.
 22 connecting to sub-devices themselves. Some of this is quite complicated
 23 to do right and many drivers never did do it correctly.
 32 A good example to look at as a reference is the v4l2-pci-skeleton.c
 38 -------------------------
 [all …]
 
 | 
| /linux/Documentation/driver-api/usb/ | 
| H A D | dma.rst | 11 The big picture is that USB drivers can continue to ignore most DMA issues,12 though they still must provide DMA-ready buffers (see
 13 Documentation/core-api/dma-api-howto.rst).  That's how they've worked through
 14 the 2.4 (and earlier) kernels, or they can now be DMA-aware.
 16 DMA-aware usb drivers:
 18 - New calls enable DMA-aware drivers, letting them allocate dma buffers and
 19   manage dma mappings for existing dma-ready buffers (see below).
 21 - URBs have an additional "transfer_dma" field, as well as a transfer_flags
 25 - "usbcore" will map this DMA address, if a DMA-aware driver didn't do
 29 - There's a new "generic DMA API", parts of which are usable by USB device
 [all …]
 
 | 
| /linux/arch/parisc/math-emu/ | 
| H A D | fpbits.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */3  * Linux/PA-RISC Project (http://www.parisc-linux.org/)
 5  * Floating-point emulation code
 6  *  Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
 10     PA header file -- do not include this header file for non-PA builds.
 18  *  and bitfield assignment (default left-to-right,  unlike VAX, PDP-11)
 20  *  the C compiler "-D" flag (e.g., -DHOSTWDSZ=36 -DBITFLR for the DEC-20).
 22  *  is a 32-bit integer (right-justified on the 20) and that bit 0 is the
 23  *  most significant bit.
 33 /*-------------------------------------------------------------------------
 [all …]
 
 | 
| /linux/Documentation/sound/hd-audio/ | 
| H A D | realtek-pc-beep.rst | 20   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+24   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 37 Amplify 1Ah loopback, right (R): 1 bit
 38   Amplify the right channel of 1Ah before mixing it into outputs as specified
 58           +--DIV--+--!DIV--+       {1Ah boost control}
 60                   +--(b == 0)--+--(b != 0)--+
 70                   +-----!h-----+-----S-----+
 79 All Realtek HDA codecs have a vendor-defined widget with node ID 20h which
 87 Realtek, is of note: unlike most registers, which seem to control detailed
 111 Linux, it seems, has gone through most of them. For one, the register resets
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/input/ | 
| H A D | adc-joystick.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2 # Copyright 2019-2020 Artur Rojek
 4 ---
 5 $id: http://devicetree.org/schemas/input/adc-joystick.yaml#
 6 $schema: http://devicetree.org/meta-schemas/core.yaml#
 11   - Artur Rojek <contact@artur-rojek.eu>
 18   - $ref: input.yaml#
 22     const: adc-joystick
 24   io-channels:
 31       https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml
 [all …]
 
 | 
| /linux/drivers/accessibility/speakup/ | 
| H A D | i18n.c | 1 // SPDX-License-Identifier: GPL-2.052 	[MSG_EDGE_RIGHT] = "right,",
 57 	[MSG_CTRL] = "control-",
 72 	/* Most of these duplicate the entries in state names. */
 136 	[MSG_KEYNAME_RIGHTBRACE] = "right brace",
 163 	[MSG_KEYNAME_RIGHTSHFT] = "right shift",
 206 	[MSG_KEYNAME_RIGHTCTRL] = "right control",
 209 	[MSG_KEYNAME_RIGHTALT] = "right alt",
 215 	[MSG_KEYNAME_RIGHT] = "right",
 235 	[MSG_KEYNAME_RIGHTMETA] = "right meta",
 [all …]
 
 | 
| /linux/rust/kernel/list/ | 
| H A D | impl_list_item_mod.rs | 1 // SPDX-License-Identifier: GPL-2.027     unsafe fn raw_get_list_links(ptr: *mut Self) -> *mut crate::list::ListLinks<ID>;  in raw_get_list_links()
 39         // right type.
 42             unsafe fn raw_get_list_links(ptr: *mut Self) -> *mut $crate::list::ListLinks$(<$id>)? {
 84         // right type.
 89             unsafe fn raw_get_list_links(ptr: *mut Self) -> *mut $crate::list::ListLinks$(<$id>)? {
 200             unsafe fn view_links(me: *const Self) -> *mut $crate::list::ListLinks<$num> {
 208             // * `me` originates from the most recent call to `prepare_to_insert`, which calls
 213             //   of the most recent call to `prepare_to_insert` promised to retain ownership of the
 216             unsafe fn view_value(me: *mut $crate::list::ListLinks<$num>) -> *const Self {
 [all …]
 
 | 
| /linux/Documentation/driver-api/dmaengine/ | 
| H A D | provider.rst | 8 Most of the Slave DMA controllers have the same general principles of20 DMA-eligible devices to the controller itself. Whenever the device
 35 is why most if not all of the DMA controllers can adjust this, using a
 44 transfer into smaller sub-transfers.
 49 non-contiguous buffers to a contiguous buffer, which is called
 50 scatter-gather.
 53 scatter-gather. So we're left with two cases here: either we have a
 56 that implements in hardware scatter-gather.
 79 These were just the general memory-to-memory (also called mem2mem) or
 80 memory-to-device (mem2dev) kind of transfers. Most devices often
 [all …]
 
 |