Module Name: src Committed By: riastradh Date: Tue Jun 25 14:55:23 UTC 2024
Modified Files: src/sys/dev/pci: virtio_pci.c Log Message: virtio_pci.c: Use container_of, not cast. To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/sys/dev/pci/virtio_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/virtio_pci.c diff -u src/sys/dev/pci/virtio_pci.c:1.53 src/sys/dev/pci/virtio_pci.c:1.54 --- src/sys/dev/pci/virtio_pci.c:1.53 Tue Jun 25 14:55:09 2024 +++ src/sys/dev/pci/virtio_pci.c Tue Jun 25 14:55:23 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: virtio_pci.c,v 1.53 2024/06/25 14:55:09 riastradh Exp $ */ +/* $NetBSD: virtio_pci.c,v 1.54 2024/06/25 14:55:23 riastradh Exp $ */ /* * Copyright (c) 2020 The NetBSD Foundation, Inc. @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: virtio_pci.c,v 1.53 2024/06/25 14:55:09 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: virtio_pci.c,v 1.54 2024/06/25 14:55:23 riastradh Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -618,7 +618,8 @@ virtio_pci_find_cap(struct virtio_pci_so static void virtio_pci_kick_09(struct virtio_softc *sc, uint16_t idx) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); bus_space_write_2(psc->sc_notify_iot, psc->sc_notify_ioh, 0, idx); } @@ -648,7 +649,8 @@ virtio_pci_adjust_config_region(struct v static uint16_t virtio_pci_read_queue_size_09(struct virtio_softc *sc, uint16_t idx) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); bus_space_write_2(psc->sc_iot, psc->sc_ioh, VIRTIO_CONFIG_QUEUE_SELECT, idx); @@ -659,7 +661,8 @@ virtio_pci_read_queue_size_09(struct vir static void virtio_pci_setup_queue_09(struct virtio_softc *sc, uint16_t idx, uint64_t addr) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); bus_space_write_2(psc->sc_iot, psc->sc_ioh, VIRTIO_CONFIG_QUEUE_SELECT, idx); @@ -678,7 +681,8 @@ virtio_pci_setup_queue_09(struct virtio_ static void virtio_pci_set_status_09(struct virtio_softc *sc, int status) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); int old = 0; if (status != 0) { @@ -693,7 +697,8 @@ static void virtio_pci_negotiate_features_09(struct virtio_softc *sc, uint64_t guest_features) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); uint32_t r; r = bus_space_read_4(psc->sc_iot, psc->sc_ioh, @@ -714,7 +719,8 @@ virtio_pci_negotiate_features_09(struct static void virtio_pci_kick_10(struct virtio_softc *sc, uint16_t idx) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); unsigned offset = sc->sc_vqs[idx].vq_notify_off * psc->sc_notify_off_multiplier; @@ -724,8 +730,9 @@ virtio_pci_kick_10(struct virtio_softc * static uint16_t virtio_pci_read_queue_size_10(struct virtio_softc *sc, uint16_t idx) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; - bus_space_tag_t iot = psc->sc_iot; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); + bus_space_tag_t iot = psc->sc_iot; bus_space_handle_t ioh = psc->sc_ioh; bus_space_write_2(iot, ioh, VIRTIO_CONFIG1_QUEUE_SELECT, idx); @@ -760,7 +767,8 @@ virtio_pci_bus_space_write_8(bus_space_t static void virtio_pci_setup_queue_10(struct virtio_softc *sc, uint16_t idx, uint64_t addr) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); struct virtqueue *vq = &sc->sc_vqs[idx]; bus_space_tag_t iot = psc->sc_iot; bus_space_handle_t ioh = psc->sc_ioh; @@ -800,8 +808,9 @@ virtio_pci_setup_queue_10(struct virtio_ static void virtio_pci_set_status_10(struct virtio_softc *sc, int status) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; - bus_space_tag_t iot = psc->sc_iot; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); + bus_space_tag_t iot = psc->sc_iot; bus_space_handle_t ioh = psc->sc_ioh; int old = 0; @@ -815,9 +824,10 @@ void virtio_pci_negotiate_features_10(struct virtio_softc *sc, uint64_t guest_features) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; - device_t self = sc->sc_dev; - bus_space_tag_t iot = psc->sc_iot; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); + device_t self = sc->sc_dev; + bus_space_tag_t iot = psc->sc_iot; bus_space_handle_t ioh = psc->sc_ioh; uint64_t host, negotiated, device_status; @@ -873,8 +883,9 @@ virtio_pci_negotiate_features_10(struct static int virtio_pci_setup_interrupts_10(struct virtio_softc *sc, int reinit) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; - bus_space_tag_t iot = psc->sc_iot; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); + bus_space_tag_t iot = psc->sc_iot; bus_space_handle_t ioh = psc->sc_ioh; int vector, ret, qid; @@ -912,7 +923,8 @@ virtio_pci_setup_interrupts_10(struct vi static int virtio_pci_setup_interrupts_09(struct virtio_softc *sc, int reinit) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); int offset, vector, ret, qid; if (!virtio_pci_msix_enabled(psc)) @@ -960,7 +972,8 @@ static int virtio_pci_establish_msix_interrupts(struct virtio_softc *sc, const struct pci_attach_args *pa) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); device_t self = sc->sc_dev; pci_chipset_tag_t pc = pa->pa_pc; struct virtqueue *vq; @@ -1097,7 +1110,8 @@ static int virtio_pci_establish_intx_interrupt(struct virtio_softc *sc, const struct pci_attach_args *pa) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); device_t self = sc->sc_dev; pci_chipset_tag_t pc = pa->pa_pc; char intrbuf[PCI_INTRSTR_LEN]; @@ -1123,7 +1137,8 @@ virtio_pci_establish_intx_interrupt(stru static int virtio_pci_alloc_interrupts(struct virtio_softc *sc) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); device_t self = sc->sc_dev; pci_chipset_tag_t pc = psc->sc_pa.pa_pc; pcitag_t tag = psc->sc_pa.pa_tag; @@ -1215,7 +1230,8 @@ retry: static void virtio_pci_free_interrupts(struct virtio_softc *sc) { - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); for (int i = 0; i < psc->sc_ihs_num; i++) { if (psc->sc_ihs[i] == NULL) @@ -1254,7 +1270,8 @@ static int virtio_pci_intr(void *arg) { struct virtio_softc *sc = arg; - struct virtio_pci_softc * const psc = (struct virtio_pci_softc *)sc; + struct virtio_pci_softc * const psc = container_of(sc, + struct virtio_pci_softc, sc_sc); int isr, r = 0; /* check and ack the interrupt */