]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bcma: don't register devices disabled in OF
authorRafał Miłecki <rafal@milecki.pl>
Fri, 3 Oct 2025 12:51:26 +0000 (14:51 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 20 Oct 2025 11:54:15 +0000 (13:54 +0200)
Some bus devices can be marked as disabled for specific SoCs or models.
Those should not be registered to avoid probing them.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20251003125126.27950-1-zajec5@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/bcma/main.c

index 6ecfc821cf833e4ccb76a53900d6695fd747bde5..72f045e6ed513101f5a82ce662904c467deff92d 100644 (file)
@@ -294,6 +294,8 @@ static int bcma_register_devices(struct bcma_bus *bus)
        int err;
 
        list_for_each_entry(core, &bus->cores, list) {
+               struct device_node *np;
+
                /* We support that core ourselves */
                switch (core->id.id) {
                case BCMA_CORE_4706_CHIPCOMMON:
@@ -311,6 +313,10 @@ static int bcma_register_devices(struct bcma_bus *bus)
                if (bcma_is_core_needed_early(core->id.id))
                        continue;
 
+               np = core->dev.of_node;
+               if (np && !of_device_is_available(np))
+                       continue;
+
                /* Only first GMAC core on BCM4706 is connected and working */
                if (core->id.id == BCMA_CORE_4706_MAC_GBIT &&
                    core->core_unit > 0)