Xuan Zhuo
2022-Aug-16 03:05 UTC
[PATCH] virtio_pci: use container_of replace type conversion
Replace type conversion with container_of() in
vp_modern_set_queue_reset()/vp_modern_get_queue_reset() .
Also combine declarations and assignments.
Signed-off-by: Xuan Zhuo <xuanzhuo at linux.alibaba.com>
---
drivers/virtio/virtio_pci_modern_dev.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/virtio/virtio_pci_modern_dev.c
b/drivers/virtio/virtio_pci_modern_dev.c
index 869cb46bef96..530c954439de 100644
--- a/drivers/virtio/virtio_pci_modern_dev.c
+++ b/drivers/virtio/virtio_pci_modern_dev.c
@@ -482,12 +482,12 @@ EXPORT_SYMBOL_GPL(vp_modern_set_status);
*/
int vp_modern_get_queue_reset(struct virtio_pci_modern_device *mdev, u16 index)
{
- struct virtio_pci_modern_common_cfg __iomem *cfg;
-
- cfg = (struct virtio_pci_modern_common_cfg __iomem *)mdev->common;
+ struct virtio_pci_common_cfg __iomem *cfg = mdev->common;
+ struct virtio_pci_modern_common_cfg __iomem *mcfg + container_of(cfg, struct
virtio_pci_modern_common_cfg, cfg);
- vp_iowrite16(index, &cfg->cfg.queue_select);
- return vp_ioread16(&cfg->queue_reset);
+ vp_iowrite16(index, &cfg->queue_select);
+ return vp_ioread16(&mcfg->queue_reset);
}
EXPORT_SYMBOL_GPL(vp_modern_get_queue_reset);
@@ -498,17 +498,17 @@ EXPORT_SYMBOL_GPL(vp_modern_get_queue_reset);
*/
void vp_modern_set_queue_reset(struct virtio_pci_modern_device *mdev, u16
index)
{
- struct virtio_pci_modern_common_cfg __iomem *cfg;
-
- cfg = (struct virtio_pci_modern_common_cfg __iomem *)mdev->common;
+ struct virtio_pci_common_cfg __iomem *cfg = mdev->common;
+ struct virtio_pci_modern_common_cfg __iomem *mcfg + container_of(cfg, struct
virtio_pci_modern_common_cfg, cfg);
- vp_iowrite16(index, &cfg->cfg.queue_select);
- vp_iowrite16(1, &cfg->queue_reset);
+ vp_iowrite16(index, &cfg->queue_select);
+ vp_iowrite16(1, &mcfg->queue_reset);
- while (vp_ioread16(&cfg->queue_reset))
+ while (vp_ioread16(&mcfg->queue_reset))
msleep(1);
- while (vp_ioread16(&cfg->cfg.queue_enable))
+ while (vp_ioread16(&cfg->queue_enable))
msleep(1);
}
EXPORT_SYMBOL_GPL(vp_modern_set_queue_reset);
--
2.31.0
Jason Wang
2022-Aug-19 06:30 UTC
[PATCH] virtio_pci: use container_of replace type conversion
On Tue, Aug 16, 2022 at 11:06 AM Xuan Zhuo <xuanzhuo at linux.alibaba.com> wrote:> > Replace type conversion with container_of() in > vp_modern_set_queue_reset()/vp_modern_get_queue_reset() . > Also combine declarations and assignments. > > Signed-off-by: Xuan Zhuo <xuanzhuo at linux.alibaba.com>Acked-by: Jason Wang <jasowang at redhat.com>> --- > drivers/virtio/virtio_pci_modern_dev.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/drivers/virtio/virtio_pci_modern_dev.c b/drivers/virtio/virtio_pci_modern_dev.c > index 869cb46bef96..530c954439de 100644 > --- a/drivers/virtio/virtio_pci_modern_dev.c > +++ b/drivers/virtio/virtio_pci_modern_dev.c > @@ -482,12 +482,12 @@ EXPORT_SYMBOL_GPL(vp_modern_set_status); > */ > int vp_modern_get_queue_reset(struct virtio_pci_modern_device *mdev, u16 index) > { > - struct virtio_pci_modern_common_cfg __iomem *cfg; > - > - cfg = (struct virtio_pci_modern_common_cfg __iomem *)mdev->common; > + struct virtio_pci_common_cfg __iomem *cfg = mdev->common; > + struct virtio_pci_modern_common_cfg __iomem *mcfg > + container_of(cfg, struct virtio_pci_modern_common_cfg, cfg); > > - vp_iowrite16(index, &cfg->cfg.queue_select); > - return vp_ioread16(&cfg->queue_reset); > + vp_iowrite16(index, &cfg->queue_select); > + return vp_ioread16(&mcfg->queue_reset); > } > EXPORT_SYMBOL_GPL(vp_modern_get_queue_reset); > > @@ -498,17 +498,17 @@ EXPORT_SYMBOL_GPL(vp_modern_get_queue_reset); > */ > void vp_modern_set_queue_reset(struct virtio_pci_modern_device *mdev, u16 index) > { > - struct virtio_pci_modern_common_cfg __iomem *cfg; > - > - cfg = (struct virtio_pci_modern_common_cfg __iomem *)mdev->common; > + struct virtio_pci_common_cfg __iomem *cfg = mdev->common; > + struct virtio_pci_modern_common_cfg __iomem *mcfg > + container_of(cfg, struct virtio_pci_modern_common_cfg, cfg); > > - vp_iowrite16(index, &cfg->cfg.queue_select); > - vp_iowrite16(1, &cfg->queue_reset); > + vp_iowrite16(index, &cfg->queue_select); > + vp_iowrite16(1, &mcfg->queue_reset); > > - while (vp_ioread16(&cfg->queue_reset)) > + while (vp_ioread16(&mcfg->queue_reset)) > msleep(1); > > - while (vp_ioread16(&cfg->cfg.queue_enable)) > + while (vp_ioread16(&cfg->queue_enable)) > msleep(1); > } > EXPORT_SYMBOL_GPL(vp_modern_set_queue_reset); > -- > 2.31.0 >