| /kernel/linux/linux-4.19/drivers/base/firmware_loader/ |
| D | main.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * main.c - Multi purpose firmware loading support 24 #include <linux/firmware.h> 40 #include "firmware.h" 44 MODULE_DESCRIPTION("Multi purpose firmware loading support"); 55 * Names of firmware images which have been cached successfully 57 * helper can trace which firmware images have been cached 71 const char *name; member 76 const char *name; member 93 /* Builtin firmware support */ [all …]
|
| D | fallback.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include "firmware.h" 17 * firmware fallback mechanism 35 * use small loading timeout for caching devices' firmware because all these 36 * firmware images have been loaded successfully at lease once, also system is 37 * ready for completing firmware loading now. The maximum size of firmware in 77 struct firmware *fw; 94 list_del_init(&fw_priv->pending_list); in __fw_load_abort() 100 struct fw_priv *fw_priv = fw_sysfs->fw_priv; in fw_load_abort() 115 if (!fw_priv->need_uevent || !only_kill_custom) in kill_pending_fw_fallback_reqs() [all …]
|
| /kernel/linux/linux-5.10/drivers/base/firmware_loader/ |
| D | main.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * main.c - Multi purpose firmware loading support 7 * Please see Documentation/driver-api/firmware/ for more information. 25 #include <linux/firmware.h> 42 #include "firmware.h" 46 MODULE_DESCRIPTION("Multi purpose firmware loading support"); 57 * Names of firmware images which have been cached successfully 59 * helper can trace which firmware images have been cached 73 const char *name; member 78 const char *name; member [all …]
|
| D | fallback.c | 1 // SPDX-License-Identifier: GPL-2.0 15 #include "firmware.h" 18 * firmware fallback mechanism 38 * use small loading timeout for caching devices' firmware because all these 39 * firmware images have been loaded successfully at lease once, also system is 40 * ready for completing firmware loading now. The maximum size of firmware in 80 struct firmware *fw; 102 struct fw_priv *fw_priv = fw_sysfs->fw_priv; in fw_load_abort() 117 if (!fw_priv->need_uevent || !only_kill_custom) in kill_pending_fw_fallback_reqs() 130 * firmware_timeout_store() - set number of seconds to wait for firmware [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | firmware.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 struct firmware { struct 16 /* firmware loader private fields */ argument 24 char *name; member 34 #define DECLARE_BUILTIN_FIRMWARE(name, blob) \ argument 35 DECLARE_BUILTIN_FIRMWARE_SIZE(name, &(blob), sizeof(blob)) 37 #define DECLARE_BUILTIN_FIRMWARE_SIZE(name, blob, size) \ argument 39 __used __section(".builtin_fw") = { name, blob, size } 42 int request_firmware(const struct firmware **fw, const char *name, 44 int firmware_request_nowarn(const struct firmware **fw, const char *name, [all …]
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | firmware.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 struct firmware { struct 17 /* firmware loader private fields */ argument 25 char *name; member 35 #define DECLARE_BUILTIN_FIRMWARE(name, blob) \ argument 36 DECLARE_BUILTIN_FIRMWARE_SIZE(name, &(blob), sizeof(blob)) 38 #define DECLARE_BUILTIN_FIRMWARE_SIZE(name, blob, size) \ argument 40 __used __section(.builtin_fw) = { name, blob, size } 43 int request_firmware(const struct firmware **fw, const char *name, 45 int firmware_request_nowarn(const struct firmware **fw, const char *name, [all …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/firmware/ |
| D | fw_fallback.sh | 2 # SPDX-License-Identifier: GPL-2.0 4 # to load firmware it can't find on disk itself. We must request a firmware 7 set -e 23 local name="$1" 27 echo -n "$name" >"$DIR"/trigger_request & 31 while [ ! -e "$DIR"/"$name"/loading ]; do 33 timeout=$(( $timeout - 1 )) 34 if [ "$timeout" -eq 0 ]; then 35 echo "$0: firmware interface never appeared" >&2 40 echo 1 >"$DIR"/"$name"/loading [all …]
|
| D | fw_filesystem.sh | 2 # SPDX-License-Identifier: GPL-2.0 3 # This validates that the kernel will load firmware out of its list of 4 # firmware locations on disk. Since the user helper does similar work, 7 set -e 23 echo 1 >/sys/class/firmware/timeout 31 if [ ! -e "$DIR"/trigger_async_request ]; then 41 # Request a firmware that doesn't exist, it should fail. 42 if echo -n "nope-$NAME" >"$DIR"/trigger_request 2> /dev/null; then 43 echo "$0: firmware shouldn't have loaded" >&2 46 if diff -q "$FW" /dev/test_firmware >/dev/null ; then [all …]
|
| /kernel/linux/linux-4.19/tools/testing/selftests/firmware/ |
| D | fw_fallback.sh | 2 # SPDX-License-Identifier: GPL-2.0 4 # to load firmware it can't find on disk itself. We must request a firmware 7 set -e 23 local name="$1" 27 echo -n "$name" >"$DIR"/trigger_request & 31 while [ ! -e "$DIR"/"$name"/loading ]; do 33 timeout=$(( $timeout - 1 )) 34 if [ "$timeout" -eq 0 ]; then 35 echo "$0: firmware interface never appeared" >&2 40 echo 1 >"$DIR"/"$name"/loading [all …]
|
| D | fw_filesystem.sh | 2 # SPDX-License-Identifier: GPL-2.0 3 # This validates that the kernel will load firmware out of its list of 4 # firmware locations on disk. Since the user helper does similar work, 7 set -e 23 echo 1 >/sys/class/firmware/timeout 31 if [ ! -e "$DIR"/trigger_async_request ]; then 41 # Request a firmware that doesn't exist, it should fail. 42 if echo -n "nope-$NAME" >"$DIR"/trigger_request 2> /dev/null; then 43 echo "$0: firmware shouldn't have loaded" >&2 46 if diff -q "$FW" /dev/test_firmware >/dev/null ; then [all …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/marvell/libertas/ |
| D | firmware.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Firmware loading and handling functions. 7 #include <linux/firmware.h> 16 const struct firmware *helper, const struct firmware *mainfw) in lbs_fw_loaded() 20 lbs_deb_fw("firmware load complete, code %d\n", ret); in lbs_fw_loaded() 23 priv->fw_callback(priv, ret, helper, mainfw); in lbs_fw_loaded() 25 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_fw_loaded() 26 priv->fw_callback = NULL; in lbs_fw_loaded() 27 wake_up(&priv->fw_waitq); in lbs_fw_loaded() 28 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_fw_loaded() [all …]
|
| /kernel/linux/linux-4.19/drivers/net/wireless/marvell/libertas/ |
| D | firmware.c | 2 * Firmware loading and handling functions. 6 #include <linux/firmware.h> 15 const struct firmware *helper, const struct firmware *mainfw) in lbs_fw_loaded() 19 lbs_deb_fw("firmware load complete, code %d\n", ret); in lbs_fw_loaded() 22 priv->fw_callback(priv, ret, helper, mainfw); in lbs_fw_loaded() 24 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_fw_loaded() 25 priv->fw_callback = NULL; in lbs_fw_loaded() 26 wake_up(&priv->fw_waitq); in lbs_fw_loaded() 27 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_fw_loaded() 30 static void do_load_firmware(struct lbs_private *priv, const char *name, in do_load_firmware() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/core/ |
| D | firmware.c | 23 #include <core/firmware.h> 27 const char *name, int ver, const struct firmware **pfw) in nvkm_firmware_load_name() argument 32 snprintf(path, sizeof(path), "%s%s", base, name); in nvkm_firmware_load_name() 42 const char *name, int ver, struct nvkm_blob *blob) in nvkm_firmware_load_blob() argument 44 const struct firmware *fw; in nvkm_firmware_load_blob() 47 ret = nvkm_firmware_load_name(subdev, base, name, ver, &fw); in nvkm_firmware_load_blob() 49 blob->data = kmemdup(fw->data, fw->size, GFP_KERNEL); in nvkm_firmware_load_blob() 50 blob->size = fw->size; in nvkm_firmware_load_blob() 52 if (!blob->data) in nvkm_firmware_load_blob() 53 return -ENOMEM; in nvkm_firmware_load_blob() [all …]
|
| /kernel/linux/linux-4.19/Documentation/ABI/testing/ |
| D | sysfs-firmware-qemu_fw_cfg | 1 What: /sys/firmware/qemu_fw_cfg/ 6 sun4*, ppc/mac) are provisioned with a firmware configuration 8 provide configuration data to the guest firmware. Starting 11 useful as an out-of-band, asynchronous mechanism for providing 14 The authoritative guest-side hardware interface documentation 28 /sys/firmware/qemu_fw_cfg/ 32 /sys/firmware/qemu_fw_cfg/rev 34 --- Discoverable fw_cfg blobs by selector key --- 40 /sys/firmware/qemu_fw_cfg/by_key/32 41 /sys/firmware/qemu_fw_cfg/by_key/33 [all …]
|
| /kernel/linux/linux-4.19/Documentation/acpi/ |
| D | ssdt-overlays.txt | 2 In order to support ACPI open-ended hardware configurations (e.g. development 3 boards) we need a way to augment the ACPI configuration provided by the firmware 8 recompiling the firmware image with updated ACPI tables, neither is practical: 10 access to firmware tools which are often not publicly available. 13 way to augment firmware ACPI configuration is by dynamically loading 28 Name (_ADR, Zero) 29 Name (_HID, "BMA222E") 33 Name (RBUF, ResourceTemplate () 55 ASL Optimizing Compiler version 20140214-64 [Mar 29 2014] 56 Copyright (c) 2000 - 2014 Intel Corporation [all …]
|
| /kernel/linux/linux-5.10/lib/ |
| D | test_firmware.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * This module provides an interface to trigger and test firmware loading. 5 * It is designed to be used for basic evaluation of the firmware loading 6 * subsystem (for example when validating firmware verification). It lacks 8 * unless explicitly requested by name. 17 #include <linux/firmware.h> 31 #define TEST_FIRMWARE_NAME "test-firmware.bin" 36 static const struct firmware *test_firmware; 42 const struct firmware *fw; 43 const char *name; member [all …]
|
| /kernel/linux/linux-5.10/drivers/media/usb/dvb-usb/ |
| D | dvb-usb-firmware.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* dvb-usb-firmware.c is part of the DVB USB library. 4 * Copyright (C) 2004-6 Patrick Boettcher (patrick.boettcher@posteo.de) 5 * see dvb-usb-init.c for copyright information. 7 * This file contains functions for downloading the firmware to Cypress FX 1 and 2 based devices. 9 * FIXME: This part does actually not belong to dvb-usb, but to the usb-subsystem. 11 #include "dvb-usb-common.h" 17 const char *name; /* name of the usb controller */ member 18 u16 cpu_cs_register; /* needs to be restarted, when the firmware has been downloaded. */ 22 { .id = DEVICE_SPECIFIC, .name = "Device specific", .cpu_cs_register = 0 }, [all …]
|
| /kernel/linux/linux-4.19/drivers/media/usb/dvb-usb/ |
| D | dvb-usb-firmware.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* dvb-usb-firmware.c is part of the DVB USB library. 4 * Copyright (C) 2004-6 Patrick Boettcher (patrick.boettcher@posteo.de) 5 * see dvb-usb-init.c for copyright information. 7 * This file contains functions for downloading the firmware to Cypress FX 1 and 2 based devices. 9 * FIXME: This part does actually not belong to dvb-usb, but to the usb-subsystem. 11 #include "dvb-usb-common.h" 17 const char *name; /* name of the usb controller */ member 18 u16 cpu_cs_register; /* needs to be restarted, when the firmware has been downloaded. */ 22 { .id = DEVICE_SPECIFIC, .name = "Device specific", .cpu_cs_register = 0 }, [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/firmware/ |
| D | fallback-mechanisms.rst | 6 filesystem lookup on the root filesystem or when the firmware simply cannot be 8 configuration options related to supporting the firmware fallback mechanism are: 10 * CONFIG_FW_LOADER_USER_HELPER: enables building the firmware fallback 15 enable the kobject uevent fallback mechanism on all firmware API calls 21 manually load the firmware. Read below for more details. 31 Justifying the firmware fallback mechanism 40 * Races upon resume from suspend. This is resolved by the firmware cache, but 41 the firmware cache is only supported if you use uevents, and its not 44 * Firmware is not accessible through typical means: 47 * The firmware provides very unique device specific data tailored for [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | sysfs-firmware-qemu_fw_cfg | 1 What: /sys/firmware/qemu_fw_cfg/ 6 sun4*, ppc/mac) are provisioned with a firmware configuration 8 provide configuration data to the guest firmware. Starting 11 useful as an out-of-band, asynchronous mechanism for providing 14 The authoritative guest-side hardware interface documentation 28 /sys/firmware/qemu_fw_cfg/ 32 /sys/firmware/qemu_fw_cfg/rev 40 /sys/firmware/qemu_fw_cfg/by_key/32 41 /sys/firmware/qemu_fw_cfg/by_key/33 42 /sys/firmware/qemu_fw_cfg/by_key/34 [all …]
|
| /kernel/linux/linux-5.10/drivers/base/ |
| D | property.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * property.c - Unified device property interface. 23 return IS_ENABLED(CONFIG_OF) && dev->of_node ? in dev_fwnode() 24 &dev->of_node->fwnode : dev->fwnode; in dev_fwnode() 29 * device_property_present - check if a property of a device is present 31 * @propname: Name of the property 33 * Check if property @propname is present in the device firmware description. 42 * fwnode_property_present - check if a property of a firmware node is present 43 * @fwnode: Firmware node whose property to check 44 * @propname: Name of the property [all …]
|
| /kernel/linux/linux-5.10/Documentation/networking/devlink/ |
| D | devlink-info.rst | 1 .. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 7 The ``devlink-info`` mechanism enables device drivers to report device 8 (hardware and firmware) information in a standard, extensible fashion. 10 The original motivation for the ``devlink-info`` API was twofold: 12 - making it possible to automate device and firmware management in a fleet 13 of machines in a vendor-independent fashion (see also 14 :ref:`Documentation/networking/devlink/devlink-flash.rst <devlink_flash>`); 15 - name the per component FW versions (as opposed to the crowded ethtool 18 ``devlink-info`` supports reporting multiple types of objects. Reporting driver 19 versions is generally discouraged - here, and via any other Linux API. [all …]
|
| /kernel/linux/linux-4.19/lib/ |
| D | test_firmware.c | 2 * This module provides an interface to trigger and test firmware loading. 4 * It is designed to be used for basic evaluation of the firmware loading 5 * subsystem (for example when validating firmware verification). It lacks 7 * unless explicitly requested by name. 16 #include <linux/firmware.h> 26 #define TEST_FIRMWARE_NAME "test-firmware.bin" 30 static const struct firmware *test_firmware; 36 const struct firmware *fw; 37 const char *name; member 44 * test_config - represents configuration for the test for different triggers [all …]
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/acpi/ |
| D | ssdt-overlays.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 In order to support ACPI open-ended hardware configurations (e.g. development 8 boards) we need a way to augment the ACPI configuration provided by the firmware 13 recompiling the firmware image with updated ACPI tables, neither is practical: 15 access to firmware tools which are often not publicly available. 18 way to augment firmware ACPI configuration is by dynamically loading 33 Name (_ADR, Zero) 34 Name (_HID, "BMA222E") 38 Name (RBUF, ResourceTemplate () 60 ASL Optimizing Compiler version 20140214-64 [Mar 29 2014] [all …]
|
| /kernel/linux/linux-4.19/drivers/staging/greybus/Documentation/firmware/ |
| D | firmware-management | 2 Firmware Management 3 ------------------- 7 Interface-Manifest 8 ------------------ 10 All firmware packages on the Modules or Interfaces are managed by a special 11 Firmware Management Protocol. To support Firmware Management by the AP, the 12 Interface Manifest shall at least contain the Firmware Management Bundle and a 13 Firmware Management Protocol CPort within it. 16 required to manage firmware packages. 18 For example, this is how the Firmware Management part of the Interface Manifest [all …]
|