Lines Matching defs:fw_sysfs
76 struct fw_sysfs {
83 static struct fw_sysfs *to_fw_sysfs(struct device *dev)
85 return container_of(dev, struct fw_sysfs, dev);
100 static void fw_load_abort(struct fw_sysfs *fw_sysfs)
102 struct fw_priv *fw_priv = fw_sysfs->fw_priv;
164 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
166 kfree(fw_sysfs);
169 static int do_firmware_uevent(struct fw_sysfs *fw_sysfs, struct kobj_uevent_env *env)
171 if (add_uevent_var(env, "FIRMWARE=%s", fw_sysfs->fw_priv->fw_name))
175 if (add_uevent_var(env, "ASYNC=%d", fw_sysfs->nowait))
183 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
187 if (fw_sysfs->fw_priv)
188 err = do_firmware_uevent(fw_sysfs, env);
213 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
217 if (fw_sysfs->fw_priv)
218 loading = fw_sysfs_loading(fw_sysfs->fw_priv);
241 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
247 fw_priv = fw_sysfs->fw_priv;
295 fw_load_abort(fw_sysfs);
342 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
347 fw_priv = fw_sysfs->fw_priv;
371 static int fw_realloc_pages(struct fw_sysfs *fw_sysfs, int min_size)
375 err = fw_grow_paged_buf(fw_sysfs->fw_priv,
378 fw_load_abort(fw_sysfs);
399 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
407 fw_priv = fw_sysfs->fw_priv;
421 retval = fw_realloc_pages(fw_sysfs, offset + count);
462 static struct fw_sysfs *
466 struct fw_sysfs *fw_sysfs;
469 fw_sysfs = kzalloc(sizeof(*fw_sysfs), GFP_KERNEL);
470 if (!fw_sysfs) {
471 fw_sysfs = ERR_PTR(-ENOMEM);
475 fw_sysfs->nowait = !!(opt_flags & FW_OPT_NOWAIT);
476 fw_sysfs->fw = firmware;
477 f_dev = &fw_sysfs->dev;
485 return fw_sysfs;
490 * @fw_sysfs: firmware sysfs information for the firmware to load
495 static int fw_load_sysfs_fallback(struct fw_sysfs *fw_sysfs, long timeout)
498 struct device *f_dev = &fw_sysfs->dev;
499 struct fw_priv *fw_priv = fw_sysfs->fw_priv;
526 kobject_uevent(&fw_sysfs->dev.kobj, KOBJ_ADD);
534 fw_load_abort(fw_sysfs);
555 struct fw_sysfs *fw_sysfs;
576 fw_sysfs = fw_create_instance(firmware, name, device, opt_flags);
577 if (IS_ERR(fw_sysfs)) {
578 ret = PTR_ERR(fw_sysfs);
582 fw_sysfs->fw_priv = firmware->priv;
583 ret = fw_load_sysfs_fallback(fw_sysfs, timeout);