linux/Documentation
Jason Gunthorpe 2a3d15f270 vfio/mdev: Add missing typesafety around mdev_device
The mdev API should accept and pass a 'struct mdev_device *' in all
places, not pass a 'struct device *' and cast it internally with
to_mdev_device(). Particularly in its struct mdev_driver functions, the
whole point of a bus's struct device_driver wrapper is to provide type
safety compared to the default struct device_driver.

Further, the driver core standard is for bus drivers to expose their
device structure in their public headers that can be used with
container_of() inlines and '&foo->dev' to go between the class levels, and
'&foo->dev' to be used with dev_err/etc driver core helper functions. Move
'struct mdev_device' to mdev.h

Once done this allows moving some one instruction exported functions to
static inlines, which in turns allows removing one of the two grotesque
symbol_get()'s related to mdev in the core code.

Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Message-Id: <3-v2-d36939638fc6+d54-vfio2_jgg@nvidia.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2021-04-07 15:39:16 -06:00
..
ABI docs: ABI: Fix the spelling oustanding to outstanding in the file sysfs-fs-xfs 2021-03-15 08:50:40 -07:00
accounting
admin-guide More new code for 5.12: 2021-02-28 11:45:25 -08:00
arm
arm64 arm64: kernel: disable CNP on Carmel 2021-03-25 10:00:23 +00:00
block block/bfq: update comments and default value in docs for fifo_expire 2021-03-02 11:25:38 -07:00
bpf
cdrom
core-api Merge branch 'akpm' (patches from Andrew) 2021-02-24 16:20:38 -08:00
cpu-freq
crypto
dev-tools kasan: clarify that only first bug is reported in HW_TAGS 2021-02-26 09:41:03 -08:00
devicetree sound fixes for 5.12-rc4 2021-03-19 09:53:32 -07:00
doc-guide docs: Document cross-referencing using relative path 2021-02-04 16:24:12 -07:00
driver-api vfio/mdev: Add missing typesafety around mdev_device 2021-04-07 15:39:16 -06:00
fault-injection
fb
features Documentation: features: refresh feature list 2021-02-25 11:25:57 -07:00
filesystems Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2021-02-27 08:07:12 -08:00
firmware_class
firmware-guide Merge branch 'acpi-messages' 2021-02-15 17:04:53 +01:00
fpga
gpu drm: Use USB controller's DMA mask when importing dmabufs 2021-03-11 11:11:33 +01:00
hid
hwmon hwmon: add Texas Instruments TPS23861 driver 2021-02-12 07:02:55 -08:00
i2c i2c: testunit: add support for block process calls 2021-02-12 11:11:04 +01:00
ia64
ide
iio
infiniband
input
isdn
kbuild Kbuild updates for v5.12 2021-02-25 10:17:31 -08:00
kernel-hacking docs: kernel-hacking: be more civil 2021-02-11 10:00:40 -07:00
leds
litmus-tests
livepatch
locking
m68k
maintainer
mhi
mips
misc-devices
netlabel
networking docs: networking: Fix a typo 2021-03-20 19:02:42 -07:00
nios2
nvdimm
openrisc
parisc
PCI Documentation: PCI: Add PCI endpoint NTB function user guide 2021-02-23 14:15:45 -06:00
pcmcia
power It has been a relatively quiet cycle in docsland. 2021-02-22 10:57:46 -08:00
powerpc docs: powerpc: Fix tables in syscall64-abi.rst 2021-02-25 13:04:24 -07:00
process Merge git://git.kernel.org:/pub/scm/linux/kernel/git/netdev/net 2021-03-09 17:15:56 -08:00
RCU It has been a relatively quiet cycle in docsland. 2021-02-22 10:57:46 -08:00
riscv
s390
scheduler It has been a relatively quiet cycle in docsland. 2021-02-22 10:57:46 -08:00
scsi SCSI misc on 20210219 2021-02-22 10:24:58 -08:00
security Keyrings miscellany 2021-02-23 16:09:23 -08:00
sh
sound ALSA: jack: implement software jack injection via debugfs 2021-02-02 10:37:07 +01:00
sparc
sphinx docs: Enable usage of relative paths to docs on automarkup 2021-02-04 16:23:43 -07:00
sphinx-static
spi
staging
target
timers
trace Char/Misc driver patches for 5.12-rc1 2021-02-24 10:25:37 -08:00
translations A handful of late-arriving documentation fixes, nothing all that notable. 2021-02-26 14:21:18 -08:00
usb
userspace-api Char/Misc driver patches for 5.12-rc1 2021-02-24 10:25:37 -08:00
virt documentation/kvm: additional explanations on KVM_SET_BOOT_CPU_ID 2021-03-19 05:31:32 -04:00
vm mm/debug_vm_pgtable/basic: add validation for dirtiness after write protect 2021-02-24 13:38:27 -08:00
w1
watchdog
x86
xtensa
.gitignore
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py Fix unaesthetic indentation 2021-02-22 14:35:04 -07:00
COPYING-logo
docutils.conf
dontdiff
index.rst
Kconfig
logo.gif
Makefile kbuild: remove PYTHON variable 2021-02-01 10:37:19 +09:00
memory-barriers.txt
SubmittingPatches
watch_queue.rst