Re: [PATCHv3 01/19] [HACK] of: dev_node has struct device pointer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thierry Reding <thierry.reding@xxxxxxxxx> wrote @ Fri, 25 Oct 2013 09:56:55 +0200:

> > > This patch is a part of HACK to control device instanciation order. We
> > > have an IOMMU device(platform) which needs to be instanciated earlier
> > > than other (platform)devices so that IOMMU driver would configure them
> > > as IOMMU'able device.
> > 
> > Ideally the drivers depending on the IOMMU would return -EPROBE_DEFER if
> > the IOMMU driver isn't set up so that you don't need to play games with
> > probe order. Creating certain platform devices early is a really ugly
> > and fragile solution.
> > 
> > Besides, probe order of device drivers is far more about link order of
> > the kernel than it is about when of_platform_device_create() is called.
> > Fiddling with the initcall level on the IOMMU driver (while not
> > recommended) may very well have the effect you desire.
> 
> This is actually "the other problem that I'm aware of that could benefit
> from [interrupt resolution at probe time]". My idea was that once we had
> a way within the driver core to resolve interrupt references at probe
> time it could be used for potentially many other resources as well. Some
> of the resources like GPIOs and regulators are obviously not something
> that the core can or should be requesting, but mostly resources that you
> don't actually need to control after probing (such as interrupts) would
> be a good fit because otherwise people would write the same boilerplate
> over and over again.
> 
> IOMMUs seem to me to be in that same category. As far as I can tell, an
> IOMMU driver registers the IOMMU for a given bus, upon which every
> device can simply be used (mostly transparently) with that IOMMU. While
> I haven't figured out how exactly, I'm pretty sure we can take advantage
> of the resolution of resources at probe time within the core to both
> keep drivers from having to do anything in particular and at the same
> time have code to determine if the IOMMU driver hasn't been probed yet
> and return -EPROBE_DEFER appropriately.

Can you explain the above a bit more?

Originally I thought that what Grant suggested would work ok with this patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux