[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:20:50 UTC 2019


Now I see that your patch is for SPI interface, so, it may be necessary.

Sorry for the noise.

On 17.09.2019 10:11, Claudiu.Beznea at microchip.com wrote:
> 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