aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/devres.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/devres.c')
-rw-r--r--drivers/base/devres.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/base/devres.c b/drivers/base/devres.c
index db4e264eecb6..d0914cba2413 100644
--- a/drivers/base/devres.c
+++ b/drivers/base/devres.c
@@ -831,3 +831,24 @@ void devm_kfree(struct device *dev, void *p)
831 WARN_ON(rc); 831 WARN_ON(rc);
832} 832}
833EXPORT_SYMBOL_GPL(devm_kfree); 833EXPORT_SYMBOL_GPL(devm_kfree);
834
835/**
836 * devm_kmemdup - Resource-managed kmemdup
837 * @dev: Device this memory belongs to
838 * @src: Memory region to duplicate
839 * @len: Memory region length
840 * @gfp: GFP mask to use
841 *
842 * Duplicate region of a memory using resource managed kmalloc
843 */
844void *devm_kmemdup(struct device *dev, const void *src, size_t len, gfp_t gfp)
845{
846 void *p;
847
848 p = devm_kmalloc(dev, len, gfp);
849 if (p)
850 memcpy(p, src, len);
851
852 return p;
853}
854EXPORT_SYMBOL_GPL(devm_kmemdup);