static int ldi_on(struct platform_device *pdev) { int ret = 0; struct k3_fb_data_type *k3fd = NULL; BUG_ON(pdev == NULL); k3fd = (struct k3_fb_data_type *)platform_get_drvdata(pdev); BUG_ON(k3fd == NULL); /* ldi clock enable */ ret = clk_enable(k3fd->ldi_clk); if (ret != 0) { k3fb_loge("failed to enable ldi_clk, error=%d!\n", ret); return ret; } /* ldi init */ ldi_init(k3fd); if (k3fd->panel_info.type == PANEL_LDI) { /* set LCD init step before LCD on*/ k3fd->panel_info.lcd_init_step = LCD_INIT_POWER_ON; ret = panel_next_on(pdev); } ret = panel_next_on(pdev); set_LDI_CTRL_ldi_en(k3fd->edc_base, K3_ENABLE); return ret; }
/* * Setup the DDI but don't necessarily init the DDI. This will happen * later once /boot is released. */ void setup_ddi(void) { impl_ddi_init_nodeid(); impl_create_root_class(); create_devinfo_tree(); e_ddi_instance_init(); impl_ddi_callback_init(); log_event_init(); fm_init(); (void) i_ddi_load_drvconf((major_t)-1); ldi_init(); i_ddi_devices_init(); i_ddi_read_devices_files(); }
/* * Setup the DDI but don't necessarily init the DDI. This will happen * later once /boot is released. */ void setup_ddi(void) { impl_ddi_init_nodeid(); impl_create_root_class(); create_devinfo_tree(); e_ddi_instance_init(); impl_ddi_callback_init(); log_event_init(); fm_init(); ndi_fm_init(); irm_init(); (void) i_ddi_load_drvconf(DDI_MAJOR_T_NONE); ldi_init(); i_ddi_devices_init(); i_ddi_read_devices_files(); }