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@xxxxxxxxxx> Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@xxxxxxxxxx> --- 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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx