Commit 9bd2e7c6 authored by Will Deacon's avatar Will Deacon
Browse files

Merge branch 'for-next/acpi' into for-next/core

* for-next/acpi:
  firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES
parents 0af2f6be 59529bbe
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ config ACPI_APEI_GHES
	select ACPI_HED
	select IRQ_WORK
	select GENERIC_ALLOCATOR
	select ARM_SDE_INTERFACE if ARM64
	help
	  Generic Hardware Error Source provides a way to report
	  platform hardware errors (such as that from chipset). It
+1 −1
Original line number Diff line number Diff line
@@ -1715,7 +1715,7 @@ void __init acpi_ghes_init(void)
{
	int rc;

	sdei_init();
	acpi_sdei_init();

	if (acpi_disabled)
		return;
+0 −1
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ config ARM_SCPI_PROTOCOL
config ARM_SDE_INTERFACE
	bool "ARM Software Delegated Exception Interface (SDEI)"
	depends on ARM64
	depends on ACPI_APEI_GHES
	help
	  The Software Delegated Exception Interface (SDEI) is an ARM
	  standard for registering callbacks from the platform firmware
+8 −3
Original line number Diff line number Diff line
@@ -1062,13 +1062,12 @@ static bool __init sdei_present_acpi(void)
	return true;
}

void __init sdei_init(void)
void __init acpi_sdei_init(void)
{
	struct platform_device *pdev;
	int ret;

	ret = platform_driver_register(&sdei_driver);
	if (ret || !sdei_present_acpi())
	if (!sdei_present_acpi())
		return;

	pdev = platform_device_register_simple(sdei_driver.driver.name,
@@ -1081,6 +1080,12 @@ void __init sdei_init(void)
	}
}

static int __init sdei_init(void)
{
	return platform_driver_register(&sdei_driver);
}
arch_initcall(sdei_init);

int sdei_event_handler(struct pt_regs *regs,
		       struct sdei_registered_event *arg)
{
+2 −2
Original line number Diff line number Diff line
@@ -46,12 +46,12 @@ int sdei_unregister_ghes(struct ghes *ghes);
/* For use by arch code when CPU hotplug notifiers are not appropriate. */
int sdei_mask_local_cpu(void);
int sdei_unmask_local_cpu(void);
void __init sdei_init(void);
void __init acpi_sdei_init(void);
void sdei_handler_abort(void);
#else
static inline int sdei_mask_local_cpu(void) { return 0; }
static inline int sdei_unmask_local_cpu(void) { return 0; }
static inline void sdei_init(void) { }
static inline void acpi_sdei_init(void) { }
static inline void sdei_handler_abort(void) { }
#endif /* CONFIG_ARM_SDE_INTERFACE */