diff options
Diffstat (limited to 'drivers/gpio/gpio-pca953x.c')
| -rw-r--r-- | drivers/gpio/gpio-pca953x.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index 8804aec2950f..cdd1aa12b895 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -308,7 +308,7 @@ static int pca953x_gpio_get_value(struct gpio_chip *gc, unsigned off)  		return 0;  	} -	return (reg_val & (1u << off)) ? 1 : 0; +	return (reg_val & (1u << (off % BANK_SZ))) ? 1 : 0;  }  static void pca953x_gpio_set_value(struct gpio_chip *gc, unsigned off, int val) @@ -731,7 +731,7 @@ static int pca953x_probe(struct i2c_client *client,  	if (chip == NULL)  		return -ENOMEM; -	pdata = client->dev.platform_data; +	pdata = dev_get_platdata(&client->dev);  	if (pdata) {  		irq_base = pdata->irq_base;  		chip->gpio_start = pdata->gpio_base; @@ -785,7 +785,7 @@ static int pca953x_probe(struct i2c_client *client,  static int pca953x_remove(struct i2c_client *client)  { -	struct pca953x_platform_data *pdata = client->dev.platform_data; +	struct pca953x_platform_data *pdata = dev_get_platdata(&client->dev);  	struct pca953x_chip *chip = i2c_get_clientdata(client);  	int ret = 0; | 
