[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