device
Regular
4.4
: ✅struct device {
struct device *parent;
struct device_private *p;
struct kobject kobj;
const char *init_name;
const struct device_type *type;
struct mutex mutex;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
int numa_node;
u64 *dma_mask;
u64 coherent_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct klist_node knode_class;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
bool offline_disabled;
bool offline;
};
4.8
: ✅struct device {
struct device *parent;
struct device_private *p;
struct kobject kobj;
const char *init_name;
const struct device_type *type;
struct mutex mutex;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
int numa_node;
u64 *dma_mask;
u64 coherent_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct klist_node knode_class;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
bool offline_disabled;
bool offline;
};
4.10
: ✅struct device {
struct device *parent;
struct device_private *p;
struct kobject kobj;
const char *init_name;
const struct device_type *type;
struct mutex mutex;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
int numa_node;
u64 *dma_mask;
u64 coherent_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct klist_node knode_class;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
bool offline_disabled;
bool offline;
};
4.13
: ✅struct device {
struct device *parent;
struct device_private *p;
struct kobject kobj;
const char *init_name;
const struct device_type *type;
struct mutex mutex;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
int numa_node;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct klist_node knode_class;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
4.15
: ✅struct device {
struct device *parent;
struct device_private *p;
struct kobject kobj;
const char *init_name;
const struct device_type *type;
struct mutex mutex;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
int numa_node;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct klist_node knode_class;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
4.18
: ✅struct device {
struct device *parent;
struct device_private *p;
struct kobject kobj;
const char *init_name;
const struct device_type *type;
struct mutex mutex;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
int numa_node;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct klist_node knode_class;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool dma_32bit_limit;
};
5.0
: ✅struct device {
struct device *parent;
struct device_private *p;
struct kobject kobj;
const char *init_name;
const struct device_type *type;
struct mutex mutex;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
int numa_node;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct klist_node knode_class;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
5.3
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
5.4
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
5.8
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
};
5.11
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct em_perf_domain *em_pd;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
const struct bus_dma_region *dma_range_map;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
};
5.13
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct em_perf_domain *em_pd;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
raw_spinlock_t msi_lock;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
const struct bus_dma_region *dma_range_map;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
bool can_match;
};
5.15
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct em_perf_domain *em_pd;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
raw_spinlock_t msi_lock;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
const struct bus_dma_region *dma_range_map;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct io_tlb_mem *dma_io_tlb_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
enum device_removable removable;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
bool can_match;
};
5.19
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct em_perf_domain *em_pd;
struct dev_pin_info *pins;
struct dev_msi_info msi;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
const struct bus_dma_region *dma_range_map;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct io_tlb_mem *dma_io_tlb_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
struct device_physical_location *physical_location;
enum device_removable removable;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
bool can_match;
};
6.2
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct em_perf_domain *em_pd;
struct dev_pin_info *pins;
struct dev_msi_info msi;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
const struct bus_dma_region *dma_range_map;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct io_tlb_mem *dma_io_tlb_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
struct device_physical_location *physical_location;
enum device_removable removable;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
bool can_match;
};
6.5
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
const struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct em_perf_domain *em_pd;
struct dev_pin_info *pins;
struct dev_msi_info msi;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
const struct bus_dma_region *dma_range_map;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct io_tlb_mem *dma_io_tlb_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
const struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
struct device_physical_location *physical_location;
enum device_removable removable;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
bool can_match;
};
6.8
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
const struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct em_perf_domain *em_pd;
struct dev_pin_info *pins;
struct dev_msi_info msi;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_limit;
const struct bus_dma_region *dma_range_map;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct io_tlb_mem *dma_io_tlb_mem;
struct list_head dma_io_tlb_pools;
spinlock_t dma_io_tlb_lock;
bool dma_uses_io_tlb;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
const struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct dev_iommu *iommu;
struct device_physical_location *physical_location;
enum device_removable removable;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool state_synced;
bool can_match;
};
arm64
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct cma *cma_area;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
bool dma_coherent;
};
armhf
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct cma *cma_area;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
ppc64el
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
riscv64
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dma_coherent_mem *dma_mem;
struct cma *cma_area;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
aws
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct cma *cma_area;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
azure
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
gcp
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
lowlatency
: ✅struct device {
struct kobject kobj;
struct device *parent;
struct device_private *p;
const char *init_name;
const struct device_type *type;
struct bus_type *bus;
struct device_driver *driver;
void *platform_data;
void *driver_data;
struct mutex mutex;
struct dev_links_info links;
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;
struct irq_domain *msi_domain;
struct dev_pin_info *pins;
struct list_head msi_list;
const struct dma_map_ops *dma_ops;
u64 *dma_mask;
u64 coherent_dma_mask;
u64 bus_dma_mask;
long unsigned int dma_pfn_offset;
struct device_dma_parameters *dma_parms;
struct list_head dma_pools;
struct dev_archdata archdata;
struct device_node *of_node;
struct fwnode_handle *fwnode;
int numa_node;
dev_t devt;
u32 id;
spinlock_t devres_lock;
struct list_head devres_head;
struct class *class;
const struct attribute_group **groups;
void (*release)(struct device *);
struct iommu_group *iommu_group;
struct iommu_fwspec *iommu_fwspec;
struct iommu_param *iommu_param;
bool offline_disabled;
bool offline;
bool of_node_reused;
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
⚠️struct dev_links_info links
struct iommu_fwspec *iommu_fwspec
4.10
and 4.13
⚠️const struct dma_map_ops *dma_ops
bool of_node_reused
4.13
and 4.15
✅
4.15
and 4.18
⚠️bool dma_32bit_limit
4.18
and 5.0
⚠️u64 bus_dma_mask
bool dma_32bit_limit
5.0
and 5.3
⚠️struct iommu_param *iommu_param
struct klist_node knode_class
struct dma_coherent_mem *dma_mem
➡️ struct dma_coherent_mem *dma_mem
5.3
and 5.4
⚠️struct dma_coherent_mem *dma_mem
5.4
and 5.8
⚠️u64 bus_dma_limit
struct dev_iommu *iommu
bool state_synced
u64 bus_dma_mask
struct iommu_fwspec *iommu_fwspec
struct iommu_param *iommu_param
5.8
and 5.11
⚠️struct em_perf_domain *em_pd
const struct bus_dma_region *dma_range_map
long unsigned int dma_pfn_offset
5.11
and 5.13
⚠️raw_spinlock_t msi_lock
bool can_match
5.13
and 5.15
⚠️struct io_tlb_mem *dma_io_tlb_mem
enum device_removable removable
5.15
and 5.19
⚠️struct dev_msi_info msi
struct device_physical_location *physical_location
struct irq_domain *msi_domain
raw_spinlock_t msi_lock
struct list_head msi_list
5.19
and 6.2
✅
6.2
and 6.5
⚠️struct bus_type *bus
➡️ const struct bus_type *bus
struct class *class
➡️ const struct class *class
6.5
and 6.8
⚠️struct list_head dma_io_tlb_pools
spinlock_t dma_io_tlb_lock
bool dma_uses_io_tlb
amd64
and arm64
⚠️struct dma_coherent_mem *dma_mem
struct cma *cma_area
bool dma_coherent
amd64
and armhf
⚠️struct dma_coherent_mem *dma_mem
struct cma *cma_area
int numa_node
amd64
and ppc64el
⚠️struct dma_coherent_mem *dma_mem
struct irq_domain *msi_domain
amd64
and riscv64
⚠️struct dma_coherent_mem *dma_mem
struct cma *cma_area
int numa_node
struct iommu_param *iommu_param
➡️ struct iommu_param *iommu_param
generic
and aws
⚠️struct cma *cma_area
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