@@ -637,8 +637,8 @@ static int kxcjk1013_set_power_state(struct kxcjk1013_data *data, bool on)
}
#ifdef CONFIG_ACPI
-static bool kxj_acpi_orientation(struct device *dev,
- struct iio_mount_matrix *orientation)
+static bool kxj1009_apply_acpi_orientation(struct device *dev,
+ struct iio_mount_matrix *orientation)
{
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
struct acpi_device *adev = ACPI_COMPANION(dev);
@@ -648,7 +648,7 @@ static bool kxj_acpi_orientation(struct device *dev,
int i, j, val[3];
bool ret = false;
- if (!acpi_has_method(adev->handle, "ROTM"))
+ if (!adev || !acpi_has_method(adev->handle, "ROTM"))
return false;
status = acpi_evaluate_object(adev->handle, "ROTM", NULL, &buffer);
@@ -695,17 +695,6 @@ static bool kxj_acpi_orientation(struct device *dev,
kfree(buffer.pointer);
return ret;
}
-
-static bool kxj1009_apply_acpi_orientation(struct device *dev,
- struct iio_mount_matrix *orientation)
-{
- struct acpi_device *adev = ACPI_COMPANION(dev);
-
- if (adev && acpi_dev_hid_uid_match(adev, "KIOX000A", NULL))
- return kxj_acpi_orientation(dev, orientation);
-
- return false;
-}
#else
static bool kxj1009_apply_acpi_orientation(struct device *dev,
struct iio_mount_matrix *orientation)
There is no reason to limit the parsing of the ROTM mount matrix to only ACPI devices with an ACPI HID (Hardware-ID) of "KIOX000A". If kxcjk-1013 ACPI devices with another HID have a ROTM method that should still be parsed and if the method is not there then the: if (!adev || !acpi_has_method(adev->handle, "ROTM")) return false; check will skip checking the ROTM method silently. Move the check to see if there is an ACPI companion at all into kxj_acpi_orientation() and drop the wrapper checking the HID. Cc: Sean Rhodes <sean@starlabs.systems> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/iio/accel/kxcjk-1013.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-)