linux/include/linux/fw_table.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 *  fw_tables.h - Parsing support for ACPI and ACPI-like tables provided by
 *                platform or device firmware
 *
 *  Copyright (C) 2001 Paul Diefenbaugh <[email protected]>
 *  Copyright (C) 2023 Intel Corp.
 */
#ifndef _FW_TABLE_H_
#define _FW_TABLE_H_

acpi_subtable_headers;

acpi_tbl_entry_handler;

acpi_tbl_entry_handler_arg;

struct acpi_subtable_proc {};

fw_table_header;

acpi_subtable_headers;

int acpi_parse_entries_array(char *id, unsigned long table_size,
			     union fw_table_header *table_header,
			     unsigned long max_length,
			     struct acpi_subtable_proc *proc,
			     int proc_num, unsigned int max_entries);

int cdat_table_parse(enum acpi_cdat_type type,
		     acpi_tbl_entry_handler_arg handler_arg, void *arg,
		     struct acpi_table_cdat *table_header,
		     unsigned long length);

/* CXL is the only non-ACPI consumer of the FIRMWARE_TABLE library */
#if IS_ENABLED(CONFIG_ACPI) && !IS_ENABLED(CONFIG_CXL_BUS)
#define EXPORT_SYMBOL_FWTBL_LIB
#define __init_or_fwtbl_lib
#else
#define EXPORT_SYMBOL_FWTBL_LIB(x)
#define __init_or_fwtbl_lib
#endif

#endif