devres: add devm_alloc_percpu()
Introduce managed counterparts for alloc_percpu() and free_percpu(). Add devm_alloc_percpu() and devm_free_percpu() into the managed interfaces list. Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
319b0534b9
commit
ff86aae3b4
@@ -698,6 +698,25 @@ static inline int devm_add_action_or_reset(struct device *dev,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* devm_alloc_percpu - Resource-managed alloc_percpu
|
||||
* @dev: Device to allocate per-cpu memory for
|
||||
* @type: Type to allocate per-cpu memory for
|
||||
*
|
||||
* Managed alloc_percpu. Per-cpu memory allocated with this function is
|
||||
* automatically freed on driver detach.
|
||||
*
|
||||
* RETURNS:
|
||||
* Pointer to allocated memory on success, NULL on failure.
|
||||
*/
|
||||
#define devm_alloc_percpu(dev, type) \
|
||||
((typeof(type) __percpu *)__devm_alloc_percpu((dev), sizeof(type), \
|
||||
__alignof__(type)))
|
||||
|
||||
void __percpu *__devm_alloc_percpu(struct device *dev, size_t size,
|
||||
size_t align);
|
||||
void devm_free_percpu(struct device *dev, void __percpu *pdata);
|
||||
|
||||
struct device_dma_parameters {
|
||||
/*
|
||||
* a low level driver may set these to teach IOMMU code about
|
||||
|
Reference in New Issue
Block a user