Re: [RFC/RFT][PATCH v2 0/7] Functional dependencies between devices

From: Rafael J. Wysocki
Date: Tue Sep 13 2016 - 18:35:35 EST


On Tuesday, September 13, 2016 11:58:56 AM Marek Szyprowski wrote:
> Hi Rafael,
>
>
> On 2016-09-08 23:25, Rafael J. Wysocki wrote:
> > Hi Everyone,
> >
> > This is a refresh of the functional dependencies series that I posted last
> > year and which has picked up by Marek quite recently. For reference, appended
> > is my introductory message sent previously (which may be slightly outdated now).
> >
> > As last time, the first patch rearranges the code around __device_release_driver()
> > a bit to prepare it for the next one (it actually hasn't changed AFAICS).
> >
> > The second patch introduces the actual device links mechanics, but without
> > system suspend/resume and runtime PM support which are added by the subsequent
> > patches.
> >
> > Some bugs found by Marek during his work on these patches should be fixed
> > here. In particular, the endless recursion in device_reorder_to_tail()
> > which simply was broken before.
> >
> > There are two additional patches to address the issue with runtime PM support
> > that occured when runtime PM was disabled for some suppliers due to a PM
> > sleep transition in progress. Those patches simply make runtime PM helpers
> > return 0 in that case which may be controversial, so please let me know if
> > there are concerns about those.
> >
> > The way device_link_add() works is a bit different, as it takes an additional
> > status argument now. That makes it possible to create a link in any state,
> > with extra care of course, and should address the problem pointed to by Lukas
> > during the previous discussion.
> >
> > Also some comments from Tomeu have been addressed.
> >
> > This hasn't been really tested yet and I'm sort of relying on Marek to test
> > it, because he has a use case ready. Hence, the RFT tag on the series.
>
> I've checked it with my updated Exynos SYSMMU patches and it works
> really well.
> Both runtime pm and system sleep. It took some time to do the test, because
> this patchset changed somehow the probe order of the devices, what revealed
> some issues related to incorrect driver and device registration in Samsung
> Exynos FIMC-IS driver, but those were not related to Rafael's changes.
> I will post my patches in a few minutes.
>
> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>

Thanks, much appreciated!

> Rafael, BTW, didn't you plan to change the name of the device_link_add()
> function to device_dependency_add() to avoid confusion with network device
> "link"?

I was concerned about the "devlink" name in particular, but I thought that
struct device_link would be distinct enough. If not, I can still change it.

Thanks,
Rafael