On Wed, Jul 30, 2025 at 11:38:27AM +0100, Jonathan Cameron wrote: > On Wed, 30 Jul 2025 14:12:26 +0530 > "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxx> wrote: > > > Jason Gunthorpe <jgg@xxxxxxxx> writes: > > > > > On Tue, Jul 29, 2025 at 06:10:45PM +0100, Jonathan Cameron wrote: > > > > > >> > +static struct platform_device cca_host_dev = { > > >> Hmm. Greg is getting increasingly (and correctly in my view) grumpy with > > >> platform devices being registered with no underlying resources etc as glue > > >> layers. Maybe some of that will come later. > > > > > > Is faux_device a better choice? I admit to not knowing entirely what > > > it is for.. > > I'll go with a cautious yes to faux_device. This case of a glue device > with no resources and no reason to be on a particular bus was definitely > the intent but I'm not 100% sure without trying it that we don't run > into any problems. > > Not that many examples yet, but cpuidle-psci.c looks like a vaguely similar > case to this one. > > All it really does is move the location of the device and > smash together the device registration with probe/remove. > That means the device disappears if probe() fails, which is cleaner > in many ways than leaving a pointless stub behind. > > Maybe it isn't appropriate it if is actually useful to rmmod/modprobe the > driver. Yeah, exactly. Can a TSM driver even be modular? If it has to be built in then there is no reason to do this: > > The goal is to have tsm class device to be parented by the platform > > device. IMHO the only real point of that is to trigger module autoloading. Otherwise the tsm core should accept NULL as the parent pointer during registration, it probably already does.. Jason