]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: rockchip: spdif: Use device_get_match_data()
authorSebastian Reichel <sebastian.reichel@collabora.com>
Tue, 3 Feb 2026 16:46:23 +0000 (17:46 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 5 Feb 2026 18:46:40 +0000 (18:46 +0000)
Use device_get_match_data(), so that the probe routine does not
directly reference the of_match_table. This allows moving the
table at the end of the file where most recent drivers have it.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://patch.msgid.link/20260203-rockchip-spdif-cleanup-and-bsp-sync-v2-1-4412016cf577@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/rockchip/rockchip_spdif.c

index d365168934dc6ed59130b53154ab4eba33607fb1..23f14274a6e0e066c4336e442969e21fd2f77a02 100644 (file)
@@ -283,14 +283,14 @@ static const struct regmap_config rk_spdif_regmap_config = {
 static int rk_spdif_probe(struct platform_device *pdev)
 {
        struct device_node *np = pdev->dev.of_node;
+       enum rk_spdif_type spdif_type;
        struct rk_spdif_dev *spdif;
-       const struct of_device_id *match;
        struct resource *res;
        void __iomem *regs;
        int ret;
 
-       match = of_match_node(rk_spdif_match, np);
-       if (match->data == (void *)RK_SPDIF_RK3288) {
+       spdif_type = (uintptr_t) device_get_match_data(&pdev->dev);
+       if (spdif_type == RK_SPDIF_RK3288) {
                struct regmap *grf;
 
                grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");