static int dpi_init_display(struct omap_dss_device *dssdev) { struct platform_device *dsidev; DSSDBG("init_display\n"); if (dss_has_feature(FEAT_DPI_USES_VDDS_DSI) && dpi.vdds_dsi_reg == NULL) { struct regulator *vdds_dsi; vdds_dsi = dss_get_vdds_dsi(); if (IS_ERR(vdds_dsi)) { DSSERR("can't get VDDS_DSI regulator\n"); return PTR_ERR(vdds_dsi); } dpi.vdds_dsi_reg = vdds_dsi; } dsidev = dpi_get_dsidev(dpi.output.dispc_channel); if (dsidev && dpi_verify_dsi_pll(dsidev)) { dsidev = NULL; DSSWARN("DSI PLL not operational\n"); } if (dsidev) DSSDBG("using DSI PLL for DPI clock\n"); dpi.dsidev = dsidev; return 0; }
static void dpi_init_pll(void) { struct platform_device *dsidev; if (dpi.dsidev) return; dsidev = dpi_get_dsidev(dpi.output.dispc_channel); if (!dsidev) return; if (dpi_verify_dsi_pll(dsidev)) { DSSWARN("DSI PLL not operational\n"); return; } dpi.dsidev = dsidev; }