From mboxrd@z Thu Jan 1 00:00:00 1970 From: Faiz Abbas Subject: Re: [PATCH v6 3/6] can: m_can: Add PM Runtime Date: Thu, 4 Jan 2018 20:47:00 +0530 Message-ID: <6bdaab16-cb16-e039-473c-52dd295bd4ba@ti.com> References: <1513949488-13026-1-git-send-email-faiz_abbas@ti.com> <1513949488-13026-4-git-send-email-faiz_abbas@ti.com> <1308ee81-a1e9-ac5a-2d97-334fa825ef8d@ti.com> <7d857263-14a7-6001-8f13-42d80f757573@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: , , , , , , , , To: Marc Kleine-Budde , , , Return-path: In-Reply-To: Content-Language: en-US Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: netdev.vger.kernel.org Hi, On Wednesday 03 January 2018 08:47 PM, Marc Kleine-Budde wrote: > On 01/03/2018 04:06 PM, Faiz Abbas wrote: >> Hi, >> >> On Wednesday 03 January 2018 07:55 PM, Marc Kleine-Budde wrote: >>> On 01/03/2018 01:39 PM, Faiz Abbas wrote: >>>> On Tuesday 02 January 2018 09:37 PM, Marc Kleine-Budde wrote: >>>>> On 12/22/2017 02:31 PM, Faiz Abbas wrote: >>>>>> From: Franklin S Cooper Jr >>>>>> >>>>>> Add support for PM Runtime which is the new way to handle managing clocks. >>>>>> However, to avoid breaking SoCs not using PM_RUNTIME leave the old clk >>>>>> management approach in place. >>>>> >>>>> There is no PM_RUNTIME anymore since 464ed18ebdb6 ("PM: Eliminate >>>>> CONFIG_PM_RUNTIME") >>>> >>>> Ok. Will change the commit message. >>>> >>>>> >>>>> Have a look at the discussion: https://patchwork.kernel.org/patch/9436507/ : >>>>> >>>>>>> Well, I admit it would be nicer if drivers didn't have to worry about >>>>>>> whether or not CONFIG_PM was enabled. A slightly cleaner approach >>>>>>> from the one outlined above would have the probe routine do this: >>>>>>> >>>>>>> my_power_up(dev); >>>>>>> pm_runtime_set_active(dev); >>>>>>> pm_runtime_get_noresume(dev); >>>>>>> pm_runtime_enable(dev); >>>> >>>> This discussion seems to be about cases in which CONFIG_PM is not >>>> enabled. CONFIG_PM is always selected in the case of omap devices. >>> >>> Yes, but in the commit message you state that you need to support >>> systems that don't have PM_RUNTIME enabled. The only mainline SoCs I see >>> is "arch/arm/boot/dts/sama5d2.dtsi" so far. Please check if they select >>> CONFIG_PM, then we can make the driver much simpler. >> >> Actually the old clock management (for hclk which is the interface >> clock) is still required as mentioned in the cover letter. Will change >> the rather misleading description. > > Ok. So you can use the code as discussed on > https://patchwork.kernel.org/patch/9436507/ ? Looking at the kernel configuration, it seems like SAMA5D2 platform selects CONFIG_PM (Wenyou, please confirm). So, it seems like the only users of this driver always have CONFIG_PM enabled. So I guess the best way is to maintain the current code for pm_runtime_* and move the clock enable/disable to pm_runtime callbacks. Something like this: m_can_runtime_resume() { clk_prepare_enable(cclk); clk_prepare_enable(hclk); } m_can_runtime_suspend() { clk_disable_unprepare(cclk); clk_disable_unprepare(hclk); } SET_RUNTIME_PM_OPS(m_can_runtime_suspend, m_can_runtime_resume, NULL) static void m_can_start(struct net_device *dev) { pm_runtime_get_sync(dev) ... } static void m_can_stop(struct net_device *dev) { ... pm_runtime_put_sync(dev) } Does that sound okay? If yes, I will go work on the implementation. Thanks, Faiz -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html