On Mon, Jan 05, 2015 at 08:50:18PM +0100, Alexandre Courbot wrote: > On Mon, Jan 5, 2015 at 4:32 PM, Thierry Reding wrote: > > On Tue, Dec 30, 2014 at 11:18:34AM +0800, Vince Hsu wrote: > >> Hi Emil, > >> > >> On 12/30/2014 10:34 AM, Emil Velikov wrote: > >> >On 23/12/14 10:40, Vince Hsu wrote: > >> >>This patch adds some checks in the suspend/resume functions to distinguish > >> >>the dGPU and mobile GPU and exports some variables/functions so that the > >> >>nouveau platform device can reuse them. > >> >> > >> >Hi Vince, > >> > > >> >Afaiu one needs to export a symbol as it's used by another module or > >> >subsystem. With the follow up two patches you are not doing either one, > >> >so I'd assume that you can just omit the EXPORT_* changes. > >> The nouveau platform device driver is built as another module - > >> nouveau_platform.ko. :) > > > > I'd like to hear the opinion of the nouveau people and Alex, but I'd > > very much prefer if nouveau_platform.o was simply linked into the > > nouveau.ko module. I don't see any good reason to keep it separate. > > Yep, I agree. The decision to host platform support in a separate > module looks misleaded if it results in additional exports that we > would otherwise avoid. IIUC I did this to be able to use the module > convenience macros to register the platform driver. > > > > > Something like the attached patch (untested) ought to do it. > > This patch alone won't be enough for the reason I mentioned above. > However, if Vince doesn't mind handling the platform driver > registration manually in nouveau_drm_init/nouveau_drm_exit, I agree > this would be the way to go. If we do the conversion to generic power domains, the only Tegra- specific API remaining will be the access to the fuse registers for the speedo value. At that point we wouldn't need the ARCH_TEGRA dependency any longer and could always build the platform driver along with the PCI driver. I guess we could do that even now if we simply #ifdef the various Tegra- specific parts. That in turn would have the advantage that we don't need to #ifdef the driver registration code. And it would help separate things in case anybody wanted to use one of the SoC GPUs in a non-Tegra SoC. Thierry