Quoting Umang Jain (2024-03-21 13:07:36) > Implement the struct vchiq_bus .remove() so that cleanup > paths can be executed by the devices registered to this > bus, when being removed. > > Signed-off-by: Umang Jain <umang.jain@xxxxxxxxxxxxxxxx> > --- Don't forget a changelog when possible. v2: - Check driver->remove before calling Reviewed-by: Kieran Bingham <kieran.bingham@xxxxxxxxxxxxxxxx> > .../vc04_services/interface/vchiq_arm/vchiq_bus.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c > index 68f830d75531..93609716df84 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c > @@ -37,11 +37,21 @@ static int vchiq_bus_probe(struct device *dev) > return driver->probe(device); > } > > +static void vchiq_bus_remove(struct device *dev) > +{ > + struct vchiq_device *device = to_vchiq_device(dev); > + struct vchiq_driver *driver = to_vchiq_driver(dev->driver); > + > + if (driver->remove) > + driver->remove(device); > +} > + > const struct bus_type vchiq_bus_type = { > .name = "vchiq-bus", > .match = vchiq_bus_type_match, > .uevent = vchiq_bus_uevent, > .probe = vchiq_bus_probe, > + .remove = vchiq_bus_remove, > }; > > static void vchiq_device_release(struct device *dev) > -- > 2.43.0 >