static void kona_ccu_teardown(struct ccu_data *ccu) { if (!ccu->base) return; of_clk_del_provider(ccu->node); /* safe if never added */ ccu_clks_teardown(ccu); of_node_put(ccu->node); ccu->node = NULL; iounmap(ccu->base); ccu->base = NULL; }
static void kona_ccu_teardown(struct ccu_data *ccu) { if (!ccu) return; if (!ccu->base) goto done; of_clk_del_provider(ccu->node); /* safe if never added */ ccu_clks_teardown(ccu); list_del(&ccu->links); of_node_put(ccu->node); iounmap(ccu->base); done: kfree(ccu->name); kfree(ccu); }