Thread (43 messages) 43 messages, 6 authors, 2021-08-09

Re: [PATCH 05/10] i2c: i801: Improve is_dell_system_with_lis3lv02d

From: Jean Delvare <hidden>
Date: 2021-08-05 09:52:05

Hi Heiner,

On Sun, 01 Aug 2021 16:20:19 +0200, Heiner Kallweit wrote:
Replace the ugly cast of the return_value pointer with proper usage.
In addition use dmi_match() instead of open-coding it.
Pali, would you be able to test this patch?
quoted hunk ↗ jump to hunk
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/i2c/busses/i2c-i801.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index d971ee20c..a6287c520 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -1191,7 +1191,7 @@ static acpi_status check_acpi_smo88xx_device(acpi_handle obj_handle,
 
 	kfree(info);
 
-	*((bool *)return_value) = true;
+	*return_value = obj_handle;
 	return AE_CTRL_TERMINATE;
 
 smo88xx_not_found:
@@ -1201,13 +1201,10 @@ static acpi_status check_acpi_smo88xx_device(acpi_handle obj_handle,
 
 static bool is_dell_system_with_lis3lv02d(void)
 {
-	bool found;
-	const char *vendor;
+	acpi_handle found = NULL;
 
-	vendor = dmi_get_system_info(DMI_SYS_VENDOR);
-	if (!vendor || strcmp(vendor, "Dell Inc."))
+	if (!dmi_match(DMI_SYS_VENDOR, "Dell Inc."))
 		return false;
Looks good to me.
-
I see no reason to remove that blank line.
quoted hunk ↗ jump to hunk
 	/*
 	 * Check that ACPI device SMO88xx is present and is functioning.
 	 * Function acpi_get_devices() already filters all ACPI devices
@@ -1216,9 +1213,7 @@ static bool is_dell_system_with_lis3lv02d(void)
 	 * accelerometer but unfortunately ACPI does not provide any other
 	 * information (like I2C address).
 	 */
-	found = false;
-	acpi_get_devices(NULL, check_acpi_smo88xx_device, NULL,
-			 (void **)&found);
+	acpi_get_devices(NULL, check_acpi_smo88xx_device, NULL, &found);
The choice of return value by the acpi_get_devices() designer is very
unfortunate. It would have been much more convenient if the return
value was different whether a match has been found or not. Oh well.

I agree that the proposed change is a nicer way to work around this
limitation. Unfortunately I can't test this as I do not own a Dell
laptop. Were you able to test it? If not, I hope Pali will.
 
 	return found;
 }
Reviewed-by: Jean Delvare <redacted>

-- 
Jean Delvare
SUSE L3 Support
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help