/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_EFI_EMBEDDED_FW_H
#define _LINUX_EFI_EMBEDDED_FW_H

#include <linux/list.h>
#include <linux/mod_devicetable.h>

#define EFI_EMBEDDED_FW_PREFIX_LEN		8

/*
 * This struct and efi_embedded_fw_list are private to the efi-embedded fw
 * implementation they are in this header for use by lib/test_firmware.c only!
 */
struct efi_embedded_fw {
	struct list_head list;
	const char *name;
	const u8 *data;
	size_t length;
};

extern struct list_head efi_embedded_fw_list;

/**
 * struct efi_embedded_fw_desc - This struct is used by the EFI embedded-fw
 *                               code to search for embedded firmwares.
 *
 * @name:   Name to register the firmware with if found
 * @prefix: First 8 bytes of the firmware
 * @length: Length of the firmware in bytes including prefix
 * @sha256: SHA256 of the firmware
 */
struct efi_embedded_fw_desc {
	const char *name;
	u8 prefix[EFI_EMBEDDED_FW_PREFIX_LEN];
	u32 length;
	u8 sha256[32];
};

extern const struct dmi_system_id touchscreen_dmi_table[];

int efi_get_embedded_fw(const char *name, const u8 **dat, size_t *sz);

#endif
