Re: [PATCH net v2] net: dsa: microchip: fix probe of I2C-connected KSZ8563

From: Arun.Ramadoss
Date: Fri Jan 20 2023 - 09:17:43 EST


On Fri, 2023-01-20 at 12:09 +0100, Ahmad Fatoum wrote:
> [Some people who received this message don't often get email from
> a.fatoum@xxxxxxxxxxxxxx. Learn why this is important at
> https://aka.ms/LearnAboutSenderIdentification ]
>
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> Starting with commit eee16b147121 ("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.
>
> Commit b44908095612 ("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: b44908095612 ("net: dsa: microchip: add separate struct
> ksz_chip_data for KSZ8563 chip").
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx>

Acked-by: Arun Ramadoss<arun.ramadoss@xxxxxxxxxxxxx>

> ---
> v1 -> v2:
> - rewrote commit message and Fixes: to point at correct
> culprit commit introducing regression (Arun)
> - included Andrew's Reviewed-by
> ---
> drivers/net/dsa/microchip/ksz9477_i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/dsa/microchip/ksz9477_i2c.c
> b/drivers/net/dsa/microchip/ksz9477_i2c.c
> index c1a633ca1e6d..e315f669ec06 100644
> --- a/drivers/net/dsa/microchip/ksz9477_i2c.c
> +++ b/drivers/net/dsa/microchip/ksz9477_i2c.c
> @@ -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",
> --
> 2.30.2
>