]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
video: sunxi: dw-hdmi: Probe driver by compatible
authorJernej Skrabec <jernej.skrabec@gmail.com>
Mon, 28 Nov 2022 07:02:25 +0000 (01:02 -0600)
committerAndre Przywara <andre.przywara@arm.com>
Mon, 23 Jan 2023 01:18:31 +0000 (01:18 +0000)
Currently the sunxi dw-hdmi driver is probed unconditionally,
even if there is no such device.

Switch the driver to probing via a compatible string. This brings many
benefits; the driver is only probed when needed, and now it can read the
DT node.

Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
drivers/video/sunxi/sunxi_dw_hdmi.c

index 19ed80b48a4f32eac5860c4f94df5b5c257b27b2..e7265af7d8f82e36b8695e42c7feea16cf04033b 100644 (file)
@@ -370,14 +370,16 @@ static const struct dm_display_ops sunxi_dw_hdmi_ops = {
        .mode_valid = sunxi_dw_hdmi_mode_valid,
 };
 
-U_BOOT_DRIVER(sunxi_dw_hdmi) = {
-       .name   = "sunxi_dw_hdmi",
-       .id     = UCLASS_DISPLAY,
-       .ops    = &sunxi_dw_hdmi_ops,
-       .probe  = sunxi_dw_hdmi_probe,
-       .priv_auto      = sizeof(struct sunxi_dw_hdmi_priv),
+static const struct udevice_id sunxi_dw_hdmi_ids[] = {
+       { .compatible = "allwinner,sun8i-a83t-dw-hdmi" },
+       { }
 };
 
-U_BOOT_DRVINFO(sunxi_dw_hdmi) = {
-       .name = "sunxi_dw_hdmi"
+U_BOOT_DRIVER(sunxi_dw_hdmi) = {
+       .name           = "sunxi_dw_hdmi",
+       .id             = UCLASS_DISPLAY,
+       .of_match       = sunxi_dw_hdmi_ids,
+       .probe          = sunxi_dw_hdmi_probe,
+       .priv_auto      = sizeof(struct sunxi_dw_hdmi_priv),
+       .ops            = &sunxi_dw_hdmi_ops,
 };