mirror of
https://github.com/torvalds/linux.git
synced 2026-05-21 21:37:25 +02:00
hisi_acc_vfio_pci: extract public functions for container_of
In the current driver, vdev is obtained from struct hisi_acc_vf_core_device through the container_of function. This method is used in many places in the driver. In order to reduce this repetitive operation, It was extracted into a public function. Signed-off-by: Longfang Liu <liulongfang@huawei.com> Reviewed-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Link: https://lore.kernel.org/r/20241112073322.54550-2-liulongfang@huawei.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
9283b73925
commit
ece8a2c77b
|
|
@ -630,6 +630,12 @@ static void hisi_acc_vf_disable_fds(struct hisi_acc_vf_core_device *hisi_acc_vde
|
|||
}
|
||||
}
|
||||
|
||||
static struct hisi_acc_vf_core_device *hisi_acc_get_vf_dev(struct vfio_device *vdev)
|
||||
{
|
||||
return container_of(vdev, struct hisi_acc_vf_core_device,
|
||||
core_device.vdev);
|
||||
}
|
||||
|
||||
static void hisi_acc_vf_reset(struct hisi_acc_vf_core_device *hisi_acc_vdev)
|
||||
{
|
||||
hisi_acc_vdev->vf_qm_state = QM_NOT_READY;
|
||||
|
|
@ -1031,8 +1037,7 @@ static struct file *
|
|||
hisi_acc_vfio_pci_set_device_state(struct vfio_device *vdev,
|
||||
enum vfio_device_mig_state new_state)
|
||||
{
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = container_of(vdev,
|
||||
struct hisi_acc_vf_core_device, core_device.vdev);
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = hisi_acc_get_vf_dev(vdev);
|
||||
enum vfio_device_mig_state next_state;
|
||||
struct file *res = NULL;
|
||||
int ret;
|
||||
|
|
@ -1073,8 +1078,7 @@ static int
|
|||
hisi_acc_vfio_pci_get_device_state(struct vfio_device *vdev,
|
||||
enum vfio_device_mig_state *curr_state)
|
||||
{
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = container_of(vdev,
|
||||
struct hisi_acc_vf_core_device, core_device.vdev);
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = hisi_acc_get_vf_dev(vdev);
|
||||
|
||||
mutex_lock(&hisi_acc_vdev->state_mutex);
|
||||
*curr_state = hisi_acc_vdev->mig_state;
|
||||
|
|
@ -1278,8 +1282,7 @@ static long hisi_acc_vfio_pci_ioctl(struct vfio_device *core_vdev, unsigned int
|
|||
|
||||
static int hisi_acc_vfio_pci_open_device(struct vfio_device *core_vdev)
|
||||
{
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = container_of(core_vdev,
|
||||
struct hisi_acc_vf_core_device, core_device.vdev);
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = hisi_acc_get_vf_dev(core_vdev);
|
||||
struct vfio_pci_core_device *vdev = &hisi_acc_vdev->core_device;
|
||||
int ret;
|
||||
|
||||
|
|
@ -1302,8 +1305,7 @@ static int hisi_acc_vfio_pci_open_device(struct vfio_device *core_vdev)
|
|||
|
||||
static void hisi_acc_vfio_pci_close_device(struct vfio_device *core_vdev)
|
||||
{
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = container_of(core_vdev,
|
||||
struct hisi_acc_vf_core_device, core_device.vdev);
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = hisi_acc_get_vf_dev(core_vdev);
|
||||
struct hisi_qm *vf_qm = &hisi_acc_vdev->vf_qm;
|
||||
|
||||
iounmap(vf_qm->io_base);
|
||||
|
|
@ -1318,8 +1320,7 @@ static const struct vfio_migration_ops hisi_acc_vfio_pci_migrn_state_ops = {
|
|||
|
||||
static int hisi_acc_vfio_pci_migrn_init_dev(struct vfio_device *core_vdev)
|
||||
{
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = container_of(core_vdev,
|
||||
struct hisi_acc_vf_core_device, core_device.vdev);
|
||||
struct hisi_acc_vf_core_device *hisi_acc_vdev = hisi_acc_get_vf_dev(core_vdev);
|
||||
struct pci_dev *pdev = to_pci_dev(core_vdev->dev);
|
||||
struct hisi_qm *pf_qm = hisi_acc_get_pf_qm(pdev);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user