pci_epc_opsRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: Absent ⚠️
4.13: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, enum pci_barno, dma_addr_t, size_t, int);
void (*clear_bar)(struct pci_epc *, enum pci_barno);
int (*map_addr)(struct pci_epc *, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8);
int (*get_msi)(struct pci_epc *);
int (*raise_irq)(struct pci_epc *, enum pci_epc_irq_type, u8);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
4.15: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, enum pci_barno, dma_addr_t, size_t, int);
void (*clear_bar)(struct pci_epc *, enum pci_barno);
int (*map_addr)(struct pci_epc *, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8);
int (*get_msi)(struct pci_epc *);
int (*raise_irq)(struct pci_epc *, enum pci_epc_irq_type, u8);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
4.18: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u8);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
5.0: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
5.3: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.4: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.8: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.11: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.13: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.15: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
5.19: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
6.2: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
6.5: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
6.8: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
arm64: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
armhf: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
ppc64el: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
riscv64: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
aws: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
azure: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
gcp: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
lowlatency: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
Regular
4.13 and 4.15 ✅
4.15 and 4.18 ⚠️int (*write_header)(struct pci_epc *, struct pci_epf_header *) ➡️ int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *)
int (*set_bar)(struct pci_epc *, enum pci_barno, dma_addr_t, size_t, int) ➡️ int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *)
void (*clear_bar)(struct pci_epc *, enum pci_barno) ➡️ void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *)
int (*map_addr)(struct pci_epc *, phys_addr_t, u64, size_t) ➡️ int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t)
void (*unmap_addr)(struct pci_epc *, phys_addr_t) ➡️ void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t)
int (*set_msi)(struct pci_epc *, u8) ➡️ int (*set_msi)(struct pci_epc *, u8, u8)
int (*get_msi)(struct pci_epc *) ➡️ int (*get_msi)(struct pci_epc *, u8)
int (*raise_irq)(struct pci_epc *, enum pci_epc_irq_type, u8) ➡️ int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u8)
4.18 and 5.0 ⚠️int (*set_msix)(struct pci_epc *, u8, u16)
int (*get_msix)(struct pci_epc *, u8)
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u8) ➡️ int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16)
5.0 and 5.3 ⚠️const struct pci_epc_features * (*get_features)(struct pci_epc *, u8)
5.3 and 5.4 ✅
5.4 and 5.8 ⚠️int (*set_msix)(struct pci_epc *, u8, u16) ➡️ int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32)
5.8 and 5.11 ✅
5.11 and 5.13 ⚠️int (*map_msi_irq)(struct pci_epc *, u8, phys_addr_t, u8, u32, u32 *, u32 *)
5.13 and 5.15 ⚠️int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *) ➡️ int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *)
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *) ➡️ int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *)
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *) ➡️ void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *)
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t) ➡️ int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t)
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t) ➡️ void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t)
int (*set_msi)(struct pci_epc *, u8, u8) ➡️ int (*set_msi)(struct pci_epc *, u8, u8, u8)
int (*get_msi)(struct pci_epc *, u8) ➡️ int (*get_msi)(struct pci_epc *, u8, u8)
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32) ➡️ int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32)
int (*get_msix)(struct pci_epc *, u8) ➡️ int (*get_msix)(struct pci_epc *, u8, u8)
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16) ➡️ int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16)
int (*map_msi_irq)(struct pci_epc *, u8, phys_addr_t, u8, u32, u32 *, u32 *) ➡️ int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *)
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8) ➡️ const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8)
5.15 and 5.19 ✅
5.19 and 6.2 ✅
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16) ➡️ int (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16)
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