root/drivers/acpi/acpica/dbfileio.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ACPI_MODULE_NAME
  2. acpi_db_open_debug_file
  3. acpi_db_load_tables

   1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
   2 /*******************************************************************************
   3  *
   4  * Module Name: dbfileio - Debugger file I/O commands. These can't usually
   5  *              be used when running the debugger in Ring 0 (Kernel mode)
   6  *
   7  ******************************************************************************/
   8 
   9 #include <acpi/acpi.h>
  10 #include "accommon.h"
  11 #include "acdebug.h"
  12 #include "actables.h"
  13 
  14 #define _COMPONENT          ACPI_CA_DEBUGGER
  15 ACPI_MODULE_NAME("dbfileio")
  16 
  17 #ifdef ACPI_APPLICATION
  18 #include "acapps.h"
  19 #ifdef ACPI_DEBUGGER
  20 /*******************************************************************************
  21  *
  22  * FUNCTION:    acpi_db_close_debug_file
  23  *
  24  * PARAMETERS:  None
  25  *
  26  * RETURN:      None
  27  *
  28  * DESCRIPTION: If open, close the current debug output file
  29  *
  30  ******************************************************************************/
  31 void acpi_db_close_debug_file(void)
  32 {
  33 
  34         if (acpi_gbl_debug_file) {
  35                 fclose(acpi_gbl_debug_file);
  36                 acpi_gbl_debug_file = NULL;
  37                 acpi_gbl_db_output_to_file = FALSE;
  38                 acpi_os_printf("Debug output file %s closed\n",
  39                                acpi_gbl_db_debug_filename);
  40         }
  41 }
  42 
  43 /*******************************************************************************
  44  *
  45  * FUNCTION:    acpi_db_open_debug_file
  46  *
  47  * PARAMETERS:  name                - Filename to open
  48  *
  49  * RETURN:      None
  50  *
  51  * DESCRIPTION: Open a file where debug output will be directed.
  52  *
  53  ******************************************************************************/
  54 
  55 void acpi_db_open_debug_file(char *name)
  56 {
  57 
  58         acpi_db_close_debug_file();
  59         acpi_gbl_debug_file = fopen(name, "w+");
  60         if (!acpi_gbl_debug_file) {
  61                 acpi_os_printf("Could not open debug file %s\n", name);
  62                 return;
  63         }
  64 
  65         acpi_os_printf("Debug output file %s opened\n", name);
  66         acpi_ut_safe_strncpy(acpi_gbl_db_debug_filename, name,
  67                              sizeof(acpi_gbl_db_debug_filename));
  68         acpi_gbl_db_output_to_file = TRUE;
  69 }
  70 #endif
  71 
  72 /*******************************************************************************
  73  *
  74  * FUNCTION:    acpi_db_load_tables
  75  *
  76  * PARAMETERS:  list_head       - List of ACPI tables to load
  77  *
  78  * RETURN:      Status
  79  *
  80  * DESCRIPTION: Load ACPI tables from a previously constructed table list.
  81  *
  82  ******************************************************************************/
  83 
  84 acpi_status acpi_db_load_tables(struct acpi_new_table_desc *list_head)
  85 {
  86         acpi_status status;
  87         struct acpi_new_table_desc *table_list_head;
  88         struct acpi_table_header *table;
  89 
  90         /* Load all ACPI tables in the list */
  91 
  92         table_list_head = list_head;
  93         while (table_list_head) {
  94                 table = table_list_head->table;
  95 
  96                 status = acpi_load_table(table);
  97                 if (ACPI_FAILURE(status)) {
  98                         if (status == AE_ALREADY_EXISTS) {
  99                                 acpi_os_printf
 100                                     ("Table %4.4s is already installed\n",
 101                                      table->signature);
 102                         } else {
 103                                 acpi_os_printf("Could not install table, %s\n",
 104                                                acpi_format_exception(status));
 105                         }
 106 
 107                         return (status);
 108                 }
 109 
 110                 acpi_os_printf
 111                     ("Acpi table [%4.4s] successfully installed and loaded\n",
 112                      table->signature);
 113 
 114                 table_list_head = table_list_head->next;
 115         }
 116 
 117         return (AE_OK);
 118 }
 119 #endif

/* [<][>][^][v][top][bottom][index][help] */