On 01/26/2017 11:46 PM, Sean Nyekjaer wrote:
> This is adds support for the PHYs in the KSZ8795 5port managed switch.
> 
> It will allow to detect the link between the switch and the soc
> and uses the same read_status functions as the KSZ8873MLL switch.
> 
> Signed-off-by: Sean Nyekjaer <sean.nyekj...@prevas.dk>
> ---
> Changes in v2:
>  - Removed "switch" name
> 
>  drivers/net/phy/micrel.c   | 14 ++++++++++++++
>  include/linux/micrel_phy.h |  2 ++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
> index ea92d524d5a8..fab56c9350cf 100644
> --- a/drivers/net/phy/micrel.c
> +++ b/drivers/net/phy/micrel.c
> @@ -1014,6 +1014,20 @@ static struct phy_driver ksphy_driver[] = {
>       .get_stats      = kszphy_get_stats,
>       .suspend        = genphy_suspend,
>       .resume         = genphy_resume,
> +}, {
> +     .phy_id         = PHY_ID_KSZ8795,
> +     .phy_id_mask    = MICREL_PHY_ID_MASK,
> +     .name           = "Micrel KSZ8795",
> +     .features       = (SUPPORTED_Pause | SUPPORTED_Asym_Pause),

This is wrong, it should be PHY_GBIT_FEATURES or PHY_BASIC_FEATURES.
Including the Pause/AsymPause feature bits is not longer necessary, the
PHY library takes care of adding these automatically to let your MAC do
flow control auto-negotiation later on.

Please submit an incremental fix to that.

> +     .flags          = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
> +     .config_init    = kszphy_config_init,
> +     .config_aneg    = ksz8873mll_config_aneg,
> +     .read_status    = ksz8873mll_read_status,
> +     .get_sset_count = kszphy_get_sset_count,
> +     .get_strings    = kszphy_get_strings,
> +     .get_stats      = kszphy_get_stats,
> +     .suspend        = genphy_suspend,
> +     .resume         = genphy_resume,
>  } };
>  
>  module_phy_driver(ksphy_driver);
> diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h
> index 257173e0095e..f541da68d1e7 100644
> --- a/include/linux/micrel_phy.h
> +++ b/include/linux/micrel_phy.h
> @@ -35,6 +35,8 @@
>  #define PHY_ID_KSZ886X               0x00221430
>  #define PHY_ID_KSZ8863               0x00221435
>  
> +#define PHY_ID_KSZ8795               0x00221550
> +
>  /* struct phy_device dev_flags definitions */
>  #define MICREL_PHY_50MHZ_CLK 0x00000001
>  #define MICREL_PHY_FXEN              0x00000002
> 


-- 
Florian

Reply via email to