Il 11/07/2014 10:19, Andrew Jones ha scritto:
+enum virtio_hwdesc_type {
+       VIRTIO_HWDESC_TYPE_DT = 0,      /* device tree */
+       NR_VIRTIO_HWDESC_TYPES,
+};
+
+enum virtio_bus_type {
+       VIRTIO_BUS_TYPE_MMIO = 0,       /* virtio-mmio */
+       NR_VIRTIO_BUS_TYPES,
+};
+
+struct virtio_bind_bus {
+       bool (*hwdesc_probe)(void);
+       struct virtio_device *(*device_bind)(u32 devid);
+};
+
+static struct virtio_device *vm_dt_device_bind(u32 devid);
+
+static struct virtio_bind_bus
+virtio_bind_busses[NR_VIRTIO_HWDESC_TYPES][NR_VIRTIO_BUS_TYPES] = {
+
+[VIRTIO_HWDESC_TYPE_DT] = {
+
+       [VIRTIO_BUS_TYPE_MMIO] = {
+               .hwdesc_probe = dt_available,
+               .device_bind = vm_dt_device_bind,
+       },
+},
+};
+

If you put this in lib/virtio.c, it is overengineered. It would make sense if something else provided virtio_bind_busses[][].

I suggest that you drop it and split this file in four:

lib/virtio.c
lib/virtio-mmio.c
lib/virtio-mmio-dt.c
lib/arm/virtio.c

where virtio_bind is in lib/arm/virtio.c.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to