On Wed, 28 Oct 2015 09:43:34 +0900 Joerg Roedel <jroedel@xxxxxxx> wrote: > On Tue, Oct 27, 2015 at 11:48:51PM +0100, Christian Borntraeger wrote: > > @@ -1093,6 +1094,7 @@ static void virtio_ccw_auto_online(void *data, async_cookie_t cookie) > > struct ccw_device *cdev = data; > > int ret; > > > > + cdev->dev.archdata.dma_ops = &dma_noop_ops; > > ret = ccw_device_set_online(cdev); > > if (ret) > > dev_warn(&cdev->dev, "Failed to set online: %d\n", ret); > > Hmm, drivers usually don't deal with setting the dma_ops for their > devices, as they depend on the platform and not so much on the device > itself. > > Can you do this special-case handling from device independent platform > code, where you also setup dma_ops for other devices? Hm, maybe at the bus level? pci devices get s390_dma_ops, ccw devices get the noop dma ops (just a bit of dead weight for non-virtio ccw devices, I guess). The old style s390-virtio devices are the odd ones around, but I'd like to invest the least time possible there to keep them going. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html