From ce4d3d3804bdb27446b5c6638b134e013cc88eba Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 5 Sep 2024 11:15:35 +0200 Subject: [PATCH] 5.15-stable patches added patches: i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch --- ...or-substituting-empty-acpi-functions.patch | 49 +++++++++++++++++++ queue-5.15/series | 1 + 2 files changed, 50 insertions(+) create mode 100644 queue-5.15/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch diff --git a/queue-5.15/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch b/queue-5.15/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch new file mode 100644 index 00000000000..3315d84f630 --- /dev/null +++ b/queue-5.15/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch @@ -0,0 +1,49 @@ +From 71833e79a42178d8a50b5081c98c78ace9325628 Mon Sep 17 00:00:00 2001 +From: Richard Fitzgerald +Date: Wed, 14 Aug 2024 13:16:49 +0100 +Subject: i2c: Use IS_REACHABLE() for substituting empty ACPI functions + +From: Richard Fitzgerald + +commit 71833e79a42178d8a50b5081c98c78ace9325628 upstream. + +Replace IS_ENABLED() with IS_REACHABLE() to substitute empty stubs for: + i2c_acpi_get_i2c_resource() + i2c_acpi_client_count() + i2c_acpi_find_bus_speed() + i2c_acpi_new_device_by_fwnode() + i2c_adapter *i2c_acpi_find_adapter_by_handle() + i2c_acpi_waive_d0_probe() + +commit f17c06c6608a ("i2c: Fix conditional for substituting empty ACPI +functions") partially fixed this conditional to depend on CONFIG_I2C, +but used IS_ENABLED(), which is wrong since CONFIG_I2C is tristate. + +CONFIG_ACPI is boolean but let's also change it to use IS_REACHABLE() +to future-proof it against becoming tristate. + +Somehow despite testing various combinations of CONFIG_I2C and CONFIG_ACPI +we missed the combination CONFIG_I2C=m, CONFIG_ACPI=y. + +Signed-off-by: Richard Fitzgerald +Fixes: f17c06c6608a ("i2c: Fix conditional for substituting empty ACPI functions") +Reported-by: kernel test robot +Closes: https://lore.kernel.org/oe-kbuild-all/202408141333.gYnaitcV-lkp@intel.com/ +Reviewed-by: Takashi Iwai +Signed-off-by: Wolfram Sang +Signed-off-by: Greg Kroah-Hartman +--- + include/linux/i2c.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/include/linux/i2c.h ++++ b/include/linux/i2c.h +@@ -1025,7 +1025,7 @@ static inline int of_i2c_get_board_info( + struct acpi_resource; + struct acpi_resource_i2c_serialbus; + +-#if IS_ENABLED(CONFIG_ACPI) && IS_ENABLED(CONFIG_I2C) ++#if IS_REACHABLE(CONFIG_ACPI) && IS_REACHABLE(CONFIG_I2C) + bool i2c_acpi_get_i2c_resource(struct acpi_resource *ares, + struct acpi_resource_i2c_serialbus **i2c); + int i2c_acpi_client_count(struct acpi_device *adev); diff --git a/queue-5.15/series b/queue-5.15/series index 80905c0396f..560ebad4532 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -58,3 +58,4 @@ rcu-tasks-fix-show_rcu_tasks_trace_gp_kthread-buffer-overflow.patch ext4-reject-casefold-inode-flag-without-casefold-feature.patch udf-limit-file-size-to-4tb.patch ext4-handle-redirtying-in-ext4_bio_write_page.patch +i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch -- 2.47.3