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()
239 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_loading_store() local
245 fw_priv = fw_sysfs->fw_priv; in firmware_loading_store()
294 fw_load_abort(fw_sysfs); in firmware_loading_store()
341 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_data_read() local
346 fw_priv = fw_sysfs->fw_priv; in firmware_data_read()
370 static int fw_realloc_pages(struct fw_sysfs *fw_sysfs, int min_size) in fw_realloc_pages() argument
374 err = fw_grow_paged_buf(fw_sysfs->fw_priv, in fw_realloc_pages()
377 fw_load_abort(fw_sysfs); in fw_realloc_pages()
398 struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); in firmware_data_write() local
406 fw_priv = fw_sysfs->fw_priv; in firmware_data_write()
420 retval = fw_realloc_pages(fw_sysfs, offset + count); in firmware_data_write()
461 static struct fw_sysfs *
465 struct fw_sysfs *fw_sysfs; in fw_create_instance() local
468 fw_sysfs = kzalloc(sizeof(*fw_sysfs), GFP_KERNEL); in fw_create_instance()
469 if (!fw_sysfs) { in fw_create_instance()
470 fw_sysfs = ERR_PTR(-ENOMEM); in fw_create_instance()
474 fw_sysfs->nowait = !!(opt_flags & FW_OPT_NOWAIT); in fw_create_instance()
475 fw_sysfs->fw = firmware; in fw_create_instance()
476 f_dev = &fw_sysfs->dev; in fw_create_instance()
484 return fw_sysfs; in fw_create_instance()
495 static int fw_load_sysfs_fallback(struct fw_sysfs *fw_sysfs, in fw_load_sysfs_fallback() argument
499 struct device *f_dev = &fw_sysfs->dev; in fw_load_sysfs_fallback()
500 struct fw_priv *fw_priv = fw_sysfs->fw_priv; in fw_load_sysfs_fallback()
522 kobject_uevent(&fw_sysfs->dev.kobj, KOBJ_ADD); in fw_load_sysfs_fallback()
530 fw_load_abort(fw_sysfs); in fw_load_sysfs_fallback()
552 struct fw_sysfs *fw_sysfs; in fw_load_from_user_helper() local
573 fw_sysfs = fw_create_instance(firmware, name, device, opt_flags); in fw_load_from_user_helper()
574 if (IS_ERR(fw_sysfs)) { in fw_load_from_user_helper()
575 ret = PTR_ERR(fw_sysfs); in fw_load_from_user_helper()
579 fw_sysfs->fw_priv = firmware->priv; in fw_load_from_user_helper()
580 ret = fw_load_sysfs_fallback(fw_sysfs, opt_flags, timeout); in fw_load_from_user_helper()