diff mbox series

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

Message ID 20230120110933.1151054-1-a.fatoum@pengutronix.de (mailing list archive)
State Accepted
Commit 360fdc999d92db4a4adbba0db8641396dc9f1b13
Delegated to: Netdev Maintainers
Headers show
Series [net,v2] net: dsa: microchip: fix probe of I2C-connected KSZ8563 | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for net
netdev/fixes_present success Fixes tag present in non-next series
netdev/subject_prefix success Link
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers success CCed 11 of 11 maintainers
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 8 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Ahmad Fatoum Jan. 20, 2023, 11:09 a.m. UTC
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@lunn.ch>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
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(-)

Comments

Arun Ramadoss Jan. 20, 2023, 2:15 p.m. UTC | #1
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@pengutronix.de. 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@lunn.ch>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>

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

> ---
> 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
>
Florian Fainelli Jan. 20, 2023, 6:12 p.m. UTC | #2
On 1/20/2023 3:09 AM, Ahmad Fatoum wrote:
> 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@lunn.ch>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
patchwork-bot+netdevbpf@kernel.org Jan. 24, 2023, 5:50 a.m. UTC | #3
Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 20 Jan 2023 12:09:32 +0100 you wrote:
> 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!
> 
> [...]

Here is the summary with links:
  - [net,v2] net: dsa: microchip: fix probe of I2C-connected KSZ8563
    https://git.kernel.org/netdev/net/c/360fdc999d92

You are awesome, thank you!
diff mbox series

Patch

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",