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. +CC Greg on basis I may have wrong end of the stick ;) > > > > But alternatively, why do we need a dummy "hw" struct device at all? > > Typically a subsystem like TSM should be structured to create its own > > struct devices.. > > > > I would expect this to just call 'register tsm' ? > > > > The goal is to have tsm class device to be parented by the platform > device. > > # ls -al > total 0 > drwxr-xr-x 2 root root 0 Jan 13 06:07 . > drwxr-xr-x 23 root root 0 Jan 1 00:00 .. > lrwxrwxrwx 1 root root 0 Jan 13 06:07 tsm0 -> ../../devices/platform/arm-rmi-dev/tsm/tsm0 > # pwd > /sys/class/tsm > > -aneesh >