From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3261C433EF for ; Sat, 9 Jul 2022 04:55:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229538AbiGIEzU (ORCPT ); Sat, 9 Jul 2022 00:55:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229528AbiGIEzS (ORCPT ); Sat, 9 Jul 2022 00:55:18 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 21764140D5; Fri, 8 Jul 2022 21:55:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=spTIKNEibGt8r3DPfP/HyGXmF3cU6IiWCcjdld1t2CY=; b=Ib47I4t4FFGn8i0C65C5Xuf/+Z oy8kwC1O7+FvVzvr6xEtdiBNTzrNAH+uG/DOLXbBwAsii5BtXCyw3AbU96NH0c1brxGhP7+gKoUzc L0AZAIsCBmaV0QzdpmbX856qUKEEcqoef2q0fItyB2umgqhdCbM7xtFNXh1o48lWT5ldaxlf6LgtC vsUpezPF7X3Tnhp91dD9Wz5H4Yf4259veNpnkB12bbez26beovNIzcogeOAUK8qMj2BlXz/mf11X2 xUVfZQz1DYiEwvOAO+xIn73lkelBLVMFTUT+cqvSaO8sUxMyKcIPshC+yv+2v0NwqMpHuKoSv9fyt XFjHfIOw==; Received: from 213-225-4-185.nat.highway.a1.net ([213.225.4.185] helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1oA2UY-006zrk-0v; Sat, 09 Jul 2022 04:54:54 +0000 From: Christoph Hellwig To: Kirti Wankhede , Tony Krowiak , Halil Pasic , Jason Herne , Eric Farman , Matthew Rosato , Zhenyu Wang , Zhi Wang , Alex Williamson Cc: Jason Gunthorpe , kvm@vger.kernel.org, linux-s390@vger.kernel.org, intel-gvt-dev@lists.freedesktop.org Subject: simplify the mdev interface v6 Date: Sat, 9 Jul 2022 06:54:36 +0200 Message-Id: <20220709045450.609884-1-hch@lst.de> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Precedence: bulk List-ID: X-Mailing-List: linux-s390@vger.kernel.org Hi all, this series signigicantly simplies the mdev driver interface by following the patterns for device model interaction used elsewhere in the kernel. Changes since v5: - rebased to the latest vfio/next branch - drop the last patch again - make sure show_available_instances works properly for the internallly tracked case Changes since v4: - move the kobject_put later in mdev_device_release - add a Fixes tag for the first patch - add another patch to remove an extra kobject_get/put Changes since v3: - make the sysfs_name and pretty_name fields pointers instead of arrays - add an i915 cleanup to prepare for the above Changes since v2: - rebased to vfio/next - fix a pre-existing memory leak in i915 instead of making it worse - never manipulate if ->available_instances if drv->get_available is provided - keep a parent reference for the mdev_type - keep a few of the sysfs.c helper function around - improve the documentation for the parent device lifetime - minor spellig / formatting fixes Changes since v1: - embedd the mdev_parent into a different sub-structure in i916 - remove headers now inclued by mdev.h from individual source files - pass an array of mdev_types to mdev_register_parent - add additional patches to implement all attributes on the mdev_type in the core code Diffstat: Documentation/driver-api/vfio-mediated-device.rst | 26 +- Documentation/s390/vfio-ap.rst | 2 Documentation/s390/vfio-ccw.rst | 2 drivers/gpu/drm/i915/gvt/aperture_gm.c | 20 +- drivers/gpu/drm/i915/gvt/gvt.h | 42 ++-- drivers/gpu/drm/i915/gvt/kvmgt.c | 168 ++++------------- drivers/gpu/drm/i915/gvt/vgpu.c | 210 +++++++--------------- drivers/s390/cio/cio.h | 4 drivers/s390/cio/vfio_ccw_drv.c | 12 - drivers/s390/cio/vfio_ccw_ops.c | 51 ----- drivers/s390/cio/vfio_ccw_private.h | 2 drivers/s390/crypto/vfio_ap_ops.c | 68 +------ drivers/s390/crypto/vfio_ap_private.h | 6 drivers/vfio/mdev/mdev_core.c | 190 ++++--------------- drivers/vfio/mdev/mdev_driver.c | 7 drivers/vfio/mdev/mdev_private.h | 32 --- drivers/vfio/mdev/mdev_sysfs.c | 189 ++++++++++--------- include/linux/mdev.h | 77 ++++---- samples/vfio-mdev/mbochs.c | 103 +++------- samples/vfio-mdev/mdpy.c | 115 +++--------- samples/vfio-mdev/mtty.c | 94 +++------ 21 files changed, 463 insertions(+), 957 deletions(-)