linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001
@ 2022-03-04  5:22 Ilkka Koskinen
  2022-03-04  5:22 ` [PATCH v5 RESEND 1/2] ACPI: tables: Add AGDI to the list of known table signatures Ilkka Koskinen
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Ilkka Koskinen @ 2022-03-04  5:22 UTC (permalink / raw)
  To: lorenzo.pieralisi, guohanjun, sudeep.holla, rafael, linux
  Cc: lenb, robert.moore, james.morse, linux-acpi, linux-arm-kernel,
	linux-kernel, patches, scott, darren

Hi Lorenzo,

Would you prefer this version, which doesn't have platform device/driver
any more?

--Ilkka


----

Arm Generic Diagnostic Dump and Reset device enables a maintainer to
request OS to perform a diagnostic dump and reset a system via SDEI
event or an interrupt. This patchset adds support for the SDEI path.

I do have a patch to enable the interrupt path as well but I'm holding
it back since AGDI table is missing interrupt configuration fields
(trigger type etc.).

The recently published specification is available at
https://developer.arm.com/documentation/den0093/latest

The patchset was tested on Ampere Altra/Mt. Jade.

The patchset applies on top of
  git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm bleeding-edge (9db71e8e3027)

I also tested it works on top of Shuai Xue's new patches in bleeding-edge branch (c6f4ba2d2b9a)

From v1:
     * Moved pdata to the stack and dropped unnecessary kzalloc() in agdi_init()
     * Changed the ACPICA patch upstreaming order comment in the paragraph above

From v2:
     * The first patch was split. The most of it was merged to ACPICA project
       at first and later ported to linux-acpi
       (fd919e37cb15914c6fe13e13d530a4f732407c6d). The rest are in the first
       patch.

From v3:
     Fixed:
	* Moved header files in alphabetical order and removed unnecessary ones

From v4:
	* Platform device/driver stuff removed
	* acpi_agdi_init() call moved from device_initcall to acpi_init() 
	* Slightly modified Kconfig text to keep checkpatch happy

Ilkka Koskinen (2):
  ACPI: tables: Add AGDI to the list of known table signatures
  ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset
    device

 drivers/acpi/arm64/Kconfig  | 10 +++++++
 drivers/acpi/arm64/Makefile |  1 +
 drivers/acpi/arm64/agdi.c   | 52 +++++++++++++++++++++++++++++++++++++
 drivers/acpi/bus.c          |  2 ++
 drivers/acpi/tables.c       |  2 +-
 include/linux/acpi_agdi.h   | 13 ++++++++++
 6 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 drivers/acpi/arm64/agdi.c
 create mode 100644 include/linux/acpi_agdi.h

-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v5 RESEND 1/2] ACPI: tables: Add AGDI to the list of known table signatures
  2022-03-04  5:22 xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001 Ilkka Koskinen
@ 2022-03-04  5:22 ` Ilkka Koskinen
  2022-03-04  5:22 ` [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset device Ilkka Koskinen
  2022-03-04  5:32 ` xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001 Ilkka Koskinen
  2 siblings, 0 replies; 6+ messages in thread
From: Ilkka Koskinen @ 2022-03-04  5:22 UTC (permalink / raw)
  To: lorenzo.pieralisi, guohanjun, sudeep.holla, rafael, linux
  Cc: lenb, robert.moore, james.morse, linux-acpi, linux-arm-kernel,
	linux-kernel, patches, scott, darren

Add AGDI to the list of known ACPI table signatures to allow the
kernel to recognize it when upgrading tables via initrd.

Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
 drivers/acpi/tables.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 369eb998c3d1..ceee808f7f2a 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -545,7 +545,7 @@ static const char table_sigs[][ACPI_NAMESEG_SIZE] __initconst = {
 	ACPI_SIG_WDDT, ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT,
 	ACPI_SIG_PSDT, ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT,
 	ACPI_SIG_IORT, ACPI_SIG_NFIT, ACPI_SIG_HMAT, ACPI_SIG_PPTT,
-	ACPI_SIG_NHLT, ACPI_SIG_AEST, ACPI_SIG_CEDT };
+	ACPI_SIG_NHLT, ACPI_SIG_AEST, ACPI_SIG_CEDT, ACPI_SIG_AGDI };
 
 #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header)
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset device
  2022-03-04  5:22 xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001 Ilkka Koskinen
  2022-03-04  5:22 ` [PATCH v5 RESEND 1/2] ACPI: tables: Add AGDI to the list of known table signatures Ilkka Koskinen
@ 2022-03-04  5:22 ` Ilkka Koskinen
  2022-03-09  6:09   ` kernel test robot
  2022-03-04  5:32 ` xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001 Ilkka Koskinen
  2 siblings, 1 reply; 6+ messages in thread
