Lines Matching full:firmware
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()
31 void (*cb)(const struct firmware *fw, void *context)) in do_load_firmware()
44 static void main_firmware_cb(const struct firmware *firmware, void *context) in main_firmware_cb() argument
48 if (!firmware) { in main_firmware_cb()
49 /* Failed to find firmware: try next table entry */ in main_firmware_cb()
54 /* Firmware found! */ in main_firmware_cb()
55 lbs_fw_loaded(priv, 0, priv->helper_fw, firmware); in main_firmware_cb()
60 release_firmware (firmware); in main_firmware_cb()
63 static void helper_firmware_cb(const struct firmware *firmware, void *context) in helper_firmware_cb() argument
67 if (!firmware) { in helper_firmware_cb()
68 /* Failed to find firmware: try next table entry */ in helper_firmware_cb()
73 /* Firmware found! */ in helper_firmware_cb()
75 priv->helper_fw = firmware; in helper_firmware_cb()
78 /* No main firmware needed for this helper --> success! */ in helper_firmware_cb()
79 lbs_fw_loaded(priv, 0, firmware, NULL); in helper_firmware_cb()
119 * lbs_get_firmware_async - Retrieves firmware asynchronously. Can load
120 * either a helper firmware and a main firmware (2-stage), or just the helper.
124 * @card_model: Bus-specific card model ID used to filter firmware table
126 * @fw_table: Table of firmware file names and device model numbers
128 * @callback: User callback to invoke when firmware load succeeds or fails.
138 lbs_deb_fw("firmware load already in progress\n"); in lbs_get_firmware_async()
150 lbs_deb_fw("Starting async firmware load\n"); in lbs_get_firmware_async()
157 * lbs_get_firmware - Retrieves two-stage firmware
160 * @card_model: Bus-specific card model ID used to filter firmware table
162 * @fw_table: Table of firmware file names and device model numbers
164 * @helper: On success, the helper firmware; caller must free
165 * @mainfw: On success, the main firmware; caller must free
173 const struct firmware **helper, in lbs_get_firmware()
174 const struct firmware **mainfw) in lbs_get_firmware()
182 /* Search for firmware to use from the table. */ in lbs_get_firmware()
193 /* If the device has one-stage firmware (ie cf8305) and in lbs_get_firmware()
195 * main firmware. in lbs_get_firmware()
205 * mismatched firmware pairs. in lbs_get_firmware()