aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acpi_table.h10
-rw-r--r--include/dm/acpi.h23
2 files changed, 21 insertions, 12 deletions
diff --git a/include/acpi/acpi_table.h b/include/acpi/acpi_table.h
index f34bd6311a1..fcc9caaddfd 100644
--- a/include/acpi/acpi_table.h
+++ b/include/acpi/acpi_table.h
@@ -679,16 +679,6 @@ void acpi_inc_align(struct acpi_ctx *ctx, uint amount);
int acpi_add_table(struct acpi_ctx *ctx, void *table);
/**
- * acpi_setup_base_tables() - Set up base tables - RSDP, RSDT and XSDT
- *
- * Writes the basic tables to the given context, which must first be set up with
- * acpi_setup_ctx().
- *
- * @ctx: Context to write base tables to
- */
-void acpi_setup_base_tables(struct acpi_ctx *ctx);
-
-/**
* acpi_write_rsdp() - Write out an RSDP indicating where the ACPI tables are
*
* @rsdp: Address to write RSDP
diff --git a/include/dm/acpi.h b/include/dm/acpi.h
index f6e54793f79..2021a690309 100644
--- a/include/dm/acpi.h
+++ b/include/dm/acpi.h
@@ -72,9 +72,11 @@ struct acpi_ctx {
/**
* enum acpi_writer_flags_t - flags to use for the ACPI writers
+ *
+ * ACPIWF_ALIGN64 - align to 64 bytes after writing this one (default is 16)
*/
enum acpi_writer_flags_t {
- ACPIWF_ALIGN64_,
+ ACPIWF_ALIGN64 = 1 << 0,
};
struct acpi_writer;
@@ -103,7 +105,7 @@ struct acpi_writer {
int flags;
};
-/* Declare a new ACPI table writer */
+/* Declare a new ACPI-table writer */
#define ACPI_WRITER(_name, _table, _write, _flags) \
ll_entry_declare(struct acpi_writer, _name, acpi_writer) = { \
.name = #_name, \
@@ -112,6 +114,10 @@ struct acpi_writer {
.flags = _flags, \
}
+/* Get a pointer to a given ACPI-table writer */
+#define ACPI_WRITER_GET(_name) \
+ ll_entry_get(struct acpi_writer, _name, acpi_writer)
+
/**
* struct acpi_ops - ACPI operations supported by driver model
*/
@@ -309,6 +315,19 @@ int acpi_write_one(struct acpi_ctx *ctx, const struct acpi_writer *entry);
*/
void acpi_setup_ctx(struct acpi_ctx *ctx, ulong start);
+/**
+ * acpi_write_one() - Call a single ACPI writer entry
+ *
+ * This handles aligning the context afterwards, if the entry flags indicate
+ * that.
+ *
+ * @ctx: ACPI context to use
+ * @entry: Entry to call
+ * @return 0 if OK, -ENOENT if this writer produced an empty entry, other -ve
+ * value on error
+ */
+int acpi_write_one(struct acpi_ctx *ctx, const struct acpi_writer *entry);
+
#endif /* __ACPI__ */
#endif