deviceRegular
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 ✅