|
@@ -192,28 +192,20 @@ static void adnp_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
|
|
|
mutex_lock(&adnp->i2c_lock);
|
|
|
|
|
|
err = adnp_read(adnp, GPIO_DDR(adnp) + i, &ddr);
|
|
|
- if (err < 0) {
|
|
|
- mutex_unlock(&adnp->i2c_lock);
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (err < 0)
|
|
|
+ goto unlock;
|
|
|
|
|
|
err = adnp_read(adnp, GPIO_PLR(adnp) + i, &plr);
|
|
|
- if (err < 0) {
|
|
|
- mutex_unlock(&adnp->i2c_lock);
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (err < 0)
|
|
|
+ goto unlock;
|
|
|
|
|
|
err = adnp_read(adnp, GPIO_IER(adnp) + i, &ier);
|
|
|
- if (err < 0) {
|
|
|
- mutex_unlock(&adnp->i2c_lock);
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (err < 0)
|
|
|
+ goto unlock;
|
|
|
|
|
|
err = adnp_read(adnp, GPIO_ISR(adnp) + i, &isr);
|
|
|
- if (err < 0) {
|
|
|
- mutex_unlock(&adnp->i2c_lock);
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (err < 0)
|
|
|
+ goto unlock;
|
|
|
|
|
|
mutex_unlock(&adnp->i2c_lock);
|
|
|
|
|
@@ -240,6 +232,11 @@ static void adnp_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
|
|
|
direction, level, interrupt, pending);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ return;
|
|
|
+
|
|
|
+unlock:
|
|
|
+ mutex_unlock(&adnp->i2c_lock);
|
|
|
}
|
|
|
|
|
|
static int adnp_gpio_setup(struct adnp *adnp, unsigned int num_gpios)
|