|
@@ -268,7 +268,7 @@ static int pcf857x_probe(struct i2c_client *client,
|
|
|
}
|
|
|
|
|
|
/* Allocate, initialize, and register this gpio_chip. */
|
|
|
- gpio = kzalloc(sizeof *gpio, GFP_KERNEL);
|
|
|
+ gpio = devm_kzalloc(&client->dev, sizeof(*gpio), GFP_KERNEL);
|
|
|
if (!gpio)
|
|
|
return -ENOMEM;
|
|
|
|
|
@@ -391,7 +391,6 @@ fail:
|
|
|
if (pdata && client->irq)
|
|
|
pcf857x_irq_domain_cleanup(gpio);
|
|
|
|
|
|
- kfree(gpio);
|
|
|
return status;
|
|
|
}
|
|
|
|
|
@@ -416,9 +415,7 @@ static int pcf857x_remove(struct i2c_client *client)
|
|
|
pcf857x_irq_domain_cleanup(gpio);
|
|
|
|
|
|
status = gpiochip_remove(&gpio->chip);
|
|
|
- if (status == 0)
|
|
|
- kfree(gpio);
|
|
|
- else
|
|
|
+ if (status)
|
|
|
dev_err(&client->dev, "%s --> %d\n", "remove", status);
|
|
|
return status;
|
|
|
}
|