int mdss_dsi_clk_init(struct platform_device *pdev) { struct device *dev = &pdev->dev; dsi_byte_clk = clk_get(dev, "byte_clk"); if (IS_ERR(dsi_byte_clk)) { pr_err("can't find dsi_byte_clk\n"); dsi_byte_clk = NULL; goto mdss_dsi_clk_err; } dsi_pixel_clk = clk_get(dev, "pixel_clk"); if (IS_ERR(dsi_pixel_clk)) { pr_err("can't find dsi_pixel_clk\n"); dsi_pixel_clk = NULL; goto mdss_dsi_clk_err; } dsi_esc_clk = clk_get(dev, "core_clk"); if (IS_ERR(dsi_esc_clk)) { pr_err("can't find dsi_esc_clk\n"); dsi_esc_clk = NULL; goto mdss_dsi_clk_err; } return 0; mdss_dsi_clk_err: mdss_dsi_clk_deinit(dev); return -EPERM; }
int mdss_dsi_clk_init(struct platform_device *pdev, struct mdss_dsi_ctrl_pdata *ctrl_pdata) { struct device *dev = NULL; int rc = 0; if (!pdev) { pr_err("%s: Invalid pdev\n", __func__); goto mdss_dsi_clk_err; } dev = &pdev->dev; ctrl_pdata->ahb_clk = clk_get(dev, "iface_clk"); if (IS_ERR(ctrl_pdata->ahb_clk)) { rc = PTR_ERR(ctrl_pdata->ahb_clk); pr_err("%s: Unable to get mdss ahb clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } ctrl_pdata->axi_clk = clk_get(dev, "bus_clk"); if (IS_ERR(ctrl_pdata->axi_clk)) { rc = PTR_ERR(ctrl_pdata->axi_clk); pr_err("%s: Unable to get axi bus clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } ctrl_pdata->byte_clk = clk_get(dev, "byte_clk"); if (IS_ERR(ctrl_pdata->byte_clk)) { rc = PTR_ERR(ctrl_pdata->byte_clk); pr_err("%s: can't find dsi_byte_clk. rc=%d\n", __func__, rc); ctrl_pdata->byte_clk = NULL; goto mdss_dsi_clk_err; } ctrl_pdata->pixel_clk = clk_get(dev, "pixel_clk"); if (IS_ERR(ctrl_pdata->pixel_clk)) { rc = PTR_ERR(ctrl_pdata->pixel_clk); pr_err("%s: can't find dsi_pixel_clk. rc=%d\n", __func__, rc); ctrl_pdata->pixel_clk = NULL; goto mdss_dsi_clk_err; } ctrl_pdata->esc_clk = clk_get(dev, "core_clk"); if (IS_ERR(ctrl_pdata->esc_clk)) { rc = PTR_ERR(ctrl_pdata->esc_clk); pr_err("%s: can't find dsi_esc_clk. rc=%d\n", __func__, rc); ctrl_pdata->esc_clk = NULL; goto mdss_dsi_clk_err; } mdss_dsi_clk_err: if (rc) mdss_dsi_clk_deinit(ctrl_pdata); return rc; }
int mdss_dsi_clk_init(struct platform_device *pdev, struct mdss_dsi_ctrl_pdata *ctrl) { struct device *dev = NULL; int rc = 0; if (!pdev) { pr_err("%s: Invalid pdev\n", __func__); goto mdss_dsi_clk_err; } dev = &pdev->dev; ctrl->mdp_core_clk = clk_get(dev, "mdp_core_clk"); if (IS_ERR(ctrl->mdp_core_clk)) { rc = PTR_ERR(ctrl->mdp_core_clk); pr_err("%s: Unable to get mdp core clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } ctrl->ahb_clk = clk_get(dev, "iface_clk"); if (IS_ERR(ctrl->ahb_clk)) { rc = PTR_ERR(ctrl->ahb_clk); pr_err("%s: Unable to get mdss ahb clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } ctrl->axi_clk = clk_get(dev, "bus_clk"); if (IS_ERR(ctrl->axi_clk)) { rc = PTR_ERR(ctrl->axi_clk); pr_err("%s: Unable to get axi bus clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } if ((ctrl->panel_data.panel_info.type == MIPI_CMD_PANEL) || ctrl->panel_data.panel_info.mipi.dynamic_switch_enabled || ctrl->panel_data.panel_info.ulps_suspend_enabled) { ctrl->mmss_misc_ahb_clk = clk_get(dev, "core_mmss_clk"); if (IS_ERR(ctrl->mmss_misc_ahb_clk)) { ctrl->mmss_misc_ahb_clk = NULL; pr_info("%s: Unable to get mmss misc ahb clk\n", __func__); } } ctrl->byte_clk = clk_get(dev, "byte_clk"); if (IS_ERR(ctrl->byte_clk)) { rc = PTR_ERR(ctrl->byte_clk); pr_err("%s: can't find dsi_byte_clk. rc=%d\n", __func__, rc); ctrl->byte_clk = NULL; goto mdss_dsi_clk_err; } ctrl->pixel_clk = clk_get(dev, "pixel_clk"); if (IS_ERR(ctrl->pixel_clk)) { rc = PTR_ERR(ctrl->pixel_clk); pr_err("%s: can't find dsi_pixel_clk. rc=%d\n", __func__, rc); ctrl->pixel_clk = NULL; goto mdss_dsi_clk_err; } ctrl->esc_clk = clk_get(dev, "core_clk"); if (IS_ERR(ctrl->esc_clk)) { rc = PTR_ERR(ctrl->esc_clk); pr_err("%s: can't find dsi_esc_clk. rc=%d\n", __func__, rc); ctrl->esc_clk = NULL; goto mdss_dsi_clk_err; } mdss_dsi_clk_err: if (rc) mdss_dsi_clk_deinit(ctrl); return rc; }
int mdss_dsi_clk_init(struct platform_device *pdev, struct mdss_dsi_ctrl_pdata *ctrl_pdata) { struct device *dev = NULL; int rc = 0; if (!pdev) { pr_err("%s: Invalid pdev\n", __func__); goto mdss_dsi_clk_err; } dev = &pdev->dev; ctrl_pdata->mdp_core_clk = clk_get(dev, "mdp_core_clk"); if (IS_ERR(ctrl_pdata->mdp_core_clk)) { rc = PTR_ERR(ctrl_pdata->mdp_core_clk); pr_err("%s: Unable to get mdp core clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } ctrl_pdata->ahb_clk = clk_get(dev, "iface_clk"); if (IS_ERR(ctrl_pdata->ahb_clk)) { rc = PTR_ERR(ctrl_pdata->ahb_clk); pr_err("%s: Unable to get mdss ahb clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } ctrl_pdata->axi_clk = clk_get(dev, "bus_clk"); if (IS_ERR(ctrl_pdata->axi_clk)) { rc = PTR_ERR(ctrl_pdata->axi_clk); pr_err("%s: Unable to get axi bus clk. rc=%d\n", __func__, rc); goto mdss_dsi_clk_err; } ctrl_pdata->byte_clk = clk_get(dev, "byte_clk"); if (IS_ERR(ctrl_pdata->byte_clk)) { rc = PTR_ERR(ctrl_pdata->byte_clk); pr_err("%s: can't find dsi_byte_clk. rc=%d\n", __func__, rc); ctrl_pdata->byte_clk = NULL; goto mdss_dsi_clk_err; } ctrl_pdata->pixel_clk = clk_get(dev, "pixel_clk"); if (IS_ERR(ctrl_pdata->pixel_clk)) { rc = PTR_ERR(ctrl_pdata->pixel_clk); pr_err("%s: can't find dsi_pixel_clk. rc=%d\n", __func__, rc); ctrl_pdata->pixel_clk = NULL; goto mdss_dsi_clk_err; } ctrl_pdata->esc_clk = clk_get(dev, "core_clk"); if (IS_ERR(ctrl_pdata->esc_clk)) { rc = PTR_ERR(ctrl_pdata->esc_clk); pr_err("%s: can't find dsi_esc_clk. rc=%d\n", __func__, rc); ctrl_pdata->esc_clk = NULL; goto mdss_dsi_clk_err; } if (ctrl_pdata->shared_pdata.broadcast_enable) { if (ctrl_pdata->panel_data.panel_info.pdest == DISPLAY_1) { pr_info("%s: Broadcast mode enabled.\n", __func__); left_ctrl = ctrl_pdata; } } mdss_dsi_clk_err: if (rc) mdss_dsi_clk_deinit(ctrl_pdata); return rc; }