From: Joonyoung Shim Date: Tue, 20 Jan 2015 09:07:38 +0000 (+0900) Subject: gpu: arm: midgard: support kernel error defines for platform. X-Git-Tag: submit/tizen/20150416.081342~72 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=15e1b20159bc603d3d6c3b4be93abd8332b9fdd1;p=platform%2Fkernel%2Flinux-exynos.git gpu: arm: midgard: support kernel error defines for platform. Don't use mali error defines, it'a ugly. Signed-off-by: Joonyoung Shim --- diff --git a/drivers/gpu/arm/midgard/mali_kbase.h b/drivers/gpu/arm/midgard/mali_kbase.h index e94681f474af..5754f3125df1 100644 --- a/drivers/gpu/arm/midgard/mali_kbase.h +++ b/drivers/gpu/arm/midgard/mali_kbase.h @@ -86,7 +86,7 @@ const struct list_head *kbase_dev_list_get(void); /* API to release the device list semaphore */ void kbase_dev_list_put(const struct list_head *dev_list); -mali_error kbase_device_init(struct kbase_device * const kbdev); +int kbase_device_init(struct kbase_device * const kbdev); void kbase_device_term(struct kbase_device *kbdev); void kbase_device_free(struct kbase_device *kbdev); int kbase_device_has_feature(struct kbase_device *kbdev, u32 feature); diff --git a/drivers/gpu/arm/midgard/mali_kbase_config.c b/drivers/gpu/arm/midgard/mali_kbase_config.c index 88315acf4263..a4ff12cecfe3 100644 --- a/drivers/gpu/arm/midgard/mali_kbase_config.c +++ b/drivers/gpu/arm/midgard/mali_kbase_config.c @@ -133,7 +133,7 @@ uintptr_t kbasep_get_config_value(struct kbase_device *kbdev, const struct kbase KBASE_EXPORT_TEST_API(kbasep_get_config_value) -mali_bool kbasep_platform_device_init(struct kbase_device *kbdev) +int kbasep_platform_device_init(struct kbase_device *kbdev) { struct kbase_platform_funcs_conf *platform_funcs; @@ -142,7 +142,7 @@ mali_bool kbasep_platform_device_init(struct kbase_device *kbdev) if (platform_funcs->platform_init_func) return platform_funcs->platform_init_func(kbdev); } - return MALI_TRUE; + return 0; } void kbasep_platform_device_term(struct kbase_device *kbdev) diff --git a/drivers/gpu/arm/midgard/mali_kbase_config.h b/drivers/gpu/arm/midgard/mali_kbase_config.h index 3a1acf89ac7b..2c8313167560 100644 --- a/drivers/gpu/arm/midgard/mali_kbase_config.h +++ b/drivers/gpu/arm/midgard/mali_kbase_config.h @@ -450,7 +450,7 @@ typedef struct kbase_platform_funcs_conf { * Power Management callbacks). * The platform specific private pointer kbase_device::platform_context can be accessed (and possibly initialized) in here. */ - mali_bool(*platform_init_func) (struct kbase_device *kbdev); + int (*platform_init_func)(struct kbase_device *kbdev); /** * Function pointer for platform specific termination or NULL if no termination function is required. * This function will be called \em after any other callbacks listed in the struct kbase_attribute struct (such as @@ -701,7 +701,7 @@ int kbasep_get_config_attribute_count(const struct kbase_attribute *attributes); * * @return MALI_TRUE if no errors have been found in the config. MALI_FALSE otherwise. */ -mali_bool kbasep_platform_device_init(struct kbase_device *kbdev); +int kbasep_platform_device_init(struct kbase_device *kbdev); /** * @brief Platform specific call to terminate hardware diff --git a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c index d1d2d5647b78..901f3c8dd96b 100644 --- a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c +++ b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c @@ -2971,10 +2971,12 @@ static int kbase_platform_device_probe(struct platform_device *pdev) #endif /* CONFIG_DEBUG_FS */ - if (MALI_ERROR_NONE != kbase_device_init(kbdev)) { + err = kbase_device_init(kbdev); + if (err < 0 || MALI_ERROR_NONE != err) { dev_err(kbdev->dev, "Can't initialize device\n"); - err = -ENOMEM; + if (err > MALI_ERROR_NONE) + err = -ENOMEM; goto out_debugfs_remove; } diff --git a/drivers/gpu/arm/midgard/mali_kbase_device.c b/drivers/gpu/arm/midgard/mali_kbase_device.c index 39043c96dbbb..77dac87b98e4 100644 --- a/drivers/gpu/arm/midgard/mali_kbase_device.c +++ b/drivers/gpu/arm/midgard/mali_kbase_device.c @@ -71,15 +71,17 @@ struct kbase_device *kbase_device_alloc(void) return kzalloc(sizeof(struct kbase_device), GFP_KERNEL); } -mali_error kbase_device_init(struct kbase_device * const kbdev) +int kbase_device_init(struct kbase_device * const kbdev) { int i; /* i used after the for loop, don't reuse ! */ + int err; spin_lock_init(&kbdev->mmu_mask_change); /* Initialize platform specific context */ - if (MALI_FALSE == kbasep_platform_device_init(kbdev)) - goto fail; + err = kbasep_platform_device_init(kbdev); + if (err < 0) + return err; /* Ensure we can access the GPU registers */ kbase_pm_register_access_enable(kbdev); @@ -244,7 +246,6 @@ mem_lowlevel_init_failed: dma_set_mask_failed: free_platform: kbasep_platform_device_term(kbdev); -fail: return MALI_ERROR_FUNCTION_FAILED; }