FILE
virt-pci.h
File preview with syntax highlighting.
linux-6.19.14/arch/um/drivers/virt-pci.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __UM_VIRT_PCI_H 3#define __UM_VIRT_PCI_H 4 5#include <linux/pci.h> 6 7struct um_pci_device { 8 const struct um_pci_ops *ops; 9 10 /* for now just standard BARs */ 11 u8 resptr[PCI_STD_NUM_BARS]; 12 13 int irq; 14}; 15 16struct um_pci_ops { 17 unsigned long (*cfgspace_read)(struct um_pci_device *dev, 18 unsigned int offset, int size); 19 void (*cfgspace_write)(struct um_pci_device *dev, unsigned int offset, 20 int size, unsigned long val); 21 22 unsigned long (*bar_read)(struct um_pci_device *dev, int bar, 23 unsigned int offset, int size); 24 void (*bar_write)(struct um_pci_device *dev, int bar, 25 unsigned int offset, int size, unsigned long val); 26 27 void (*bar_copy_from)(struct um_pci_device *dev, int bar, void *buffer, 28 unsigned int offset, int size); 29 void (*bar_copy_to)(struct um_pci_device *dev, int bar, 30 unsigned int offset, const void *buffer, int size); 31 void (*bar_set)(struct um_pci_device *dev, int bar, 32 unsigned int offset, u8 value, int size); 33}; 34 35int um_pci_device_register(struct um_pci_device *dev); 36void um_pci_device_unregister(struct um_pci_device *dev); 37 38int um_pci_platform_device_register(struct um_pci_device *dev); 39void um_pci_platform_device_unregister(struct um_pci_device *dev); 40 41#endif /* __UM_VIRT_PCI_H */
~/
Read-only file preview.