macintosh/macio-adb: replace of_node_put() with __free
use the new cleanup magic to replace of_node_put() with __free(device_node) marking to auto release when they get out of scope. Suggested-by: Julia Lawall <julia.lawall@inria.fr> Signed-off-by: sundar <prosunofficial@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240424150718.5006-1-prosunofficial@gmail.com
This commit is contained in:
parent
dda32e37d3
commit
84030aacf1
@ -83,35 +83,32 @@ struct adb_driver macio_adb_driver = {
|
||||
|
||||
int macio_probe(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
struct device_node *np __free(device_node) =
|
||||
of_find_compatible_node(NULL, "adb", "chrp,adb0");
|
||||
|
||||
np = of_find_compatible_node(NULL, "adb", "chrp,adb0");
|
||||
if (np) {
|
||||
of_node_put(np);
|
||||
if (np)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
int macio_init(void)
|
||||
{
|
||||
struct device_node *adbs;
|
||||
struct device_node *adbs __free(device_node) =
|
||||
of_find_compatible_node(NULL, "adb", "chrp,adb0");
|
||||
struct resource r;
|
||||
unsigned int irq;
|
||||
|
||||
adbs = of_find_compatible_node(NULL, "adb", "chrp,adb0");
|
||||
if (!adbs)
|
||||
return -ENXIO;
|
||||
|
||||
if (of_address_to_resource(adbs, 0, &r)) {
|
||||
of_node_put(adbs);
|
||||
if (of_address_to_resource(adbs, 0, &r))
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
adb = ioremap(r.start, sizeof(struct adb_regs));
|
||||
if (!adb) {
|
||||
of_node_put(adbs);
|
||||
if (!adb)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
||||
out_8(&adb->ctrl.r, 0);
|
||||
out_8(&adb->intr.r, 0);
|
||||
@ -121,7 +118,6 @@ int macio_init(void)
|
||||
out_8(&adb->autopoll.r, APE);
|
||||
|
||||
irq = irq_of_parse_and_map(adbs, 0);
|
||||
of_node_put(adbs);
|
||||
if (request_irq(irq, macio_adb_interrupt, 0, "ADB", (void *)0)) {
|
||||
iounmap(adb);
|
||||
printk(KERN_ERR "ADB: can't get irq %d\n", irq);
|
||||
|
Loading…
Reference in New Issue
Block a user