ARM: stm32: Perform node compatible check for KS8851 early

Check the compatible string of ethernet1 node for KS8851 very early on,
before calling uclass_get_device_by_of_path() which might initialize
the device and possibly attempt to configure MAC address into device
which is not KS8851. Doing the compatibility check early prevent this.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
Marek Vasut 2025-09-15 02:49:05 +02:00 committed by Patrice Chotard
parent 483e19b0ad
commit 0f4bfee3cf

View File

@ -85,6 +85,9 @@ static bool dh_stm32_mac_is_in_ks8851(void)
if (!ofnode_valid(node))
return false;
if (!ofnode_device_is_compatible(node, "micrel,ks8851-mll"))
return false;
ret = ofnode_get_path(node, path, sizeof(path));
if (ret)
return false;
@ -93,9 +96,6 @@ static bool dh_stm32_mac_is_in_ks8851(void)
if (ret)
return false;
if (!ofnode_device_is_compatible(node, "micrel,ks8851-mll"))
return false;
/*
* KS8851 with EEPROM may use custom MAC from EEPROM, read
* out the KS8851 CCR register to determine whether EEPROM