static void clk_rk3128_gate_remove(struct device_t * dev) { struct clk_t * clk = (struct clk_t *)dev->priv; struct clk_rk3128_gate_pdata_t * pdat = (struct clk_rk3128_gate_pdata_t *)clk->priv; if(clk && unregister_clk(clk)) { free(pdat->parent); free(clk->name); free(clk->priv); free(clk); } }
static void clk_mux_remove(struct device_t * dev) { struct clk_t * clk = (struct clk_t *)dev->priv; struct clk_mux_pdata_t * pdat = (struct clk_mux_pdata_t *)clk->priv; int i; if(clk && unregister_clk(clk)) { for(i = 0; i < pdat->nparent; i++) free(pdat->parent[i].name); free(pdat->parent); free(clk->name); free(clk->priv); free(clk); } }