Re: [RFC PATCH v1 11/38] KVM: arm64: CCA: register host tsm platform device

Jason Gunthorpe
2025-07-31T12:11:35Z

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@kernel.org> wrote:
>
> > Jason Gunthorpe <jgg@ziepe.ca> 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