From: Joonyoung Shim Date: Wed, 8 Apr 2015 07:22:16 +0000 (+0900) Subject: gpu: arm: midgard: remove clk and regulator control from exynos5422 X-Git-Tag: submit/tizen/20160405.082219~160 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0acd7d337cf1f682d653264374586b844b34b834;p=platform%2Fkernel%2Flinux-exynos.git gpu: arm: midgard: remove clk and regulator control from exynos5422 Clk and regulator of mali will be controlled mali core codes. Signed-off-by: Joonyoung Shim --- diff --git a/drivers/gpu/arm/midgard/platform/exynos5422/exynos5422.c b/drivers/gpu/arm/midgard/platform/exynos5422/exynos5422.c index 68ebc38b0842..9b8548e19738 100644 --- a/drivers/gpu/arm/midgard/platform/exynos5422/exynos5422.c +++ b/drivers/gpu/arm/midgard/platform/exynos5422/exynos5422.c @@ -6,91 +6,17 @@ * published by the Free Software Foundation. */ -#include -#include #include /* TODO: support DVFS */ -struct mali_data { - struct device *dev; - struct clk *g3d; - struct clk *aclk_g3d; - struct regulator *vdd_g3d; -}; - static int exynos5422_platform_init(struct kbase_device *kbdev) { - struct device *dev = kbdev->dev; - struct mali_data *mali; - int ret; - - mali = devm_kzalloc(dev, sizeof(*mali), GFP_KERNEL); - if (!mali) - return -ENOMEM; - - mali->dev = dev; - - /* TODO: check g3d power domain */ - - mali->g3d = devm_clk_get(dev, "g3d"); - if (IS_ERR(mali->g3d)) { - dev_err(dev, "Failed to get g3d clk\n"); - return PTR_ERR(mali->g3d); - } - - /* TODO: check clock hierarchy & clock rate */ - mali->aclk_g3d = devm_clk_get(dev, "aclk_g3d"); - if (IS_ERR(mali->aclk_g3d)) { - dev_err(dev, "Failed to get aclk_g3d clk\n"); - return PTR_ERR(mali->aclk_g3d); - } - - mali->vdd_g3d = devm_regulator_get(dev, "vdd_g3d"); - if (IS_ERR(mali->vdd_g3d)) { - dev_err(dev, "Failed to get vdd_g3d regulator\n"); - return PTR_ERR(mali->vdd_g3d); - } - - ret = clk_prepare_enable(mali->g3d); - if (ret < 0) { - dev_err(dev, "Failed to enable g3d clk\n"); - return ret; - } - - ret = clk_prepare_enable(mali->aclk_g3d); - if (ret < 0) { - dev_err(dev, "Failed to enable aclk_g3d clk\n"); - goto err; - } - - /* TODO: check regulator voltage */ - ret = regulator_enable(mali->vdd_g3d); - if (ret < 0) { - dev_err(dev, "Failed to enable vdd_g3d regulator\n"); - goto err_aclk_g3d; - } - - kbdev->platform_context = mali; - return 0; - -err_aclk_g3d: - clk_disable_unprepare(mali->aclk_g3d); -err: - clk_disable_unprepare(mali->g3d); - return ret; } static void exynos5422_platform_term(struct kbase_device *kbdev) { - struct mali_data *mali = kbdev->platform_context; - - regulator_disable(mali->vdd_g3d); - clk_disable_unprepare(mali->aclk_g3d); - clk_disable_unprepare(mali->g3d); - - kbdev->platform_context = NULL; } static struct kbase_platform_funcs_conf exynos5422_platform_funcs = {