From: Ilkka Koskinen @ 2022-03-04  5:22 UTC (permalink / raw)
  To: lorenzo.pieralisi, guohanjun, sudeep.holla, rafael, linux
  Cc: lenb, robert.moore, james.morse, linux-acpi, linux-arm-kernel,
	linux-kernel, patches, scott, darren

ACPI for Arm Components 1.1 Platform Design Document v1.1 [0] specifices
Arm Generic Diagnostic Device Interface (AGDI). It allows an admin to
issue diagnostic dump and reset via an SDEI event or an interrupt.
This patch implements SDEI path.

[0] https://developer.arm.com/documentation/den0093/latest/

Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
---
 drivers/acpi/arm64/Kconfig  | 10 +++++++
 drivers/acpi/arm64/Makefile |  1 +
 drivers/acpi/arm64/agdi.c   | 52 +++++++++++++++++++++++++++++++++++++
 drivers/acpi/bus.c          |  2 ++
 include/linux/acpi_agdi.h   | 13 ++++++++++
 5 files changed, 78 insertions(+)
 create mode 100644 drivers/acpi/arm64/agdi.c
 create mode 100644 include/linux/acpi_agdi.h

diff --git a/drivers/acpi/arm64/Kconfig b/drivers/acpi/arm64/Kconfig
index 6dba187f4f2e..d4a72835f328 100644
--- a/drivers/acpi/arm64/Kconfig
+++ b/drivers/acpi/arm64/Kconfig
@@ -8,3 +8,13 @@ config ACPI_IORT
 
 config ACPI_GTDT
 	bool
+
+config ACPI_AGDI
+	bool "Arm Generic Diagnostic Dump and Reset Device Interface"
+	depends on ARM_SDE_INTERFACE
+	help
+	  Arm Generic Diagnostic Dump and Reset Device Interface (AGDI) is
+	  a standard that enables issuing a non-maskable diagnostic dump and
+	  reset command.
+
+	  If set, the kernel parses AGDI table and listens for the command.
diff --git a/drivers/acpi/arm64/Makefile b/drivers/acpi/arm64/Makefile
index 66acbe77f46e..7b9e4045659d 100644
--- a/drivers/acpi/arm64/Makefile
+++ b/drivers/acpi/arm64/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+obj-$(CONFIG_ACPI_AGDI) 	+= agdi.o
 obj-$(CONFIG_ACPI_IORT) 	+= iort.o
 obj-$(CONFIG_ACPI_GTDT) 	+= gtdt.o
 obj-y				+= dma.o
diff --git a/drivers/acpi/arm64/agdi.c b/drivers/acpi/arm64/agdi.c
new file mode 100644
index 000000000000..28916650d834
--- /dev/null
+++ b/drivers/acpi/arm64/agdi.c
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * This file implements handling of
+ * Arm Generic Diagnostic Dump and Reset Interface table (AGDI)
+ *
+ * Copyright (c) 2022, Ampere Computing LLC
+ */
+
+#define pr_fmt(fmt) "ACPI: AGDI: " fmt
+
+#include <linux/acpi.h>
+#include <linux/arm_sdei.h>
+#include <linux/io.h>
+#include <linux/kernel.h>
+
+static int agdi_sdei_handler(u32 sdei_event, struct pt_regs *regs, void *arg)
+{
+	nmi_panic(regs, "Arm Generic Diagnostic Dump and Reset SDEI event issued");
+	return 0;
+}
+
+void __init acpi_agdi_init(void)
+{
+	struct acpi_table_agdi *agdi_table;
+	acpi_status status;
+	int sdei_event;
+
+	status = acpi_get_table(ACPI_SIG_AGDI, 0,
+				(struct acpi_table_header **) &agdi_table);
+	if (ACPI_FAILURE(status))
+		return;
+
+	if (agdi_table->flags & ACPI_AGDI_SIGNALING_MODE) {
+		pr_warn("Interrupt signaling is not supported");
+		acpi_put_table((struct acpi_table_header *)agdi_table);
+		return;
+	}
+
+	sdei_event = agdi_table->sdei_event;
+	acpi_put_table((struct acpi_table_header *)agdi_table);
+
+	if (sdei_event_register(sdei_event, agdi_sdei_handler, NULL)) {
+		pr_err("Failed to register for SDEI event %d", sdei_event);
+		return;
+	}
+
+	if (sdei_event_enable(sdei_event)) {
+		pr_err("Failed to enable SDEI event %d\n", sdei_event);
+		sdei_event_unregister(sdei_event);
+		return;
+	}
+}
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index eaa511fc9c66..87b93f4df0cf 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -26,6 +26,7 @@
 #include <asm/mpspec.h>
 #include <linux/dmi.h>
 #endif
