Lines Matching full:firmware
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()
32 void (*cb)(const struct firmware *fw, void *context)) in do_load_firmware()
45 static void main_firmware_cb(const struct firmware *firmware, void *context) in main_firmware_cb() argument
49 if (!firmware) { in main_firmware_cb()
50 /* Failed to find firmware: try next table entry */ in main_firmware_cb()
55 /* Firmware found! */ in main_firmware_cb()
56 lbs_fw_loaded(priv, 0, priv->helper_fw, firmware); in main_firmware_cb()
61 release_firmware (firmware); in main_firmware_cb()
64 static void helper_firmware_cb(const struct firmware *firmware, void *context) in helper_firmware_cb() argument
68 if (!firmware) { in helper_firmware_cb()
69 /* Failed to find firmware: try next table entry */ in helper_firmware_cb()
74 /* Firmware found! */ in helper_firmware_cb()
76 priv->helper_fw = firmware; in helper_firmware_cb()
79 /* No main firmware needed for this helper --> success! */ in helper_firmware_cb()
80 lbs_fw_loaded(priv, 0, firmware, NULL); in helper_firmware_cb()
120 * lbs_get_firmware_async - Retrieves firmware asynchronously. Can load
121 * either a helper firmware and a main firmware (2-stage), or just the helper.
125 * @card_model: Bus-specific card model ID used to filter firmware table
127 * @fw_table: Table of firmware file names and device model numbers
129 * @callback: User callback to invoke when firmware load succeeds or fails.
139 lbs_deb_fw("firmware load already in progress\n"); in lbs_get_firmware_async()
151 lbs_deb_fw("Starting async firmware load\n"); in lbs_get_firmware_async()
158 * lbs_get_firmware - Retrieves two-stage firmware
161 * @card_model: Bus-specific card model ID used to filter firmware table
163 * @fw_table: Table of firmware file names and device model numbers
165 * @helper: On success, the helper firmware; caller must free
166 * @mainfw: On success, the main firmware; caller must free
174 const struct firmware **helper, in lbs_get_firmware()
175 const struct firmware **mainfw) in lbs_get_firmware()
183 /* Search for firmware to use from the table. */ in lbs_get_firmware()
194 /* If the device has one-stage firmware (ie cf8305) and in lbs_get_firmware()
196 * main firmware. in lbs_get_firmware()
206 * mismatched firmware pairs. in lbs_get_firmware()