diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/cleanup.h | 17 | ||||
-rw-r--r-- | include/linux/irqdomain.h | 2 | ||||
-rw-r--r-- | include/linux/msi.h | 12 |
3 files changed, 7 insertions, 24 deletions
diff --git a/include/linux/cleanup.h b/include/linux/cleanup.h index 2b32a5759b22..7e57047e1564 100644 --- a/include/linux/cleanup.h +++ b/include/linux/cleanup.h @@ -216,23 +216,6 @@ const volatile void * __must_check_fn(const volatile void *val) #define return_ptr(p) return no_free_ptr(p) -/* - * Only for situations where an allocation is handed in to another function - * and consumed by that function on success. - * - * struct foo *f __free(kfree) = kzalloc(sizeof(*f), GFP_KERNEL); - * - * setup(f); - * if (some_condition) - * return -EINVAL; - * .... - * ret = bar(f); - * if (!ret) - * retain_ptr(f); - * return ret; - */ -#define retain_ptr(p) \ - __get_and_null(p, NULL) /* * DEFINE_CLASS(name, type, exit, init, init_args...): diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 5126482515cb..33ff41eef8f7 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -281,8 +281,6 @@ static inline struct fwnode_handle *irq_domain_alloc_fwnode(phys_addr_t *pa) void irq_domain_free_fwnode(struct fwnode_handle *fwnode); -DEFINE_FREE(irq_domain_free_fwnode, struct fwnode_handle *, if (_T) irq_domain_free_fwnode(_T)) - struct irq_domain_chip_generic_info; /** diff --git a/include/linux/msi.h b/include/linux/msi.h index e71c991d7f61..86e42742fd0f 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h @@ -80,6 +80,7 @@ struct device_attribute; struct irq_domain; struct irq_affinity_desc; +void __get_cached_msi_msg(struct msi_desc *entry, struct msi_msg *msg); #ifdef CONFIG_GENERIC_MSI_IRQ void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg); #else @@ -228,11 +229,8 @@ struct msi_dev_domain { int msi_setup_device_data(struct device *dev); -void __msi_lock_descs(struct device *dev); -void __msi_unlock_descs(struct device *dev); - -DEFINE_LOCK_GUARD_1(msi_descs_lock, struct device, __msi_lock_descs(_T->lock), - __msi_unlock_descs(_T->lock)); +void msi_lock_descs(struct device *dev); +void msi_unlock_descs(struct device *dev); struct msi_desc *msi_domain_first_desc(struct device *dev, unsigned int domid, enum msi_desc_filter filter); @@ -636,6 +634,8 @@ void msi_remove_device_irq_domain(struct device *dev, unsigned int domid); bool msi_match_device_irq_domain(struct device *dev, unsigned int domid, enum irq_domain_bus_token bus_token); +int msi_domain_alloc_irqs_range_locked(struct device *dev, unsigned int domid, + unsigned int first, unsigned int last); int msi_domain_alloc_irqs_range(struct device *dev, unsigned int domid, unsigned int first, unsigned int last); int msi_domain_alloc_irqs_all_locked(struct device *dev, unsigned int domid, int nirqs); @@ -644,6 +644,8 @@ struct msi_map msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, u const struct irq_affinity_desc *affdesc, union msi_instance_cookie *cookie); +void msi_domain_free_irqs_range_locked(struct device *dev, unsigned int domid, + unsigned int first, unsigned int last); void msi_domain_free_irqs_range(struct device *dev, unsigned int domid, unsigned int first, unsigned int last); void msi_domain_free_irqs_all_locked(struct device *dev, unsigned int domid); |