+#include <linux/acpi_agdi.h>
 #include <linux/acpi_iort.h>
 #include <linux/acpi_viot.h>
 #include <linux/pci.h>
@@ -1386,6 +1387,7 @@ static int __init acpi_init(void)
 	acpi_debugger_init();
 	acpi_setup_sb_notify_handler();
 	acpi_viot_init();
+	acpi_agdi_init();
 	return 0;
 }
 
diff --git a/include/linux/acpi_agdi.h b/include/linux/acpi_agdi.h
new file mode 100644
index 000000000000..f477f0b452fa
--- /dev/null
+++ b/include/linux/acpi_agdi.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ACPI_AGDI_H__
+#define __ACPI_AGDI_H__
+
+#include <linux/acpi.h>
+
+#ifdef CONFIG_ACPI_AGDI
+void __init acpi_agdi_init(void);
+#else
+static inline void acpi_agdi_init(void) {}
+#endif
+#endif /* __ACPI_AGDI_H__ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001
  2022-03-04  5:22 xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001 Ilkka Koskinen
  2022-03-04  5:22 ` [PATCH v5 RESEND 1/2] ACPI: tables: Add AGDI to the list of known table signatures Ilkka Koskinen
  2022-03-04  5:22 ` [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset device Ilkka Koskinen
@ 2022-03-04  5:32 ` Ilkka Koskinen
  2 siblings, 0 replies; 6+ messages in thread
From: Ilkka Koskinen @ 2022-03-04  5:32 UTC (permalink / raw)
  To: Ilkka Koskinen
  Cc: lorenzo.pieralisi, guohanjun, sudeep.holla, rafael, linux, lenb,
	robert.moore, james.morse, linux-acpi, linux-arm-kernel,
	linux-kernel, patches, scott, darren


Sorry about the mess. I'll resubmit the patch set.

On Fri, 4 Mar 2022, Ilkka Koskinen wrote:

> Hi Lorenzo,
>
> Would you prefer this version, which doesn't have platform device/driver
> any more?
>
> --Ilkka
>
>
> ----
>
> Arm Generic Diagnostic Dump and Reset device enables a maintainer to
> request OS to perform a diagnostic dump and reset a system via SDEI
> event or an interrupt. This patchset adds support for the SDEI path.
>
> I do have a patch to enable the interrupt path as well but I'm holding
> it back since AGDI table is missing interrupt configuration fields
> (trigger type etc.).
>
> The recently published specification is available at
> https://developer.arm.com/documentation/den0093/latest
>
> The patchset was tested on Ampere Altra/Mt. Jade.
>
> The patchset applies on top of
>  git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm bleeding-edge (9db71e8e3027)
>
> I also tested it works on top of Shuai Xue's new patches in bleeding-edge branch (c6f4ba2d2b9a)
>
> From v1:
>     * Moved pdata to the stack and dropped unnecessary kzalloc() in agdi_init()
>     * Changed the ACPICA patch upstreaming order comment in the paragraph above
>
> From v2:
>     * The first patch was split. The most of it was merged to ACPICA project
>       at first and later ported to linux-acpi
>       (fd919e37cb15914c6fe13e13d530a4f732407c6d). The rest are in the first
>       patch.
>
> From v3:
>     Fixed:
> 	* Moved header files in alphabetical order and removed unnecessary ones
>
> From v4:
> 	* Platform device/driver stuff removed
> 	* acpi_agdi_init() call moved from device_initcall to acpi_init()
> 	* Slightly modified Kconfig text to keep checkpatch happy
>
> Ilkka Koskinen (2):
>  ACPI: tables: Add AGDI to the list of known table signatures
>  ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset
>    device
>
> drivers/acpi/arm64/Kconfig  | 10 +++++++
> drivers/acpi/arm64/Makefile |  1 +
> drivers/acpi/arm64/agdi.c   | 52 +++++++++++++++++++++++++++++++++++++
> drivers/acpi/bus.c          |  2 ++
> drivers/acpi/tables.c       |  2 +-
> include/linux/acpi_agdi.h   | 13 ++++++++++
> 6 files changed, 79 insertions(+), 1 deletion(-)
> create mode 100644 drivers/acpi/arm64/agdi.c
> create mode 100644 include/linux/acpi_agdi.h
>
> -- 
> 2.17.1
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset device
  2022-03-04  5:22 ` [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset device Ilkka Koskinen
@ 2022-03-09  6:09   ` kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2022-03-09  6:09 UTC (permalink / raw)
  To: Ilkka Koskinen, lorenzo.pieralisi, guohanjun, sudeep.holla,
	rafael, linux
  Cc: kbuild-all, lenb, robert.moore, james.morse, linux-acpi,
	linux-arm-kernel, linux-kernel, patches, scott, darren

Hi Ilkka,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on rafael-pm/linux-next]
[also build test WARNING on next-20220308]
[cannot apply to v5.17-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Ilkka-Koskinen/ACPI-tables-Add-AGDI-to-the-list-of-known-table-signatures/20220304-142317
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20220309/202203091424.soyv4Ea1-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/004555056c85ab479f5f0ec4ffb80ab8c0619881
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Ilkka-Koskinen/ACPI-tables-Add-AGDI-to-the-list-of-known-table-signatures/20220304-142317
        git checkout 004555056c85ab479f5f0ec4ffb80ab8c0619881
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/acpi/arm64/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/acpi/arm64/agdi.c:22:13: warning: no previous prototype for 'acpi_agdi_init' [-Wmissing-prototypes]
      22 | void __init acpi_agdi_init(void)
         |             ^~~~~~~~~~~~~~


vim +/acpi_agdi_init +22 drivers/acpi/arm64/agdi.c

    21	
  > 22	void __init acpi_agdi_init(void)

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset device
  2022-03-04  5:40 [PATCH v5 RESEND 0/2] ACPI: Arm Generic Diagnostic Dump and Reset device Ilkka Koskinen
@ 2022-03-04  5:40 ` Ilkka Koskinen
  0 siblings, 0 replies; 6+ messages in thread
From: Ilkka Koskinen @ 2022-03-04  5:40 UTC (permalink / raw)
  To: lorenzo.pieralisi, guohanjun, sudeep.holla, rafael, linux
  Cc: lenb, robert.moore, james.morse, linux-acpi, linux-arm-kernel,
	linux-kernel, patches, scott, darren

ACPI for Arm Components 1.1 Platform Design Document v1.1 [0] specifices
Arm Generic Diagnostic Device Interface (AGDI). It allows an admin to
issue diagnostic dump and reset via an SDEI event or an interrupt.
This patch implements SDEI path.

[0] https://developer.arm.com/documentation/den0093/latest/

Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
---
 drivers/acpi/arm64/Kconfig  | 10 +++++++
 drivers/acpi/arm64/Makefile |  1 +
 drivers/acpi/arm64/agdi.c   | 52 +++++++++++++++++++++++++++++++++++++
 drivers/acpi/bus.c          |  2 ++
 include/linux/acpi_agdi.h   | 13 ++++++++++
 5 files changed, 78 insertions(+)
 create mode 100644 drivers/acpi/arm64/agdi.c
 create mode 100644 include/linux/acpi_agdi.h

diff --git a/drivers/acpi/arm64/Kconfig b/drivers/acpi/arm64/Kconfig
index 6dba187f4f2e..d4a72835f328 100644
--- a/drivers/acpi/arm64/Kconfig
+++ b/drivers/acpi/arm64/Kconfig
@@ -8,3 +8,13 @@ config ACPI_IORT
 
 config ACPI_GTDT
 	bool
+
+config ACPI_AGDI
+	bool "Arm Generic Diagnostic Dump and Reset Device Interface"
+	depends on ARM_SDE_INTERFACE
+	help
+	  Arm Generic Diagnostic Dump and Reset Device Interface (AGDI) is
+	  a standard that enables issuing a non-maskable diagnostic dump and
+	  reset command.
+
+	  If set, the kernel parses AGDI table and listens for the command.
diff --git a/drivers/acpi/arm64/Makefile b/drivers/acpi/arm64/Makefile
index 66acbe77f46e..7b9e4045659d 100644
--- a/drivers/acpi/arm64/Makefile
+++ b/drivers/acpi/arm64/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+obj-$(CONFIG_ACPI_AGDI) 	+= agdi.o
 obj-$(CONFIG_ACPI_IORT) 	+= iort.o
 obj-$(CONFIG_ACPI_GTDT) 	+= gtdt.o
 obj-y				+= dma.o
diff --git a/drivers/acpi/arm64/agdi.c b/drivers/acpi/arm64/agdi.c
new file mode 100644
index 000000000000..28916650d834
--- /dev/null
+++ b/drivers/acpi/arm64/agdi.c
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * This file implements handling of
+ * Arm Generic Diagnostic Dump and Reset Interface table (AGDI)
+ *
+ * Copyright (c) 2022, Ampere Computing LLC
+ */
+
+#define pr_fmt(fmt) "ACPI: AGDI: " fmt
+
+#include <linux/acpi.h>
+#include <linux/arm_sdei.h>
+#include <linux/io.h>
+#include <linux/kernel.h>
+
+static int agdi_sdei_handler(u32 sdei_event, struct pt_regs *regs, void *arg)
+{
+	nmi_panic(regs, "Arm Generic Diagnostic Dump and Reset SDEI event issued");
+	return 0;
+}
+
+void __init acpi_agdi_init(void)
+{
+	struct acpi_table_agdi *agdi_table;
+	acpi_status status;
+	int sdei_event;
+
+	status = acpi_get_table(ACPI_SIG_AGDI, 0,
+				(struct acpi_table_header **) &agdi_table);
+	if (ACPI_FAILURE(status))
+		return;
+
+	if (agdi_table->flags & ACPI_AGDI_SIGNALING_MODE) {
+		pr_warn("Interrupt signaling is not supported");
+		acpi_put_table((struct acpi_table_header *)agdi_table);
+		return;
+	}
+
+	sdei_event = agdi_table->sdei_event;
+	acpi_put_table((struct acpi_table_header *)agdi_table);
+
+	if (sdei_event_register(sdei_event, agdi_sdei_handler, NULL)) {
+		pr_err("Failed to register for SDEI event %d", sdei_event);
+		return;
+	}
+
+	if (sdei_event_enable(sdei_event)) {
+		pr_err("Failed to enable SDEI event %d\n", sdei_event);
+		sdei_event_unregister(sdei_event);
+		return;
+	}
+}
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index eaa511fc9c66..87b93f4df0cf 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -26,6 +26,7 @@
 #include <asm/mpspec.h>
 #include <linux/dmi.h>
 #endif
+#include <linux/acpi_agdi.h>
 #include <linux/acpi_iort.h>
 #include <linux/acpi_viot.h>
 #include <linux/pci.h>
@@ -1386,6 +1387,7 @@ static int __init acpi_init(void)
 	acpi_debugger_init();
 	acpi_setup_sb_notify_handler();
 	acpi_viot_init();
+	acpi_agdi_init();
 	return 0;
 }
 
diff --git a/include/linux/acpi_agdi.h b/include/linux/acpi_agdi.h
new file mode 100644
index 000000000000..f477f0b452fa
--- /dev/null
+++ b/include/linux/acpi_agdi.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ACPI_AGDI_H__
+#define __ACPI_AGDI_H__
+
+#include <linux/acpi.h>
+
+#ifdef CONFIG_ACPI_AGDI
+void __init acpi_agdi_init(void);
+#else
+static inline void acpi_agdi_init(void) {}
+#endif
+#endif /* __ACPI_AGDI_H__ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-03-09  6:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-04  5:22 xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001 Ilkka Koskinen
2022-03-04  5:22 ` [PATCH v5 RESEND 1/2] ACPI: tables: Add AGDI to the list of known table signatures Ilkka Koskinen
2022-03-04  5:22 ` [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset device Ilkka Koskinen
2022-03-09  6:09   ` kernel test robot
2022-03-04  5:32 ` xFrom e2ebdef7c3a5e7ba998ff20bf62806c388efeaac Mon Sep 17 00:00:00 2001 Ilkka Koskinen
2022-03-04  5:40 [PATCH v5 RESEND 0/2] ACPI: Arm Generic Diagnostic Dump and Reset device Ilkka Koskinen
2022-03-04  5:40 ` [PATCH v5 RESEND 2/2] ACPI: AGDI: Add support for " Ilkka Koskinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).