Subject: Re: [PATCH 03/14] net: ks8851: Pass device pointer into ks8851_init_mac()

From: Andrew Lunn <[email-masked]>
Date: Tue, 24 Mar 2020 02:06:22 +0100

On Tue, Mar 24, 2020 at 12:42:52AM +0100, Marek Vasut wrote:
> Since the driver probe function already has a struct device *dev pointer,
> pass it as a parameter to ks8851_init_mac() to avoid fishing it out via
> ks->spidev. This is the only reference to spidev in the function, so get
> rid of it. This is done in preparation for unifying the KS8851 SPI and
> parallel drivers.
> 
> No functional change.
> 
> Signed-off-by: Marek Vasut <[email-masked]>
> Cc: David S. Miller <[email-masked]>
> Cc: Lukas Wunner <[email-masked]>
> Cc: Petr Stetiar <[email-masked]>
> Cc: YueHaibing <[email-masked]>
> ---
>  drivers/net/ethernet/micrel/ks8851.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
> index 8f4d7c0af723..601a74d750b2 100644
> --- a/drivers/net/ethernet/micrel/ks8851.c
> +++ b/drivers/net/ethernet/micrel/ks8851.c
> @@ -409,6 +409,7 @@ static void ks8851_read_mac_addr(struct net_device *dev)
>  /**
>   * ks8851_init_mac - initialise the mac address
>   * @ks: The device structure
> + * @ddev: The device structure pointer
>   *
>   * Get or create the initial mac address for the device and then set that
>   * into the station address register. A mac address supplied in the device
> @@ -416,12 +417,12 @@ static void ks8851_read_mac_addr(struct net_device *dev)
>   * we try that. If no valid mac address is found we use eth_random_addr()
>   * to create a new one.
>   */
> -static void ks8851_init_mac(struct ks8851_net *ks)
> +static void ks8851_init_mac(struct ks8851_net *ks, struct device *ddev)
>  {
>  	struct net_device *dev = ks->netdev;
>  	const u8 *mac_addr;
>  
> -	mac_addr = of_get_mac_address(ks->spidev->dev.of_node);
> +	mac_addr = of_get_mac_address(ddev->of_node);

Hi Marek

The name ddev is a bit odd. Looking at the code, i see why. dev is
normally a struct net_device, which this function already has.

You could avoid this oddness by directly passing of_node.

    Andrew