[linux-yocto] [PATCH 1/5] Revert "gpio: pca953x: provide GPIO base based on _UID"
Yong Li
sdliyong at gmail.com
Thu Mar 31 00:33:05 PDT 2016
This reverts commit 81e166ec0a35ed5a01e2453603b0b1c73a0532cc.
Signed-off-by: Yong Li <sdliyong at 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
More information about the linux-yocto
mailing list