On Thu, 29 Oct 2020 19:29:35 -0400 Tony Krowiak <akrowiak@xxxxxxxxxxxxx> wrote: > >> +void vfio_ap_mdev_remove_queue(struct ap_device *apdev) > >> +{ > >> + struct vfio_ap_queue *q; > >> + struct ap_queue *queue; > >> + int apid, apqi; > >> + > >> + queue = to_ap_queue(&apdev->device); > > What is the benefit of rewriting this? You introduced > > queue just to do queue->ap_dev to get to the apdev you > > have in hand in the first place. > > I'm not quite sure what you're asking. This function is > the callback function specified via the function pointer > specified via the remove field of the struct ap_driver > when the vfio_ap device driver is registered with the > AP bus. That callback function takes a struct ap_device > as a parameter. What am I missing here? Please compare the removed function vfio_ap_queue_dev_remove() with the added function vfio_ap_mdev_remove_queue() line by line. It should become clear. Regards, Halil