mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
net: dsa: microchip: fix probe of I2C-connected KSZ8563
Starting with commiteee16b1471
("net: dsa: microchip: perform the compatibility check for dev probed"), the KSZ switch driver now bails out if it thinks the DT compatible doesn't match the actual chip ID read back from the hardware: ksz9477-switch 1-005f: Device tree specifies chip KSZ9893 but found KSZ8563, please fix it! For the KSZ8563, which used ksz_switch_chips[KSZ9893], this was fine at first, because it indeed shares the same chip id as the KSZ9893. Commitb449080956
("net: dsa: microchip: add separate struct ksz_chip_data for KSZ8563 chip") started differentiating KSZ9893 compatible chips by consulting the 0x1F register. The resulting breakage was fixed for the SPI driver in the same commit by introducing the appropriate ksz_switch_chips[KSZ8563], but not for the I2C driver. Fix this for I2C-connected KSZ8563 now to get it probing again. Fixes:b449080956
("net: dsa: microchip: add separate struct ksz_chip_data for KSZ8563 chip"). Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20230120110933.1151054-1-a.fatoum@pengutronix.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
5e9398a26a
commit
360fdc999d
@ -104,7 +104,7 @@ static const struct of_device_id ksz9477_dt_ids[] = {
|
||||
},
|
||||
{
|
||||
.compatible = "microchip,ksz8563",
|
||||
.data = &ksz_switch_chips[KSZ9893]
|
||||
.data = &ksz_switch_chips[KSZ8563]
|
||||
},
|
||||
{
|
||||
.compatible = "microchip,ksz9567",
|
||||
|
Loading…
Reference in New Issue
Block a user