| /linux/drivers/leds/ |
| H A 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> 41 static ssize_t show_engine##nr##_mode(struct device *dev, \ 47 static ssize_t store_engine##nr##_mode(struct device *dev, \ 57 static ssize_t show_engine##nr##_leds(struct device *dev, \ 63 static ssize_t store_engine##nr##_leds(struct device *dev, \ 73 static ssize_t store_engine##nr##_load(struct device *dev, \ 82 static ssize_t show_master_fader##nr(struct device *dev, \ 88 static ssize_t store_master_fader##nr(struct device *dev, \ [all …]
|
| /linux/Documentation/driver-api/rapidio/ |
| H A 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 …]
|
| H A D | mport_cdev.rst | 2 RapidIO subsystem mport character device driver (rio_mport_cdev.c) 8 This device driver is the result of collaboration within the RapidIO.org 17 for user-space applications. Most of RapidIO operations are supported through 20 When loaded this device driver creates filesystem nodes named rio_mportX in /dev 21 directory for each registered RapidIO mport device. 'X' in the node name matches 22 to unique port ID assigned to each local mport device. 24 Using available set of ioctl commands user-space applications can perform 27 - Reads and writes from/to configuration registers of mport devices 29 - Reads and writes from/to configuration registers of remote RapidIO devices. 32 - Set RapidIO Destination ID for mport devices (RIO_MPORT_MAINT_HDID_SET) [all …]
|
| /linux/Documentation/driver-api/driver-model/ |
| H A 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 …]
|
| H A D | porting.rst | 12 Please refer to `Documentation/driver-api/driver-model/*.rst` for definitions of 21 be embedded in larger, bus-specific objects. Fields in these generic 22 objects can replace fields in the bus-specific objects. 28 # mount -t sysfs sysfs /sys 34 Step 0: Read include/linux/device.h for object and function definitions. 39 - Define a struct bus_type for the bus driver:: 46 - Register the bus type. 65 - Export the bus type for others to use. 81 - This will cause the bus to show up in /sys/bus/pci/ with two 84 # tree -d /sys/bus/pci/ [all …]
|
| /linux/Documentation/driver-api/ |
| H A 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 …]
|
| /linux/drivers/gpio/ |
| H A D | gpio-tangier.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 20 struct device; 24 /* Elkhart Lake specific wake registers */ 29 /* Merrifield specific wake registers */ 35 * struct tng_wake_regs - Platform specific wake registers 47 * struct tng_gpio_pinrange - Map pin numbers to gpio numbers 62 .npins = (gend) - (gstart) + 1, \ 66 * struct tng_gpio_pin_info - Platform specific pinout information 69 * @name: Respective pinctrl device name 78 * struct tng_gpio_info - Platform specific GPIO and IRQ information [all …]
|
| /linux/include/net/ |
| H A D | rtnetlink.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 36 * struct rtnl_msg_handler - rtnetlink message type and handlers 38 * @owner: NULL for built-in, THIS_MODULE for module 67 return ((struct rtgenmsg *) nlmsg_data(nlh))->rtgen_family; in rtnl_msg_family() 73 * struct rtnl_newlink_params - parameters of rtnl_link_ops::newlink() 95 return p->link_net ? : p->src_net; in rtnl_newlink_link_net() 103 return p->peer_net ? : rtnl_newlink_link_net(p); in rtnl_newlink_peer_net() 107 * struct rtnl_link_ops - rtnetlink link operations 112 * @netns_refund: Physical device, move to init_net on netns exit 113 * @peer_type: Peer device specific netlink attribute number (e.g. VETH_INFO_PEER) [all …]
|
| /linux/Documentation/arch/powerpc/ |
| H A 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 …]
|
| /linux/drivers/gpu/drm/exynos/ |
| H A 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 …]
|
| /linux/Documentation/devicetree/bindings/usb/ |
| H A 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 …]
|
| /linux/arch/x86/include/asm/ |
| H A D | x86_init.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 * struct x86_init_mpparse - platform specific mpparse ops 15 * @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 …]
|
| /linux/drivers/hwspinlock/ |
| H A D | hwspinlock_internal.h | 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> 14 #include <linux/device.h> 19 * struct hwspinlock_ops - platform-specific hwspinlock handlers 24 * @bust: optional, platform-specific bust handler, called by hwspinlock 25 * core to bust a specific lock. 26 * @relax: optional, platform-specific relax handler, called by hwspinlock 38 * struct hwspinlock - this struct represents a single hwspinlock instance 41 * @priv: private data, owned by the underlying platform-specific hwspinlock drv [all …]
|
| /linux/include/linux/usb/ |
| H A D | typec_altmode.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 #include <linux/device.h> 15 * struct typec_altmode - USB Type-C alternate mode device 16 * @dev: Driver model's view of this device 26 struct device dev; 42 dev_set_drvdata(&altmode->dev, data); in typec_altmode_set_drvdata() 47 return dev_get_drvdata(&altmode->dev); in typec_altmode_get_drvdata() 51 * struct typec_altmode_ops - Alternate mode specific operations vector 55 * @vdm: Callback for SVID specific commands 81 * struct typec_cable_ops - Cable alternate mode operations vector [all …]
|
| /linux/include/linux/ |
| H A D | mod_devicetable.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Device tables which are exported to userspace via 25 * struct pci_device_id - PCI device ID structure 27 * @device: Device ID to match (or PCI_ANY_ID) 29 * @subdevice: Subsystem device ID to match (or PCI_ANY_ID) 30 * @class: Device class, subclass, and "interface" to match. 34 * as vendor/device is normally sufficient. 35 * @class_mask: Limit which sub-fields of the class field are compared. 40 * into a static list of equivalent device types, 42 * @override_only: Match only when dev->driver_override is this driver. [all …]
|
| H A D | peci.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* Copyright (c) 2018-2021 Intel Corporation */ 7 #include <linux/device.h> 21 * struct peci_controller_ops - PECI controller specific methods 24 * PECI controllers may have different hardware interfaces - the drivers 33 * struct peci_controller - PECI controller 34 * @dev: device object to register PECI controller to the device model 35 * @ops: pointer to device specific controller operations 39 * PECI controllers usually connect to their drivers using non-PECI bus, 44 struct device dev; [all …]
|
| /linux/include/uapi/linux/ |
| H A D | vhost.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 4 /* Userspace interface for in-kernel virtio accelerators. */ 11 * device configuration. 18 #define VHOST_FILE_UNBIND -1 25 * vhost specific features. */ 33 /* Give up ownership, and reset the device to default values. 48 /* By default, a device gets one vhost_worker that its virtqueues share. This 49 * command allows the owner of the device to create an additional vhost_worker 50 * for the device. It can later be bound to 1 or more of its virtqueues using 54 * of the device. The new thread will inherit caller's cgroups and namespaces, [all …]
|
| /linux/tools/perf/trace/beauty/include/uapi/linux/ |
| H A D | vhost.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 4 /* Userspace interface for in-kernel virtio accelerators. */ 11 * device configuration. 18 #define VHOST_FILE_UNBIND -1 25 * vhost specific features. */ 33 /* Give up ownership, and reset the device to default values. 48 /* By default, a device gets one vhost_worker that its virtqueues share. This 49 * command allows the owner of the device to create an additional vhost_worker 50 * for the device. It can later be bound to 1 or more of its virtqueues using 54 * of the device. The new thread will inherit caller's cgroups and namespaces, [all …]
|
| /linux/include/linux/platform_data/ |
| H A D | brcmfmac.h | 27 * Platform specific driver functions and data. Through the platform specific 28 * device data functions and data can be provided to help the brcmfmac driver to 29 * operate with the device in combination with the used platform. 34 * Note: the brcmfmac can be loaded as module or be statically built-in into 35 * the kernel. If built-in then do note that it uses module_init (and 37 * create a module with the platform specific data for the brcmfmac and have 38 * it built-in to the kernel then use a higher initcall then device_initcall 48 * enum brcmf_bus_type - Bus type identifier. Currently SDIO, USB and PCIE are 59 * struct brcmfmac_sdio_pd - SDIO Device specific platform data. 67 * device. [all …]
|
| /linux/rust/kernel/ |
| H A D | driver.rs | 1 // SPDX-License-Identifier: GPL-2.0 5 //! This documentation describes how to implement a bus specific driver API and how to align it with 6 //! the design of (bus specific) devices. 8 //! Note: Readers are expected to know the content of the documentation of [`Device`] and 13 //! The main driver interface is defined by a bus specific driver trait. For instance: 17 //! /// The type holding information about each device ID supported by the driver. 20 //! /// The table of OF device ids supported by the driver. 23 //! /// The table of ACPI device ids supported by the driver. 27 //! fn probe(dev: &Device<device::Core>, id_info: &Self::IdInfo) -> impl PinInit<Self, Error>; 30 //! fn unbind(dev: &Device<device::Core>, this: Pin<&Self>) { [all …]
|
| /linux/drivers/pinctrl/samsung/ |
| H A D | pinctrl-samsung.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * pin-controller/pin-mux/pin-config/gpio-driver for Samsung's SoC's. 25 * enum pincfg_type - possible pin configuration types supported. 46 * packed together into a 16-bits. The upper 8-bits represent the configuration 47 * type and the lower 8-bits hold the value of the configuration type. 70 * enum pud_index - Possible index values to access the pud_val array. 84 * enum eint_type - possible external interrupt types. 104 /* maximum length of a pin in pin descriptor (example: "gpa0-0") */ 135 * struct samsung_pin_bank_data: represent a controller pin-bank (init data). 137 * @pctl_offset: starting offset of the pin-bank registers. [all …]
|
| /linux/Documentation/driver-api/pldmfw/ |
| H A D | driver-ops.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 4 Driver-specific callbacks 7 The ``pldmfw`` module relies on the device driver for implementing device 8 specific behavior using the following operations. 11 ----------------- 14 record matches the device being updated. This requires comparing the record 15 descriptors in the record with information from the device. Many record 20 the device. 23 ---------------------- 25 The ``.send_package_data`` operation is used to send the device-specific [all …]
|
| /linux/tools/include/uapi/linux/ |
| H A D | vhost.h | |
| /linux/include/linux/mtd/ |
| H A D | platnand.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright © 2000-2010 David Woodhouse <dwmw2@infradead.org> 18 * struct platform_nand_chip - chip level device structure 26 * @part_probe_types: NULL-terminated array of probe types 40 * struct platform_nand_ctrl - controller level device structure 41 * @probe: platform specific function to probe/setup hardware 42 * @remove: platform specific function to remove/teardown hardware 43 * @dev_ready: platform specific function to read ready/busy pin 44 * @select_chip: platform specific chip select function 45 * @cmd_ctrl: platform specific function for controlling [all …]
|
| /linux/Documentation/firmware-guide/acpi/ |
| H A D | DSD-properties-rules.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 _DSD Device Properties Usage Rules 10 The _DSD (Device Specific Data) configuration object, introduced in ACPI 5.1, 11 allows any type of device configuration data to be provided via the ACPI 16 packages associated with them and makes those data available to device drivers 17 as "device properties". 19 A device property is a data item consisting of a string key and a value (of a 20 specific type) associated with it. 22 In the ACPI _DSD context it is an element of the sub-package following the 23 generic Device Properties UUID in the _DSD return package as specified in the [all …]
|