Commit 436f271996a1925e506d5004dcbf62bce24e5777
Committed by
Greg Kroah-Hartman
1 parent
f0675e2a99
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
drivers/usb/host/ehci-grlib.c: use devm_ functions
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 3 additions and 15 deletions Side-by-side Diff
drivers/usb/host/ehci-grlib.c
... | ... | @@ -127,12 +127,6 @@ |
127 | 127 | hcd->rsrc_start = res.start; |
128 | 128 | hcd->rsrc_len = resource_size(&res); |
129 | 129 | |
130 | - if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) { | |
131 | - printk(KERN_ERR "%s: request_mem_region failed\n", __FILE__); | |
132 | - rv = -EBUSY; | |
133 | - goto err_rmr; | |
134 | - } | |
135 | - | |
136 | 130 | irq = irq_of_parse_and_map(dn, 0); |
137 | 131 | if (irq == NO_IRQ) { |
138 | 132 | printk(KERN_ERR "%s: irq_of_parse_and_map failed\n", __FILE__); |
139 | 133 | |
... | ... | @@ -140,9 +134,9 @@ |
140 | 134 | goto err_irq; |
141 | 135 | } |
142 | 136 | |
143 | - hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); | |
137 | + hcd->regs = devm_request_and_ioremap(&op->dev, &res); | |
144 | 138 | if (!hcd->regs) { |
145 | - printk(KERN_ERR "%s: ioremap failed\n", __FILE__); | |
139 | + pr_err("%s: devm_request_and_ioremap failed\n", __FILE__); | |
146 | 140 | rv = -ENOMEM; |
147 | 141 | goto err_ioremap; |
148 | 142 | } |
149 | 143 | |
150 | 144 | |
... | ... | @@ -161,17 +155,13 @@ |
161 | 155 | |
162 | 156 | rv = usb_add_hcd(hcd, irq, 0); |
163 | 157 | if (rv) |
164 | - goto err_ehci; | |
158 | + goto err_ioremap; | |
165 | 159 | |
166 | 160 | return 0; |
167 | 161 | |
168 | -err_ehci: | |
169 | - iounmap(hcd->regs); | |
170 | 162 | err_ioremap: |
171 | 163 | irq_dispose_mapping(irq); |
172 | 164 | err_irq: |
173 | - release_mem_region(hcd->rsrc_start, hcd->rsrc_len); | |
174 | -err_rmr: | |
175 | 165 | usb_put_hcd(hcd); |
176 | 166 | |
177 | 167 | return rv; |
178 | 168 | |
... | ... | @@ -188,9 +178,7 @@ |
188 | 178 | |
189 | 179 | usb_remove_hcd(hcd); |
190 | 180 | |
191 | - iounmap(hcd->regs); | |
192 | 181 | irq_dispose_mapping(hcd->irq); |
193 | - release_mem_region(hcd->rsrc_start, hcd->rsrc_len); | |
194 | 182 | |
195 | 183 | usb_put_hcd(hcd); |
196 | 184 |