vfio/mdev: Make to_mdev_device() into a static inline
authorJason Gunthorpe <jgg@nvidia.com>
Tue, 30 Mar 2021 15:53:07 +0000 (09:53 -0600)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 6 Apr 2021 17:55:11 +0000 (11:55 -0600)
The macro wrongly uses 'dev' as both the macro argument and the member
name, which means it fails compilation if any caller uses a word other
than 'dev' as the single argument. Fix this defect by making it into
proper static inline, which is more clear and typesafe anyhow.

Fixes: 99e3123e3d72 ("vfio-mdev: Make mdev_device private and abstract interfaces")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Message-Id: <11-v3-225de1400dfc+4e074-vfio1_jgg@nvidia.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/mdev/mdev_private.h

index 7d92295..74c2e54 100644 (file)
@@ -35,7 +35,10 @@ struct mdev_device {
        bool active;
 };
 
-#define to_mdev_device(dev)    container_of(dev, struct mdev_device, dev)
+static inline struct mdev_device *to_mdev_device(struct device *dev)
+{
+       return container_of(dev, struct mdev_device, dev);
+}
 #define dev_is_mdev(d)         ((d)->bus == &mdev_bus_type)
 
 struct mdev_type {