Skip to content

Commit d27f25c

Browse files
Markus Pargmanngregkh
Markus Pargmann
authored andcommitted
w1-gpio: Use devm_* functions
Signed-off-by: Markus Pargmann <[email protected]> Acked-by: Evgeniy Polyakov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 7cf1a12 commit d27f25c

File tree

1 file changed

+9
-19
lines changed

1 file changed

+9
-19
lines changed

drivers/w1/masters/w1-gpio.c

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -99,25 +99,27 @@ static int w1_gpio_probe(struct platform_device *pdev)
9999
return -ENXIO;
100100
}
101101

102-
master = kzalloc(sizeof(struct w1_bus_master), GFP_KERNEL);
102+
master = devm_kzalloc(&pdev->dev, sizeof(struct w1_bus_master),
103+
GFP_KERNEL);
103104
if (!master) {
104105
dev_err(&pdev->dev, "Out of memory\n");
105106
return -ENOMEM;
106107
}
107108

108-
err = gpio_request(pdata->pin, "w1");
109+
err = devm_gpio_request(&pdev->dev, pdata->pin, "w1");
109110
if (err) {
110111
dev_err(&pdev->dev, "gpio_request (pin) failed\n");
111-
goto free_master;
112+
return err;
112113
}
113114

114115
if (gpio_is_valid(pdata->ext_pullup_enable_pin)) {
115-
err = gpio_request_one(pdata->ext_pullup_enable_pin,
116-
GPIOF_INIT_LOW, "w1 pullup");
116+
err = devm_gpio_request_one(&pdev->dev,
117+
pdata->ext_pullup_enable_pin, GPIOF_INIT_LOW,
118+
"w1 pullup");
117119
if (err < 0) {
118120
dev_err(&pdev->dev, "gpio_request_one "
119121
"(ext_pullup_enable_pin) failed\n");
120-
goto free_gpio;
122+
return err;
121123
}
122124
}
123125

@@ -135,7 +137,7 @@ static int w1_gpio_probe(struct platform_device *pdev)
135137
err = w1_add_master_device(master);
136138
if (err) {
137139
dev_err(&pdev->dev, "w1_add_master device failed\n");
138-
goto free_gpio_ext_pu;
140+
return err;
139141
}
140142

141143
if (pdata->enable_external_pullup)
@@ -147,16 +149,6 @@ static int w1_gpio_probe(struct platform_device *pdev)
147149
platform_set_drvdata(pdev, master);
148150

149151
return 0;
150-
151-
free_gpio_ext_pu:
152-
if (gpio_is_valid(pdata->ext_pullup_enable_pin))
153-
gpio_free(pdata->ext_pullup_enable_pin);
154-
free_gpio:
155-
gpio_free(pdata->pin);
156-
free_master:
157-
kfree(master);
158-
159-
return err;
160152
}
161153

162154
static int w1_gpio_remove(struct platform_device *pdev)
@@ -171,8 +163,6 @@ static int w1_gpio_remove(struct platform_device *pdev)
171163
gpio_set_value(pdata->ext_pullup_enable_pin, 0);
172164

173165
w1_remove_master_device(master);
174-
gpio_free(pdata->pin);
175-
kfree(master);
176166

177167
return 0;
178168
}

0 commit comments

Comments
 (0)