diff options
Diffstat (limited to 'drivers/iio')
-rw-r--r-- | drivers/iio/accel/bmc150-accel-core.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c index 917934fe14cb..56fe54ed0ecb 100644 --- a/drivers/iio/accel/bmc150-accel-core.c +++ b/drivers/iio/accel/bmc150-accel-core.c @@ -383,8 +383,8 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on) * Onda V80 plus * Predia Basic Tablet */ -static bool bmc150_apply_acpi_orientation(struct device *dev, - struct iio_mount_matrix *orientation) +static bool bmc150_apply_bosc0200_acpi_orientation(struct device *dev, + struct iio_mount_matrix *orientation) { struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; struct iio_dev *indio_dev = dev_get_drvdata(dev); @@ -394,9 +394,6 @@ static bool bmc150_apply_acpi_orientation(struct device *dev, acpi_status status; int i, j, val[3]; - if (!adev || !acpi_dev_hid_uid_match(adev, "BOSC0200", NULL)) - return false; - if (strcmp(dev_name(dev), "i2c-BOSC0200:base") == 0) { alt_name = "ROMK"; label = "accel-base"; @@ -452,6 +449,17 @@ unknown_format: kfree(buffer.pointer); return false; } + +static bool bmc150_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, "BOSC0200", NULL)) + return bmc150_apply_bosc0200_acpi_orientation(dev, orientation); + + return false; +} #else static bool bmc150_apply_acpi_orientation(struct device *dev, struct iio_mount_matrix *orientation) |