[PATCH v4 3/3] can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller

Marc Kleine-Budde mkl at pengutronix.de
Sat Aug 4 05:09:25 EST 2012


On 08/03/2012 08:32 AM, Hiremath, Vaibhav wrote:
> On Thu, Aug 02, 2012 at 18:43:11, AnilKumar, Chimata wrote:
>> Add Runtime PM support to C_CAN/D_CAN controller. The runtime PM
>> APIs control clocks for C_CAN/D_CAN IP and prevent access to the
>> register of C_CAN/D_CAN IP when clock is turned off.
>>
>> Signed-off-by: AnilKumar Ch <anilkumar at ti.com>
>> ---
>>  drivers/net/can/c_can/c_can_platform.c |    8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/net/can/c_can/c_can_platform.c b/drivers/net/can/c_can/c_can_platform.c
>> index d0a66cf..83a1e17 100644
>> --- a/drivers/net/can/c_can/c_can_platform.c
>> +++ b/drivers/net/can/c_can/c_can_platform.c
>> @@ -32,6 +32,7 @@
>>  #include <linux/clk.h>
>>  #include <linux/of.h>
>>  #include <linux/of_device.h>
>> +#include <linux/pm_runtime.h>
>>  
>>  #include <linux/can/dev.h>
>>  
>> @@ -177,6 +178,9 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
>>  		goto exit_free_device;
>>  	}
>>  
>> +	pm_runtime_enable(&pdev->dev);
>> +	pm_runtime_get_sync(&pdev->dev);
>> +
> 
> If module is inserted or built into the kernel, module stays in enabled 
> state always, isn't that wrong?
> Ideally, you should enable the module when it is required or being used.

Good point.

If you don't access the module's registers in the probe- (or its
subroutines) it should be enough to enable the module in the open()
function. Have a look at clk_prepare_enable / clk_disable_unprepare in
the flexcan driver.

Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.ozlabs.org/pipermail/devicetree-discuss/attachments/20120803/401bbde9/attachment.sig>


More information about the devicetree-discuss mailing list