Use of_device_get_match_data to retrieve the generation value
as set in the struct of_device_id, rather than manually comparing
compatible strings.

Signed-off-by: Dave Stevenson <dave.steven...@raspberrypi.com>
---
 drivers/gpu/drm/vc4/vc4_drv.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
index d47e5967592f..3099292f22a5 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -300,10 +300,7 @@ static int vc4_drm_bind(struct device *dev)
 
        dev->coherent_dma_mask = DMA_BIT_MASK(32);
 
-       if (of_device_is_compatible(dev->of_node, "brcm,bcm2711-vc5"))
-               gen = VC4_GEN_5;
-       else
-               gen = VC4_GEN_4;
+       gen = (enum vc4_gen)of_device_get_match_data(dev);
 
        if (gen > VC4_GEN_4)
                driver = &vc5_drm_driver;
@@ -462,9 +459,9 @@ static void vc4_platform_drm_shutdown(struct 
platform_device *pdev)
 }
 
 static const struct of_device_id vc4_of_match[] = {
-       { .compatible = "brcm,bcm2711-vc5", },
-       { .compatible = "brcm,bcm2835-vc4", },
-       { .compatible = "brcm,cygnus-vc4", },
+       { .compatible = "brcm,bcm2711-vc5", .data = (void *)VC4_GEN_5 },
+       { .compatible = "brcm,bcm2835-vc4", .data = (void *)VC4_GEN_4 },
+       { .compatible = "brcm,cygnus-vc4", .data = (void *)VC4_GEN_4 },
        {},
 };
 MODULE_DEVICE_TABLE(of, vc4_of_match);

-- 
2.34.1

Reply via email to