On Fri, Feb 19, 2016 at 4:45 AM, Stephen Boyd <[email protected]> wrote:
> On 02/17, Andy Shevchenko wrote:
>> diff --git a/drivers/mfd/intel_quark_i2c_gpio.c 
>> b/drivers/mfd/intel_quark_i2c_gpio.c
>> index bdc5e27..43d8066 100644
>> --- a/drivers/mfd/intel_quark_i2c_gpio.c
>> +++ b/drivers/mfd/intel_quark_i2c_gpio.c
>> @@ -150,11 +150,10 @@ static void intel_quark_unregister_i2c_clk(struct 
>> pci_dev *pdev)
>>  {
>>       struct intel_quark_mfd *quark_mfd = dev_get_drvdata(&pdev->dev);
>>
>> -     if (!quark_mfd->i2c_clk || !quark_mfd->i2c_clk_lookup)
>> +     clk_unregister(quark_mfd->i2c_clk);
>> +     if (!quark_mfd->i2c_clk_lookup)
>>               return;
>> -
>>       clkdev_drop(quark_mfd->i2c_clk_lookup);
>
> It's probably not a great idea to unregister the clk before the
> lookup is dropped. I suppose nothing too bad will happen though
> because we handle this case in the framework and substitute dummy
> ops in place of the real ones.

Thanks for pointing this out.

Okay, I will re-do this. I think the correct one is to add
clk_unregister() call to the _register_i2c_clk().



-- 
With Best Regards,
Andy Shevchenko

Reply via email to