[PATCH 1/3] net: mdio-octeon: Modify driver to work on both ThunderX and Octeon

David Daney ddaney at caviumnetworks.com
Tue Jul 28 07:07:24 PDT 2015


On 07/27/2015 07:14 PM, mohun106 at gmail.com wrote:
> From: Radha Mohan Chintakuntla <rchintakuntla at cavium.com>
>
> This patch modifies the mdio-octeon driver to work on both ThunderX and
> Octeon SoCs from Cavium Inc.
>
> Signed-off-by: Sunil Goutham <sgoutham at cavium.com>
> Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla at cavium.com>
> Signed-off-by: David Daney <david.daney at cavium.com>
> ---
>   drivers/net/phy/Kconfig       |    9 ++-
>   drivers/net/phy/mdio-octeon.c |  122 +++++++++++++++++++++++++++++++++++-----
>   2 files changed, 111 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
> index cf18940..0d6af19 100644
> --- a/drivers/net/phy/Kconfig
> +++ b/drivers/net/phy/Kconfig
> @@ -145,13 +145,14 @@ config MDIO_GPIO
>   	  will be called mdio-gpio.
>
>   config MDIO_OCTEON
> -	tristate "Support for MDIO buses on Octeon SOCs"
> -	depends on CAVIUM_OCTEON_SOC
> +	tristate "Support for MDIO buses on Octeon and ThunderX SOCs"
> +	depends on 64BIT
>   	default y

If it now depends only on 64BIT, we should probably remove the 
"default".  People building for x86 are not interested in this driver.


[...]
>
> +#ifdef __BIG_ENDIAN_BITFIELD
> +#define OCT_MDIO_BITFIELD_FIELD(field, more)	\
> +	field;					\
> +	more
> +
> +#else
> +#define OCT_MDIO_BITFIELD_FIELD(field, more)	\
> +	more					\
> +	field;
> +
> +#endif
> +
> +union cvmx_smix_clk {
> +	uint64_t u64;

Perhaps: s/uint64_t/u64/

There are several of these.


> +	struct cvmx_smix_clk_s {
> +	  OCT_MDIO_BITFIELD_FIELD(u64 reserved_25_63:39,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 mode:1,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 reserved_21_23:3,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 sample_hi:5,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 sample_mode:1,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 reserved_14_14:1,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 clk_idle:1,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 preamble:1,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 sample:4,
> +	  OCT_MDIO_BITFIELD_FIELD(u64 phase:8,
> +	  ;))))))))))
> +	} s;
> +};
> +
[...]



More information about the linux-arm-kernel mailing list