With the #if IS_ENABLED(CONFIG_ACPI_PLATFORM_PROFILE), we get the following errors when thinkpad_acpi is builtin while CONFIG_ACPI_PLATFORM_PROFILE=m : drivers/platform/x86/thinkpad_acpi.c:10186: undefined reference to `platform_profile_notify' drivers/platform/x86/thinkpad_acpi.c:10226: undefined reference to `platform_profile_register' drivers/platform/x86/thinkpad_acpi.c:10246: undefined reference to `platform_profile_remove' This could be fixed by changing the IS_ENABLED to IS_REACHABLE, but I believe that it is better to just switch to using depends on. Using depends on ensures that platform-profile support is always available when thinkpad_acpi is build, hopefully leading to less confusing bug-reports about it sometimes not working. Cc: Mark Pearson <markpearson@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- drivers/platform/x86/Kconfig | 1 + drivers/platform/x86/thinkpad_acpi.c | 7 ------- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index 0e1723b3d312..39b588bf791a 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -655,6 +655,7 @@ config THINKPAD_ACPI depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE + depends on ACPI_PLATFORM_PROFILE select DRM_PRIVACY_SCREEN select HWMON select NVRAM diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 8e9acbd9a1a8..59113059649e 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -10034,8 +10034,6 @@ static struct ibm_struct proxsensor_driver_data = { .exit = proxsensor_exit, }; -#if IS_ENABLED(CONFIG_ACPI_PLATFORM_PROFILE) - /************************************************************************* * DYTC Platform Profile interface */ @@ -10290,7 +10288,6 @@ static struct ibm_struct dytc_profile_driver_data = { .name = "dytc-profile", .exit = dytc_profile_exit, }; -#endif /* CONFIG_ACPI_PLATFORM_PROFILE */ /************************************************************************* * Keyboard language interface @@ -10515,11 +10512,9 @@ static void tpacpi_driver_event(const unsigned int hkey_event) if (hkey_event == TP_HKEY_EV_THM_CSM_COMPLETED) { lapsensor_refresh(); -#if IS_ENABLED(CONFIG_ACPI_PLATFORM_PROFILE) /* If we are already accessing DYTC then skip dytc update */ if (!atomic_add_unless(&dytc_ignore_event, -1, 0)) dytc_profile_refresh(); -#endif } if (lcdshadow_dev && hkey_event == TP_HKEY_EV_PRIVACYGUARD_TOGGLE) { @@ -10971,12 +10966,10 @@ static struct ibm_init_struct ibms_init[] __initdata = { .init = tpacpi_proxsensor_init, .data = &proxsensor_driver_data, }, -#if IS_ENABLED(CONFIG_ACPI_PLATFORM_PROFILE) { .init = tpacpi_dytc_profile_init, .data = &dytc_profile_driver_data, }, -#endif { .init = tpacpi_kbdlang_init, .data = &kbdlang_driver_data, -- 2.29.2