---
name: "request_firmware"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/request_firmware"
---

# request\_firmware(9)

send firmware request and wait for it

## NAME

request\_firmware - send firmware request and wait for it

## SYNOPSIS

**int request\_firmware(const struct firmware \*\*** *firmware\_p***, const char \*** *name***, struct device \*** *device***);**

## ARGUMENTS

*firmware\_p*

pointer to firmware image

*name*

name of firmware file

*device*

device for which firmware is being loaded

## DESCRIPTION

*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.

## COPYRIGHT
