Lines Matching refs:fw_sysfs
73 struct fw_sysfs { struct
80 static struct fw_sysfs *to_fw_sysfs(struct device *dev) in to_fw_sysfs() argument
82 return container_of(dev, struct fw_sysfs, dev); in to_fw_sysfs()
98 static void fw_load_abort(struct fw_sysfs *fw_sysfs) in fw_load_abort() argument
100 struct fw_priv *fw_priv = fw_sysfs->fw_priv; in fw_load_abort()
162 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in fw_dev_release() local
164 kfree(fw_sysfs); in fw_dev_release()
167 static int do_firmware_uevent(struct fw_sysfs *fw_sysfs, struct kobj_uevent_env *env) in do_firmware_uevent() argument
169 if (add_uevent_var(env, "FIRMWARE=%s", fw_sysfs->fw_priv->fw_name)) in do_firmware_uevent()
173 if (add_uevent_var(env, "ASYNC=%d", fw_sysfs->nowait)) in do_firmware_uevent()
181 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_uevent() local
185 if (fw_sysfs->fw_priv) in firmware_uevent()
186 err = do_firmware_uevent(fw_sysfs, env); in firmware_uevent()
211 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_loading_show() local
215 if (fw_sysfs->fw_priv) in firmware_loading_show()
216 loading = fw_sysfs_loading(fw_sysfs->fw_priv); in firmware_loading_show()
253 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_loading_store() local
260 fw_priv = fw_sysfs->fw_priv; in firmware_loading_store()
314 fw_load_abort(fw_sysfs); in firmware_loading_store()
361 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_data_read() local
366 fw_priv = fw_sysfs->fw_priv; in firmware_data_read()
390 static int fw_realloc_pages(struct fw_sysfs *fw_sysfs, int min_size) in fw_realloc_pages() argument
392 struct fw_priv *fw_priv= fw_sysfs->fw_priv; in fw_realloc_pages()
403 fw_load_abort(fw_sysfs); in fw_realloc_pages()
420 fw_load_abort(fw_sysfs); in fw_realloc_pages()
445 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_data_write() local
453 fw_priv = fw_sysfs->fw_priv; in firmware_data_write()
467 retval = fw_realloc_pages(fw_sysfs, offset + count); in firmware_data_write()
508 static struct fw_sysfs *
512 struct fw_sysfs *fw_sysfs; in fw_create_instance() local
515 fw_sysfs = kzalloc(sizeof(*fw_sysfs), GFP_KERNEL); in fw_create_instance()
516 if (!fw_sysfs) { in fw_create_instance()
517 fw_sysfs = ERR_PTR(-ENOMEM); in fw_create_instance()
521 fw_sysfs->nowait = !!(opt_flags & FW_OPT_NOWAIT); in fw_create_instance()
522 fw_sysfs->fw = firmware; in fw_create_instance()
523 f_dev = &fw_sysfs->dev; in fw_create_instance()
531 return fw_sysfs; in fw_create_instance()
542 static int fw_load_sysfs_fallback(struct fw_sysfs *fw_sysfs, in fw_load_sysfs_fallback() argument
546 struct device *f_dev = &fw_sysfs->dev; in fw_load_sysfs_fallback()
547 struct fw_priv *fw_priv = fw_sysfs->fw_priv; in fw_load_sysfs_fallback()
569 kobject_uevent(&fw_sysfs->dev.kobj, KOBJ_ADD); in fw_load_sysfs_fallback()
577 fw_load_abort(fw_sysfs); in fw_load_sysfs_fallback()
599 struct fw_sysfs *fw_sysfs; in fw_load_from_user_helper() local
620 fw_sysfs = fw_create_instance(firmware, name, device, opt_flags); in fw_load_from_user_helper()
621 if (IS_ERR(fw_sysfs)) { in fw_load_from_user_helper()
622 ret = PTR_ERR(fw_sysfs); in fw_load_from_user_helper()
626 fw_sysfs->fw_priv = firmware->priv; in fw_load_from_user_helper()
627 ret = fw_load_sysfs_fallback(fw_sysfs, opt_flags, timeout); in fw_load_from_user_helper()