| /kernel/linux/linux-6.6/Documentation/driver-api/driver-model/ |
| D | driver.rst | 2 Device Drivers 10 Device drivers are statically allocated structures. Though there may 13 device instance). 42 model because the bus they belong to has a bus-specific structure with 43 bus-specific fields that cannot be generalized. 45 The most common example of this are device ID structures. A driver 46 typically defines an array of device IDs that it supports. The format 47 of these structures and the semantics for comparing device IDs are 48 completely bus-specific. Defining them as bus-specific entities would 49 sacrifice type-safety, so we keep bus-specific structures around. [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/driver-model/ |
| D | driver.rst | 2 Device Drivers 10 Device drivers are statically allocated structures. Though there may 13 device instance). 42 model because the bus they belong to has a bus-specific structure with 43 bus-specific fields that cannot be generalized. 45 The most common example of this are device ID structures. A driver 46 typically defines an array of device IDs that it supports. The format 47 of these structures and the semantics for comparing device IDs are 48 completely bus-specific. Defining them as bus-specific entities would 49 sacrifice type-safety, so we keep bus-specific structures around. [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/rapidio/ |
| D | rapidio.rst | 5 The RapidIO standard is a packet-based fabric interconnect standard designed for 8 is publicly available for download from the RTA web-site [1]. 16 Because the RapidIO subsystem follows the Linux device model it is integrated 17 into the kernel similarly to other buses by defining RapidIO-specific device and 18 bus types and registering them within the device model. 21 architecture-specific interfaces that provide support for common RapidIO 33 --------------- 38 by a rio_mport data structure. This structure contains master port specific 40 host device ID that is valid when a master port is configured as an enumerating 43 RapidIO master ports are serviced by subsystem specific mport device drivers [all …]
|
| /kernel/linux/linux-6.6/Documentation/driver-api/rapidio/ |
| D | rapidio.rst | 5 The RapidIO standard is a packet-based fabric interconnect standard designed for 8 is publicly available for download from the RTA web-site [1]. 16 Because the RapidIO subsystem follows the Linux device model it is integrated 17 into the kernel similarly to other buses by defining RapidIO-specific device and 18 bus types and registering them within the device model. 21 architecture-specific interfaces that provide support for common RapidIO 33 --------------- 38 by a rio_mport data structure. This structure contains master port specific 40 host device ID that is valid when a master port is configured as an enumerating 43 RapidIO master ports are serviced by subsystem specific mport device drivers [all …]
|
| /kernel/linux/linux-5.10/Documentation/hwmon/ |
| D | pmbus-core.rst | 9 power-management protocol with a fully defined command language that facilitates 11 protocol is implemented over the industry-standard SMBus serial interface and 12 enables programming, control, and real-time monitoring of compliant power 18 promoted by the PMBus Implementers Forum (PMBus-IF), comprising 30+ adopters 22 commands, and manufacturers can add as many non-standard commands as they like. 23 Also, different PMBUs devices act differently if non-supported commands are 27 Despite all those difficulties, a generic PMBus device driver is still useful 29 device specific extensions in addition to the core PMBus driver, since it is 30 simply unknown what new device specific functionality PMBus device developers 33 To make device specific extensions as scalable as possible, and to avoid having [all …]
|
| /kernel/linux/linux-6.6/Documentation/hwmon/ |
| D | pmbus-core.rst | 9 power-management protocol with a fully defined command language that facilitates 11 protocol is implemented over the industry-standard SMBus serial interface and 12 enables programming, control, and real-time monitoring of compliant power 18 promoted by the PMBus Implementers Forum (PMBus-IF), comprising 30+ adopters 22 commands, and manufacturers can add as many non-standard commands as they like. 23 Also, different PMBUs devices act differently if non-supported commands are 27 Despite all those difficulties, a generic PMBus device driver is still useful 29 device specific extensions in addition to the core PMBus driver, since it is 30 simply unknown what new device specific functionality PMBus device developers 33 To make device specific extensions as scalable as possible, and to avoid having [all …]
|
| /kernel/linux/linux-6.6/drivers/gpio/ |
| D | gpio-tangier.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 19 struct device; 23 /* Elkhart Lake specific wake registers */ 28 /* Merrifield specific wake registers */ 34 * struct tng_wake_regs - Platform specific wake registers 46 * struct tng_gpio_pinrange - Map pin numbers to gpio numbers 61 .npins = (gend) - (gstart) + 1, \ 65 * struct tng_gpio_pin_info - Platform specific pinout information 68 * @name: Respective pinctrl device name 77 * struct tng_gpio_info - Platform specific GPIO and IRQ information [all …]
|
| /kernel/linux/linux-6.6/Documentation/driver-api/ |
| D | vfio-pci-device-specific-driver-acceptance.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 Acceptance criteria for vfio-pci device specific driver variants 7 -------- 8 The vfio-pci driver exists as a device agnostic driver using the 10 handling to provide isolated device access to userspace. While the 11 vfio-pci driver does include some device specific support, further 12 extensions for yet more advanced device specific features are not 13 sustainable. The vfio-pci driver has therefore split out 14 vfio-pci-core as a library that may be reused to implement features 15 requiring device specific knowledge, ex. saving and loading device [all …]
|
| /kernel/linux/linux-5.10/include/net/ |
| D | rtnetlink.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 26 return ((struct rtgenmsg *) nlmsg_data(nlh))->rtgen_family; in rtnl_msg_family() 32 * struct rtnl_link_ops - rtnetlink link operations 36 * @netns_refund: Physical device, move to init_net on netns exit 37 * @maxtype: Highest device specific netlink attribute number 38 * @policy: Netlink policy for device specific attribute validation 42 * @newlink: Function for configuring and registering a new device 43 * @changelink: Function for changing parameters of an existing device 44 * @dellink: Function to remove a device 45 * @get_size: Function to calculate required room for dumping device [all …]
|
| /kernel/linux/linux-6.6/drivers/crypto/virtio/ |
| D | virtio_crypto_mgr.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 24 * virtcrypto_devmgr_add_dev() - Add vcrypto_dev to the acceleration 26 * @vcrypto_dev: Pointer to virtio crypto device. 28 * Function adds virtio crypto device to the global list. 29 * To be used by virtio crypto device specific drivers. 42 return -EFAULT; in virtcrypto_devmgr_add_dev() 51 return -EEXIST; in virtcrypto_devmgr_add_dev() 54 atomic_set(&vcrypto_dev->ref_count, 0); in virtcrypto_devmgr_add_dev() 55 list_add_tail(&vcrypto_dev->list, &virtio_crypto_table); in virtcrypto_devmgr_add_dev() 56 vcrypto_dev->dev_id = num_devices++; in virtcrypto_devmgr_add_dev() [all …]
|
| /kernel/linux/linux-5.10/drivers/crypto/virtio/ |
| D | virtio_crypto_mgr.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 24 * virtcrypto_devmgr_add_dev() - Add vcrypto_dev to the acceleration 26 * @vcrypto_dev: Pointer to virtio crypto device. 28 * Function adds virtio crypto device to the global list. 29 * To be used by virtio crypto device specific drivers. 42 return -EFAULT; in virtcrypto_devmgr_add_dev() 51 return -EEXIST; in virtcrypto_devmgr_add_dev() 54 atomic_set(&vcrypto_dev->ref_count, 0); in virtcrypto_devmgr_add_dev() 55 list_add_tail(&vcrypto_dev->list, &virtio_crypto_table); in virtcrypto_devmgr_add_dev() 56 vcrypto_dev->dev_id = num_devices++; in virtcrypto_devmgr_add_dev() [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | msi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * - Interrupt core code 9 * - PCI/MSI core code 10 * - MSI interrupt domain implementations 11 * - IOMMU, low level VFIO, NTB and other justified exceptions 14 * Regular device drivers have no business with any of these functions and 18 * Device driver relevant functions are available in <linux/msi_api.h> 56 * msi_msg - Representation of a MSI message 58 * @arch_addrlo: Architecture specific shadow of @address_lo 60 * (only used when device supports it) [all …]
|
| /kernel/linux/linux-6.6/drivers/leds/ |
| D | leds-lp55xx-common.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 * Derived from leds-lp5521.c, leds-lp5523.c 15 #include <linux/led-class-multicolor.h> 39 static ssize_t show_engine##nr##_mode(struct device *dev, \ 47 static ssize_t store_engine##nr##_mode(struct device *dev, \ 55 static ssize_t show_engine##nr##_leds(struct device *dev, \ 63 static ssize_t store_engine##nr##_leds(struct device *dev, \ 71 static ssize_t store_engine##nr##_load(struct device *dev, \ 93 * @reset : Chip specific reset command 94 * @enable : Chip specific enable command [all …]
|
| /kernel/linux/linux-5.10/drivers/leds/ |
| D | leds-lp55xx-common.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 * Derived from leds-lp5521.c, leds-lp5523.c 15 #include <linux/led-class-multicolor.h> 39 static ssize_t show_engine##nr##_mode(struct device *dev, \ 47 static ssize_t store_engine##nr##_mode(struct device *dev, \ 55 static ssize_t show_engine##nr##_leds(struct device *dev, \ 63 static ssize_t store_engine##nr##_leds(struct device *dev, \ 71 static ssize_t store_engine##nr##_load(struct device *dev, \ 93 * @reset : Chip specific reset command 94 * @enable : Chip specific enable command [all …]
|
| /kernel/linux/linux-5.10/drivers/scsi/ufs/ |
| D | Kconfig | 5 # Copyright (C) 2011-2013 Samsung India Software Operations 15 # See the COPYING file in the top-level directory or visit 16 # <http://www.gnu.org/licenses/gpl-2.0.html> 51 (the one containing the directory /) is located on a UFS device. 88 This selects the Cadence-specific additions to UFSHCD platform driver. 101 tristate "QCOM specific hooks to UFS controller platform driver" 106 This selects the QCOM specific additions to UFSHCD platform driver. 107 UFS host on QCOM needs some vendor specific configuration before 109 specific registers. 115 tristate "Mediatek specific hooks to UFS controller platform driver" [all …]
|
| /kernel/linux/linux-5.10/drivers/hwspinlock/ |
| D | hwspinlock_core.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com 7 * Contact: Ohad Ben-Cohen <ohad@wizery.com> 19 #include <linux/radix-tree.h> 36 * and provides easy-to-use API which makes the hwspinlock core code simple 54 * as the radix-tree API requires that users provide all synchronisation. 55 * A mutex is needed because we're using non-atomic radix tree allocations. 61 * __hwspin_trylock() - attempt to lock a specific hwspinlock 72 * user need some time-consuming or sleepable operations under the hardware 87 * Returns 0 if we successfully locked the hwspinlock or -EBUSY if [all …]
|
| /kernel/linux/linux-6.6/arch/x86/include/asm/ |
| D | x86_init.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 * struct x86_init_mpparse - platform specific mpparse ops 17 * @setup_ioapic_ids: platform specific ioapic id override 28 * struct x86_init_resources - platform specific resource related ops 32 * @memory_setup: platform specific memory setup 33 * @dmi_setup: platform specific DMI setup 43 * struct x86_init_irqs - platform specific interrupt setup 60 * struct x86_init_oem - oem platform specific customizing functions 61 * @arch_setup: platform specific architecture setup 62 * @banner: print a platform specific banner [all …]
|
| /kernel/linux/linux-6.6/include/net/ |
| D | rtnetlink.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 58 return ((struct rtgenmsg *) nlmsg_data(nlh))->rtgen_family; in rtnl_msg_family() 64 * struct rtnl_link_ops - rtnetlink link operations 68 * @netns_refund: Physical device, move to init_net on netns exit 69 * @maxtype: Highest device specific netlink attribute number 70 * @policy: Netlink policy for device specific attribute validation 77 * @newlink: Function for configuring and registering a new device 78 * @changelink: Function for changing parameters of an existing device 79 * @dellink: Function to remove a device 80 * @get_size: Function to calculate required room for dumping device [all …]
|
| /kernel/linux/linux-6.6/drivers/hwspinlock/ |
| D | hwspinlock_core.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com 7 * Contact: Ohad Ben-Cohen <ohad@wizery.com> 19 #include <linux/radix-tree.h> 36 * and provides easy-to-use API which makes the hwspinlock core code simple 54 * as the radix-tree API requires that users provide all synchronisation. 55 * A mutex is needed because we're using non-atomic radix tree allocations. 61 * __hwspin_trylock() - attempt to lock a specific hwspinlock 72 * user need some time-consuming or sleepable operations under the hardware 87 * Returns 0 if we successfully locked the hwspinlock or -EBUSY if [all …]
|
| /kernel/linux/linux-6.6/Documentation/powerpc/ |
| D | bootwrapper.rst | 17 others. U-Boot is typically found on embedded PowerPC hardware, but there 28 U-Boot (for versions that don't understand the device 29 tree). This image embeds a device tree blob inside 30 the image. The boot wrapper, kernel and device tree 31 are all embedded inside the U-Boot uImage file format 33 bd_info structure and loads the data into the device 37 bd_info structure used in the old U-Boot interfaces, 38 cuImages are platform specific. Each specific 39 U-Boot platform has a different platform init file 40 which populates the embedded device tree with data [all …]
|
| /kernel/linux/linux-5.10/Documentation/powerpc/ |
| D | bootwrapper.rst | 17 others. U-Boot is typically found on embedded PowerPC hardware, but there 28 U-Boot (for versions that don't understand the device 29 tree). This image embeds a device tree blob inside 30 the image. The boot wrapper, kernel and device tree 31 are all embedded inside the U-Boot uImage file format 33 bd_info structure and loads the data into the device 37 bd_info structure used in the old U-Boot interfaces, 38 cuImages are platform specific. Each specific 39 U-Boot platform has a different platform init file 40 which populates the embedded device tree with data [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/exynos/ |
| D | exynos_drm_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 8 * Seung-Woo Kim <sw0312.kim@samsung.com> 60 * specific overlay info. 84 * to hardware specific overlay info. 103 * @zpos: initial z-position of the plane. 121 * @atomic_enable: enable the device 122 * @atomic_disable: disable the device 123 * @enable_vblank: specific driver callback for enabling vblank interrupt. 124 * @disable_vblank: specific driver callback for disabling vblank interrupt. 125 * @mode_valid: specific driver callback for mode validation [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/exynos/ |
| D | exynos_drm_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 8 * Seung-Woo Kim <sw0312.kim@samsung.com> 60 * specific overlay info. 84 * to hardware specific overlay info. 103 * @zpos: initial z-position of the plane. 121 * @atomic_enable: enable the device 122 * @atomic_disable: disable the device 123 * @enable_vblank: specific driver callback for enabling vblank interrupt. 124 * @disable_vblank: specific driver callback for disabling vblank interrupt. 125 * @mode_valid: specific driver callback for mode validation [all …]
|
| /kernel/linux/linux-5.10/arch/x86/include/asm/ |
| D | x86_init.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 * struct x86_init_mpparse - platform specific mpparse ops 17 * @setup_ioapic_ids: platform specific ioapic id override 28 * struct x86_init_resources - platform specific resource related ops 32 * @memory_setup: platform specific memory setup 42 * struct x86_init_irqs - platform specific interrupt setup 59 * struct x86_init_oem - oem platform specific customizing functions 60 * @arch_setup: platform specific architecture setup 61 * @banner: print a platform specific banner 69 * struct x86_init_paging - platform specific paging functions [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/usb/ |
| D | omap-usb.txt | 1 OMAP GLUE AND OTHER OMAP SPECIFIC COMPONENTS 4 - compatible : Should be "ti,omap4-musb" or "ti,omap3-musb" 5 - ti,hwmods : must be "usb_otg_hs" 6 - multipoint : Should be "1" indicating the musb controller supports 7 multipoint. This is a MUSB configuration-specific setting. 8 - num-eps : Specifies the number of endpoints. This is also a 9 MUSB configuration-specific setting. Should be set to "16" 10 - ram-bits : Specifies the ram address size. Should be set to "12" 11 - interface-type : This is a board specific setting to describe the type of 14 - mode : Should be "3" to represent OTG. "1" signifies HOST and "2" [all …]
|