[PATCH] staging: wilc1000: look for rtc_clk clock in spi mode

Claudiu.Beznea at microchip.com Claudiu.Beznea at microchip.com
Tue Sep 17 07:11:47 UTC 2019


This is already present in staging-next (see [1] and [2])

[1] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/drivers/staging/wilc1000?h=staging-next&id=8692b047e86cff448af1564a8bdda770d2deb567
[2] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/drivers/staging/wilc1000?h=staging-next&id=ae8779e1983d6361620f1f6d3f76064edee733c0

On 16.09.2019 22:37, Adham.Abozaeid at microchip.com wrote:
> External E-Mail
> 
> 
> From: Adham Abozaeid <adham.abozaeid at microchip.com>
> 
> If rtc_clk is provided from DT, use it and enable it.
> This is optional.
> The signal may be hardcoded and no need to be requested,
> but if DT provides it, use it.
> 
> Signed-off-by: Adham Abozaeid <adham.abozaeid at microchip.com>
> ---
>  drivers/staging/wilc1000/wilc_spi.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/staging/wilc1000/wilc_spi.c b/drivers/staging/wilc1000/wilc_spi.c
> index 3c1ae9e9f9aa..166455a969bf 100644
> --- a/drivers/staging/wilc1000/wilc_spi.c
> +++ b/drivers/staging/wilc1000/wilc_spi.c
> @@ -4,6 +4,7 @@
>   * All rights reserved.
>   */
>  
> +#include <linux/clk.h>
>  #include <linux/spi/spi.h>
>  
>  #include "wilc_wfi_netdevice.h"
> @@ -132,6 +133,12 @@ static int wilc_bus_probe(struct spi_device *spi)
>  	wilc->bus_data = spi_priv;
>  	wilc->gpio_irq = gpio;
>  
> +	wilc->rtc_clk = devm_clk_get(&spi->dev, "rtc_clk");
> +	if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER)
> +		return -EPROBE_DEFER;
> +	else if (!IS_ERR(wilc->rtc_clk))
> +		clk_prepare_enable(wilc->rtc_clk);
> +
>  	return 0;
>  }
>  
> @@ -142,6 +149,10 @@ static int wilc_bus_remove(struct spi_device *spi)
>  	/* free the GPIO in module remove */
>  	if (wilc->gpio_irq)
>  		gpiod_put(wilc->gpio_irq);
> +
> +	if (!IS_ERR(wilc->rtc_clk))
> +		clk_disable_unprepare(wilc->rtc_clk);
> +
>  	wilc_netdev_cleanup(wilc);
>  	return 0;
>  }
> 


More information about the devel mailing list