diff options
author | Inki Dae <inki.dae@samsung.com> | 2014-11-24 17:08:00 +0900 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2014-11-24 18:02:57 +0900 |
commit | 4846e452084945891a770809f94b23f33eebcd8c (patch) | |
tree | 446b120c106d0478a4597241061425190218e59e /drivers/gpu/drm/exynos | |
parent | 820687befec471aff3bb59bd69302d34a776e807 (diff) |
drm/exynos: clean up machine compatible string check
Use 'for' statemant instead of hard-coded 'if' statement.
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index c5cb8b6c85a..495826f73c2 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c @@ -610,6 +610,12 @@ static int exynos_drm_platform_remove(struct platform_device *pdev) return 0; } +static const char * const strings[] = { + "samsung,exynos3", + "samsung,exynos4", + "samsung,exynos5", +}; + static struct platform_driver exynos_drm_platform_driver = { .probe = exynos_drm_platform_probe, .remove = exynos_drm_platform_remove, @@ -622,6 +628,7 @@ static struct platform_driver exynos_drm_platform_driver = { static int exynos_drm_init(void) { + bool is_exynos = false; int ret, i, j; /* @@ -631,9 +638,14 @@ static int exynos_drm_init(void) * by Exynos drm driver when using multi-platform kernel. * So these codes will be replaced with more generic way later. */ - if (!of_machine_is_compatible("samsung,exynos3") && - !of_machine_is_compatible("samsung,exynos4") && - !of_machine_is_compatible("samsung,exynos5")) + for (i = 0; i < ARRAY_SIZE(strings); i++) { + if (of_machine_is_compatible(strings[i])) { + is_exynos = true; + break; + } + } + + if (!is_exynos) return -ENODEV; exynos_drm_pdev = platform_device_register_simple("exynos-drm", -1, |