*参照元 [#cb7c55f4]
#backlinks

*説明 [#sbd93fba]
-パス: 複数あり
--CONFIG_FW_LOADER または CONFIG_FW_LOADER_MODULE が有効: [[linux-4.4.1/drivers/base/firmware_class.c]]
--CONFIG_FW_LOADER と CONFIG_FW_LOADER_MODULE どちらも無効: [[linux-4.4.1/include/linux/firmware.h]]
--[[linux-4.4.1/CONFIG_FW_LOADER]]
--[[linux-4.4.1/CONFIG_FW_LOADER_MODULE]]

-FIXME: これは何?
--説明


**引数 [#x97db9cb]
-const struct firmware **firmware_p
--
--[[linux-4.4.1/firmware]]
-const char *name
--
-struct device *device
--
--[[linux-4.4.1/device]]


**返り値 [#v0d2c6aa]
-int
--


**参考 [#rbfe62aa]


*実装 [#h0cf8f5f]

**CONFIG_FW_LOADER または CONFIG_FW_LOADER_MODULE が有効: drivers/base/firmware_class.c [#wc52c6fa]
 /**
  * request_firmware: - send firmware request and wait for it
  * @firmware_p: pointer to firmware image
  * @name: name of firmware file
  * @device: device for which firmware is being loaded
  *
  *      @firmware_p will be used to return a firmware image by the name
  *      of @name for device @device.
  *
  *      Should be called from user context where sleeping is allowed.
  *
  *      @name will be used as $FIRMWARE in the uevent environment and
  *      should be distinctive enough not to be confused with any other
  *      firmware image for this or any other device.
  *
  *      Caller must hold the reference count of @device.
  *
  *      The function can be called safely inside device's suspend and
  *      resume callback.
  **/
 int
 request_firmware(const struct firmware **firmware_p, const char *name,
                  struct device *device)
 {
         int ret;
 
         /* Need to pin this module until return */
         __module_get(THIS_MODULE);
         ret = _request_firmware(firmware_p, name, device,
                                 FW_OPT_UEVENT | FW_OPT_FALLBACK);
         module_put(THIS_MODULE);
-
--[[linux-4.4.1/__module_get()]]
--[[linux-4.4.1/_request_firmware()]]
--[[linux-4.4.1/module_put()]]
--[[linux-4.4.1/THIS_MODULE]]

         return ret;
 }
 EXPORT_SYMBOL(request_firmware);
-
--[[linux-4.4.1/EXPORT_SYMBOL()]]


**CONFIG_FW_LOADER と CONFIG_FW_LOADER_MODULE どちらも無効: include/linux/firmware.h [#a8af2498]
 static inline int request_firmware(const struct firmware **fw,
                                    const char *name,
                                    struct device *device)
 {
         return -EINVAL;
-必ず失敗する。

 }


*コメント [#cd96d632]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS