On Tue, 2021-09-21 at 10:19 -0300, Jason Gunthorpe wrote: > On Mon, Sep 20, 2021 at 08:02:29PM +0200, Cornelia Huck wrote: > > On Thu, Sep 09 2021, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > > > > Many of the mdev drivers use a simple counter for keeping track > > > of the > > > available instances. Move this code to the core code and store > > > the counter > > > in the mdev_type. Implement it using correct locking, fixing > > > mdpy. > > > > > > Drivers provide a get_available() callback to set the number of > > > available > > > instances for their mtypes which is fixed at registration time. > > > The core > > > provides a standard sysfs attribute to return the > > > available_instances. > > > > So, according to the documentation, available_instances is > > mandatory. This means that drivers either need to provide > > get_available > > or implement their own version of the attribute. I think we want to > > update vfio-mediated-device.rst as well? > > I added this, and something similar for the device_api patch too, > thanks > > diff --git a/Documentation/driver-api/vfio-mediated-device.rst > b/Documentation/driver-api/vfio-mediated-device.rst > index 9f26079cacae35..0a130d76b33a48 100644 > --- a/Documentation/driver-api/vfio-mediated-device.rst > +++ b/Documentation/driver-api/vfio-mediated-device.rst > @@ -106,6 +106,7 @@ structure to represent a mediated device's > driver:: > int (*probe) (struct mdev_device *dev); > void (*remove) (struct mdev_device *dev); > struct device_driver driver; > + unsigned int (*get_available)(struct mdev_type *mtype); > }; > > A mediated bus driver for mdev should use this structure in the > function calls > @@ -230,7 +231,8 @@ Directories and files under the sysfs for Each > Physical Device > * available_instances > > This attribute should show the number of devices of type <type-id> > that can be > - created. > + created. Drivers can supply a get_availble() function pointer to s/availble/available/ > have the core > + code create and maintain this sysfs automatically. > > * [device] >