/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/qemu/docs/devel/migration/ |
H A D | virtio.rst | 2 Virtio device migration 8 the COPYING file in the top-level directory. 13 - state is distributed between several parts: 15 - virtio core, for common fields like features, number of queues, ... 17 - virtio transport (pci, ccw, ...), for the different proxy devices and 18 transport specific state (msix vectors, indicators, ...) 20 - virtio device (net, blk, ...), for the different device types and their 23 - most fields are saved via the stream interface; subsequently, subsections 24 have been added to make cross-version migration possible 34 virtio core virtio transport virtio device [all …]
|
/openbmc/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 …]
|
/openbmc/linux/Documentation/hwmon/ |
H A 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 …]
|
/openbmc/linux/drivers/gpio/ |
H A 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 …]
|
/openbmc/u-boot/include/ |
H A D | video_osd.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 15 /* The major version of the OSD device */ 17 /* The minor version of the OSD device */ 22 * struct video_osd_ops - driver operations for OSD uclass 24 * The OSD uclass implements support for text-oriented on-screen displays, 26 * text-based overlay over the video output of an associated display. 29 * either a generic form (by specifying a string, a driver-specific color value 31 * driver-specific form (by specifying "raw" driver-specific data to display at 34 * Functions to read device information and set the size of the virtual OSD 43 * get_info() - Get information about a OSD instance [all …]
|
H A D | board.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 9 * board or a specific device such as hard-wired GPIOs on GPIO expanders, 10 * read-only data in flash ICs, or similar. 13 * int, string) from the device, each of which is identified by a static 16 * If for example the board had a read-only serial number flash IC, we could 21 * debug("board device not found."); 27 * debug("Error when reading serial number from device."); 36 * detect() - Run the hardware info detection procedure for this 37 * device. 38 * @dev: The device containing the information [all …]
|
/openbmc/linux/drivers/crypto/virtio/ |
H A 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 …]
|
/openbmc/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> 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 …]
|
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 …]
|
/openbmc/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> 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 …]
|
/openbmc/linux/include/net/ |
H A 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 …]
|
/openbmc/linux/drivers/hwspinlock/ |
H A 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 …]
|
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 …]
|
/openbmc/linux/Documentation/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/linux/arch/x86/include/asm/ |
H A 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 …]
|
/openbmc/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 25 struct device dev; 40 dev_set_drvdata(&altmode->dev, data); in typec_altmode_set_drvdata() 45 return dev_get_drvdata(&altmode->dev); in typec_altmode_get_drvdata() 49 * struct typec_altmode_ops - Alternate mode specific operations vector 53 * @vdm: Callback for SVID specific commands 79 * These are the connector states (USB, Safe and Alt Mode) defined in USB Type-C [all …]
|
/openbmc/qemu/linux-headers/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 …]
|
/openbmc/dbus-sensors/include/linux/ |
H A D | peci-ioctl.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2018-2019 Intel Corporation */ 4 // clang-format off 26 /* Device Specific Completion Code (CC) Definition */ 48 * enum peci_cmd - PECI client commands 51 * @PECI_CMD_GET_DIB: get DIB (Device Info Byte) 55 * @PECI_CMD_RD_IA_MSR: read access to MSRs (Model Specific Registers) 56 * @PECI_CMD_WR_IA_MSR: write access to MSRs (Model Specific Registers) 57 * @PECI_CMD_RD_IA_MSREX: read access to MSRs (Model Specific Registers) 91 * struct peci_xfer_msg - raw PECI transfer command [all …]
|
/openbmc/docs/designs/ |
H A D | entity-manager-hw-id-vpd-discover-via-device-tree.md | 1 # Entity-Manager HW ID: VPD Discovery via Device-Tree Properties 12 data via non-I2C channels and in a proprietary format that is not covered by 13 Entity-Manager's 'fru-device' daemon that most platforms rely on. 16 gathered from device tree file paths for Entity-Manager consumption. 20 Typical platforms provide HW ID data - often referred to as 'vital product data' 21 (VPD) - for the baseboard as a FRU storage blob held in a physical EEPROM. 23 [As described in Entity-Manager documentation](https://github.com/openbmc/entity-manager/blob/maste… 25 copied to D-Bus as properties of the `xyz.openbmc_project.FruDevice` interface 26 by Entity-Manager's fru-device daemon. The current FRU-device daemon is able to 27 decode IPMI-FRU storage formatted blobs, as well as the Tyan data format. [all …]
|