This reverts commit 81e166ec0a35ed5a01e2453603b0b1c73a0532cc. Signed-off-by: Yong Li <sdliy...@gmail.com> --- drivers/gpio/gpio-pca953x.c | 44 +++++++------------------------------------- 1 file changed, 7 insertions(+), 37 deletions(-)
diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index f99706f..5d8dec6 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -80,6 +80,12 @@ static const struct i2c_device_id pca953x_id[] = { }; MODULE_DEVICE_TABLE(i2c, pca953x_id); +static const struct acpi_device_id pca953x_acpi_ids[] = { + { "INT3491", 16 | PCA953X_TYPE | PCA_INT, }, + { } +}; +MODULE_DEVICE_TABLE(acpi, pca953x_acpi_ids); + #define MAX_BANK 5 #define BANK_SZ 8 @@ -106,35 +112,6 @@ struct pca953x_chip { unsigned long driver_data; }; -struct pca953x_info { - kernel_ulong_t driver_data; - void (*setup)(struct pca953x_chip *chip); -}; - -static void pca953x_setup_int3491(struct pca953x_chip *chip) -{ - struct acpi_device *adev = ACPI_COMPANION(&chip->client->dev); - unsigned int uid; - - if (kstrtouint(acpi_device_uid(adev), 0, &uid) || !uid--) - return; - - chip->gpio_start = 8 /* sch_gpio */ + - 8 /* gpio-dwapb */ + - 16 /* pca9535 */ * uid; -} - -static const struct pca953x_info pca953x_info_int3491 = { - .driver_data = 16 | PCA953X_TYPE | PCA_INT, - .setup = pca953x_setup_int3491, -}; - -static const struct acpi_device_id pca953x_acpi_ids[] = { - { "INT3491", (kernel_ulong_t)&pca953x_info_int3491 }, - { } -}; -MODULE_DEVICE_TABLE(acpi, pca953x_acpi_ids); - static inline struct pca953x_chip *to_pca(struct gpio_chip *gc) { return container_of(gc, struct pca953x_chip, gpio_chip); @@ -757,19 +734,12 @@ static int pca953x_probe(struct i2c_client *client, chip->driver_data = id->driver_data; } else { const struct acpi_device_id *id; - const struct pca953x_info *info; id = acpi_match_device(pca953x_acpi_ids, &client->dev); if (!id) return -ENODEV; - info = (struct pca953x_info *)id->driver_data; - if (!info) - return -ENODEV; - - chip->driver_data = info->driver_data; - if (info->setup) - info->setup(chip); + chip->driver_data = id->driver_data; } chip->chip_type = PCA_CHIP_TYPE(chip->driver_data); -- 2.1.4 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto