[PATCH] drm/i915/dsi: Fix implicit declaration of function 'acpi_dev*' in 'mipi_exec_i2c'

Zhang Xiaoxu zhangxiaoxu5 at huawei.com
Mon Jan 13 10:55:39 UTC 2020


If no 'CONFIG_ACPI' configured, shouldn't call 'acpi_device_handle',
'acpi_dev_get_resources' and 'acpi_dev_free_resource_list' in function
'mipi_exec_i2c'.

Fixes: 8cbf89db2941("drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3)")
Reported-by: Hulk Robot <hulkci at huawei.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5 at huawei.com>
---
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
index 89fb0d90b694..73a25e7ae090 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
+++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
@@ -384,6 +384,7 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
 	return data;
 }
 
+#ifdef CONFIG_ACPI
 static int i2c_adapter_lookup(struct acpi_resource *ares, void *data)
 {
 	struct i2c_adapter_lookup *lookup = data;
@@ -399,7 +400,6 @@ static int i2c_adapter_lookup(struct acpi_resource *ares, void *data)
 
 	if (lookup->slave_addr != sb->slave_address)
 		return 1;
-
 	status = acpi_get_handle(lookup->dev_handle,
 				 sb->resource_source.string_ptr,
 				 &adapter_handle);
@@ -412,15 +412,13 @@ static int i2c_adapter_lookup(struct acpi_resource *ares, void *data)
 
 	return 1;
 }
+#endif
 
 static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data)
 {
 	struct drm_device *drm_dev = intel_dsi->base.base.dev;
 	struct device *dev = &drm_dev->pdev->dev;
 	struct i2c_adapter *adapter;
-	struct acpi_device *acpi_dev;
-	struct list_head resource_list;
-	struct i2c_adapter_lookup lookup;
 	struct i2c_msg msg;
 	int ret;
 	u8 vbt_i2c_bus_num = *(data + 2);
@@ -430,8 +428,13 @@ static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data)
 	u8 *payload_data;
 
 	if (intel_dsi->i2c_bus_num < 0) {
+#ifdef CONFIG_ACPI
+		struct acpi_device *acpi_dev;
+		struct list_head resource_list;
+		struct i2c_adapter_lookup lookup;
+#endif
 		intel_dsi->i2c_bus_num = vbt_i2c_bus_num;
-
+#ifdef CONFIG_ACPI
 		acpi_dev = ACPI_COMPANION(dev);
 		if (acpi_dev) {
 			memset(&lookup, 0, sizeof(lookup));
@@ -445,6 +448,7 @@ static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data)
 					       &lookup);
 			acpi_dev_free_resource_list(&resource_list);
 		}
+#endif
 	}
 
 	adapter = i2c_get_adapter(intel_dsi->i2c_bus_num);
-- 
2.17.2



More information about the dri-devel mailing list