#ifndef _LINUXKPI_LINUX_FIRMWARE_H
#define _LINUXKPI_LINUX_FIRMWARE_H
#include <sys/types.h>
#include <linux/types.h>
#include <linux/device.h>
struct firmware;
struct linuxkpi_firmware {
size_t size;
const uint8_t *data;
const struct firmware *fbdfw;
};
int linuxkpi_request_firmware_nowait(struct module *, bool, const char *,
struct device *, gfp_t, void *,
void(*cont)(const struct linuxkpi_firmware *, void *));
int linuxkpi_request_firmware(const struct linuxkpi_firmware **,
const char *, struct device *);
int linuxkpi_firmware_request_nowarn(const struct linuxkpi_firmware **,
const char *, struct device *);
void linuxkpi_release_firmware(const struct linuxkpi_firmware *);
int linuxkpi_request_partial_firmware_into_buf(const struct linuxkpi_firmware **,
const char *, struct device *, uint8_t *, size_t, size_t);
static __inline int
request_firmware_nowait(struct module *mod, bool _t,
const char *fw_name, struct device *dev, gfp_t gfp, void *drv,
void(*cont)(const struct linuxkpi_firmware *, void *))
{
return (linuxkpi_request_firmware_nowait(mod, _t, fw_name, dev, gfp,
drv, cont));
}
static __inline int
request_firmware(const struct linuxkpi_firmware **fw,
const char *fw_name, struct device *dev)
{
return (linuxkpi_request_firmware(fw, fw_name, dev));
}
static __inline int
request_firmware_direct(const struct linuxkpi_firmware **fw,
const char *fw_name, struct device *dev)
{
return (linuxkpi_request_firmware(fw, fw_name, dev));
}
static __inline int
firmware_request_nowarn(const struct linuxkpi_firmware **fw,
const char *fw_name, struct device *dev)
{
return (linuxkpi_firmware_request_nowarn(fw, fw_name, dev));
}
static __inline void
release_firmware(const struct linuxkpi_firmware *fw)
{
linuxkpi_release_firmware(fw);
}
static inline int
request_partial_firmware_into_buf(const struct linuxkpi_firmware **fw,
const char *fw_name, struct device *dev, void *buf, size_t buflen,
size_t offset)
{
return (linuxkpi_request_partial_firmware_into_buf(fw, fw_name,
dev, buf, buflen, offset));
}
#define firmware linuxkpi_firmware
#endif