/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/include/linux/ |
H A 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> 52 * msi_msg - Representation of a MSI message 54 * @arch_addrlo: Architecture specific shadow of @address_lo 56 * (only used when device supports it) [all …]
|
H A D | clk-provider.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2010-2011 Jeremy Kerr <jeremy.kerr@canonical.com> 4 * Copyright (C) 2011-2012 Linaro Ltd <mturquette@linaro.org> 14 * top-level framework. custom flags for dealing with hardware specifics 20 #define CLK_SET_PARENT_GATE BIT(1) /* must be gated across re-parent */ 26 #define CLK_SET_RATE_NO_REPARENT BIT(7) /* don't re-parent on rate change */ 31 /* parents need enable during gate/ungate, set rate and re-parent */ 42 * struct clk_rate_request - Structure encoding the clk constraints that 77 * struct clk_duty - Structure encoding the duty cycle ratio of a clock 88 * struct clk_ops - Callback operations for hardware clocks; these are to [all …]
|
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 …]
|
/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/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/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/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/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/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/Documentation/staging/ |
H A D | remoteproc.rst | 10 of operating system, whether it's Linux or any other flavor of real-time OS. 12 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP. 13 In a typical configuration, the dual cortex-A9 is running Linux in a SMP 22 platform-specific remoteproc drivers only need to provide a few low-level 24 (for more information about the virtio-based rpmsg bus and its drivers, 57 without really powering off the device. 74 Find an rproc handle using a device tree phandle. Returns the rproc 112 struct rproc *rproc_alloc(struct device *dev, const char *name, 117 it yet. Required parameters are the underlying device, the 118 name of this remote processor, platform-specific ops handlers, [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/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/tools/include/uapi/linux/ |
H A D | vhost.h |
|
/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/Documentation/devicetree/bindings/powerpc/fsl/ |
H A D | mpic.txt | 14 - compatible 22 - reg 24 Value type: <prop-encoded-array> 26 offset and length of the device's registers within the 29 - interrupt-controller 35 - #interrupt-cells 39 specifiers do not contain the interrupt-type or type-specific 42 - #address-cells 47 - pic-no-reset 53 configuration registers to a sane state-- masked or [all …]
|
/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 …]
|