static void mdfld_init_panel(struct drm_device *dev, int mipi_pipe, int p_type) { switch (p_type) { case TPO_VID: mdfld_dsi_output_init(dev, mipi_pipe, &mdfld_tpo_vid_funcs); break; case TC35876X: tc35876x_init(dev); mdfld_dsi_output_init(dev, mipi_pipe, &mdfld_tc35876x_funcs); break; case TMD_VID: mdfld_dsi_output_init(dev, mipi_pipe, &mdfld_tmd_vid_funcs); break; case HDMI: /* if (dev_priv->mdfld_hdmi_present) mdfld_hdmi_init(dev, &dev_priv->mode_dev); */ break; } }
static void init_panel(struct drm_device *dev, int mipi_pipe, int p_type) { struct panel_funcs *p_cmd_funcs; struct panel_funcs *p_vid_funcs; /* Oh boy ... FIXME */ p_cmd_funcs = kzalloc(sizeof(struct panel_funcs), GFP_KERNEL); p_vid_funcs = kzalloc(sizeof(struct panel_funcs), GFP_KERNEL); switch (p_type) { case TPO_CMD: tpo_cmd_init(dev, p_cmd_funcs); mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs, NULL); break; case TPO_VID: tpo_vid_init(dev, p_vid_funcs); mdfld_dsi_output_init(dev, mipi_pipe, NULL, NULL, p_vid_funcs); break; case TMD_CMD: /*tmd_cmd_init(dev, p_cmd_funcs); */ mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs, NULL); break; case TMD_VID: tmd_vid_init(dev, p_vid_funcs); mdfld_dsi_output_init(dev, mipi_pipe, NULL, NULL, p_vid_funcs); break; case PYR_CMD: pyr_cmd_init(dev, p_cmd_funcs); mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs, NULL); break; case PYR_VID: /*pyr_vid_init(dev, p_vid_funcs); */ mdfld_dsi_output_init(dev, mipi_pipe, NULL, NULL, p_vid_funcs); break; case TPO: /* TPO panel supports both cmd & vid interfaces */ tpo_cmd_init(dev, p_cmd_funcs); tpo_vid_init(dev, p_vid_funcs); mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs, p_vid_funcs); break; case TMD: break; case PYR: break; #if 0 case HDMI: dev_dbg(dev->dev, "Initializing HDMI"); mdfld_hdmi_init(dev, &dev_priv->mode_dev); break; #endif default: dev_err(dev->dev, "Unsupported interface %d", p_type); break; } }