[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