Skip to content

Commit

Permalink
iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum
Browse files Browse the repository at this point in the history
Replace the boolean is_smo8500_device variable with an acpi_type enum.

For now this can be either ACPI_GENERIC or ACPI_SMO8500, this is a
preparation patch for adding special handling for the KIOX010A ACPI HID,
which will add a ACPI_KIOX010A acpi_type to the introduced enum.

For stable as needed as precursor for next patch.

Signed-off-by: Hans de Goede <[email protected]>
Fixes: 7f6232e ("iio: accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID")
Cc: <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jonathan Cameron <[email protected]>
  • Loading branch information
jwrdegoede authored and jic23 committed Nov 14, 2020
1 parent 44a146a commit 11e94f2
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions drivers/iio/accel/kxcjk-1013.c
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ enum kx_chipset {
KX_MAX_CHIPS /* this must be last */
};

enum kx_acpi_type {
ACPI_GENERIC,
ACPI_SMO8500,
};

struct kxcjk1013_data {
struct i2c_client *client;
struct iio_trigger *dready_trig;
Expand All @@ -143,7 +148,7 @@ struct kxcjk1013_data {
bool motion_trigger_on;
int64_t timestamp;
enum kx_chipset chipset;
bool is_smo8500_device;
enum kx_acpi_type acpi_type;
};

enum kxcjk1013_axis {
Expand Down Expand Up @@ -1247,7 +1252,7 @@ static irqreturn_t kxcjk1013_data_rdy_trig_poll(int irq, void *private)

static const char *kxcjk1013_match_acpi_device(struct device *dev,
enum kx_chipset *chipset,
bool *is_smo8500_device)
enum kx_acpi_type *acpi_type)
{
const struct acpi_device_id *id;

Expand All @@ -1256,7 +1261,7 @@ static const char *kxcjk1013_match_acpi_device(struct device *dev,
return NULL;

if (strcmp(id->id, "SMO8500") == 0)
*is_smo8500_device = true;
*acpi_type = ACPI_SMO8500;

*chipset = (enum kx_chipset)id->driver_data;

Expand Down Expand Up @@ -1299,7 +1304,7 @@ static int kxcjk1013_probe(struct i2c_client *client,
} else if (ACPI_HANDLE(&client->dev)) {
name = kxcjk1013_match_acpi_device(&client->dev,
&data->chipset,
&data->is_smo8500_device);
&data->acpi_type);
} else
return -ENODEV;

Expand All @@ -1316,7 +1321,7 @@ static int kxcjk1013_probe(struct i2c_client *client,
indio_dev->modes = INDIO_DIRECT_MODE;
indio_dev->info = &kxcjk1013_info;

if (client->irq > 0 && !data->is_smo8500_device) {
if (client->irq > 0 && data->acpi_type != ACPI_SMO8500) {
ret = devm_request_threaded_irq(&client->dev, client->irq,
kxcjk1013_data_rdy_trig_poll,
kxcjk1013_event_handler,
Expand Down

0 comments on commit 11e94f2

Please sign in to comment.