static void fb_bcm2837_remove(struct device_t * dev) { struct fb_t * fb = (struct fb_t *)dev->priv; if(fb && unregister_fb(fb)) { free_device_name(fb->name); free(fb->priv); free(fb); } }
static void fb_rk3288_remove(struct device_t * dev) { struct fb_t * fb = (struct fb_t *)dev->priv; struct fb_rk3288_pdata_t * pdat = (struct fb_rk3288_pdata_t *)fb->priv; if(fb && unregister_fb(fb)) { regulator_disable(pdat->lcd_avdd_3v3); free(pdat->lcd_avdd_3v3); regulator_disable(pdat->lcd_avdd_1v8); free(pdat->lcd_avdd_1v8); regulator_disable(pdat->lcd_avdd_1v0); free(pdat->lcd_avdd_1v0); clk_disable(pdat->clk); free(pdat->clk); dma_free_noncoherent(pdat->vram[0]); dma_free_noncoherent(pdat->vram[1]); free_device_name(fb->name); free(fb->priv); free(fb); } }