usb: misc: usb3503: Convert to devm_ APIs
Saves us a bit of code. Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
42416cc81f
commit
cffedd6794
@ -187,7 +187,7 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
|
|||||||
const u32 *property;
|
const u32 *property;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
hub = kzalloc(sizeof(struct usb3503), GFP_KERNEL);
|
hub = devm_kzalloc(&i2c->dev, sizeof(struct usb3503), GFP_KERNEL);
|
||||||
if (!hub) {
|
if (!hub) {
|
||||||
dev_err(&i2c->dev, "private data alloc fail\n");
|
dev_err(&i2c->dev, "private data alloc fail\n");
|
||||||
return err;
|
return err;
|
||||||
@ -229,35 +229,35 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (gpio_is_valid(hub->gpio_intn)) {
|
if (gpio_is_valid(hub->gpio_intn)) {
|
||||||
err = gpio_request_one(hub->gpio_intn,
|
err = devm_gpio_request_one(&i2c->dev, hub->gpio_intn,
|
||||||
GPIOF_OUT_INIT_HIGH, "usb3503 intn");
|
GPIOF_OUT_INIT_HIGH, "usb3503 intn");
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(&i2c->dev,
|
dev_err(&i2c->dev,
|
||||||
"unable to request GPIO %d as connect pin (%d)\n",
|
"unable to request GPIO %d as connect pin (%d)\n",
|
||||||
hub->gpio_intn, err);
|
hub->gpio_intn, err);
|
||||||
goto err_out;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gpio_is_valid(hub->gpio_connect)) {
|
if (gpio_is_valid(hub->gpio_connect)) {
|
||||||
err = gpio_request_one(hub->gpio_connect,
|
err = devm_gpio_request_one(&i2c->dev, hub->gpio_connect,
|
||||||
GPIOF_OUT_INIT_HIGH, "usb3503 connect");
|
GPIOF_OUT_INIT_HIGH, "usb3503 connect");
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(&i2c->dev,
|
dev_err(&i2c->dev,
|
||||||
"unable to request GPIO %d as connect pin (%d)\n",
|
"unable to request GPIO %d as connect pin (%d)\n",
|
||||||
hub->gpio_connect, err);
|
hub->gpio_connect, err);
|
||||||
goto err_gpio_connect;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gpio_is_valid(hub->gpio_reset)) {
|
if (gpio_is_valid(hub->gpio_reset)) {
|
||||||
err = gpio_request_one(hub->gpio_reset,
|
err = devm_gpio_request_one(&i2c->dev, hub->gpio_reset,
|
||||||
GPIOF_OUT_INIT_LOW, "usb3503 reset");
|
GPIOF_OUT_INIT_LOW, "usb3503 reset");
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(&i2c->dev,
|
dev_err(&i2c->dev,
|
||||||
"unable to request GPIO %d as reset pin (%d)\n",
|
"unable to request GPIO %d as reset pin (%d)\n",
|
||||||
hub->gpio_reset, err);
|
hub->gpio_reset, err);
|
||||||
goto err_gpio_reset;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -267,33 +267,6 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
|
|||||||
(hub->mode == USB3503_MODE_HUB) ? "hub" : "standby");
|
(hub->mode == USB3503_MODE_HUB) ? "hub" : "standby");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_gpio_reset:
|
|
||||||
if (gpio_is_valid(hub->gpio_connect))
|
|
||||||
gpio_free(hub->gpio_connect);
|
|
||||||
err_gpio_connect:
|
|
||||||
if (gpio_is_valid(hub->gpio_intn))
|
|
||||||
gpio_free(hub->gpio_intn);
|
|
||||||
err_out:
|
|
||||||
kfree(hub);
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int usb3503_remove(struct i2c_client *i2c)
|
|
||||||
{
|
|
||||||
struct usb3503 *hub = i2c_get_clientdata(i2c);
|
|
||||||
|
|
||||||
if (gpio_is_valid(hub->gpio_intn))
|
|
||||||
gpio_free(hub->gpio_intn);
|
|
||||||
if (gpio_is_valid(hub->gpio_connect))
|
|
||||||
gpio_free(hub->gpio_connect);
|
|
||||||
if (gpio_is_valid(hub->gpio_reset))
|
|
||||||
gpio_free(hub->gpio_reset);
|
|
||||||
|
|
||||||
kfree(hub);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct i2c_device_id usb3503_id[] = {
|
static const struct i2c_device_id usb3503_id[] = {
|
||||||
@ -316,7 +289,6 @@ static struct i2c_driver usb3503_driver = {
|
|||||||
.of_match_table = of_match_ptr(usb3503_of_match),
|
.of_match_table = of_match_ptr(usb3503_of_match),
|
||||||
},
|
},
|
||||||
.probe = usb3503_probe,
|
.probe = usb3503_probe,
|
||||||
.remove = usb3503_remove,
|
|
||||||
.id_table = usb3503_id,
|
.id_table = usb3503_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user