On 12/20/2012 02:50 PM, Thierry Reding wrote:
On Thu, Dec 20, 2012 at 11:34:26PM +0200, Terje Bergström wrote:
On 20.12.2012 22:30, Thierry Reding wrote:
The problem with your proposed solution is that, even any of Stephen's valid objections aside, it won't work. Once the tegra-drm module is unloaded, the driver's data will be left in the current state and the link to the dummy device will be lost.
The dummy device is created by tegradrm's module init, because it's used only by tegradrm. When tegradrm is unloaded, all the tegradrm devices and drivers are unloaded and freed, including the dummy one.
No, the children platform devices of host1x are not freed, so their driver data will still contain the data set by the previous call to their driver's .probe() function.
But reading what you said again, you were proposing to set the children driver data from the tegra-drm dummy device's .probe(). In that case it would probably work.
Many things would work, but since tegradrm isn't (or at least should not be) the driver for the platform devices which are host1x's children, it shouldn't be randomly screwing around with those devices' drvdata fields.