• Philipp Zabel's avatar
    genalloc: add devres support, allow to find a managed pool by device · 9375db07
    Philipp Zabel authored
    This patch adds three exported functions to lib/genalloc.c:
    devm_gen_pool_create, dev_get_gen_pool, and of_get_named_gen_pool.
    
    devm_gen_pool_create is a managed version of gen_pool_create that keeps
    track of the pool via devres and allows the management code to
    automatically destroy it after device removal.
    
    dev_get_gen_pool retrieves the gen_pool for a given device, if it was
    created with devm_gen_pool_create, using devres_find.
    
    of_get_named_gen_pool retrieves the gen_pool for a given device node and
    property name, where the property must contain a phandle pointing to a
    platform device node.  The corresponding platform device is then fed into
    dev_get_gen_pool and the resulting gen_pool is returned.
    
    [akpm@linux-foundation.org: make the of_get_named_gen_pool() stub static, fixing a zillion link errors]
    [akpm@linux-foundation.org: squish "struct device declared inside parameter list" warning]
    Signed-off-by: 's avatarPhilipp Zabel <p.zabel@pengutronix.de>
    Acked-by: 's avatarGrant Likely <grant.likely@secretlab.ca>
    Tested-by: 's avatarMichal Simek <monstr@monstr.eu>
    Cc: Fabio Estevam <fabio.estevam@freescale.com>
    Cc: Matt Porter <mporter@ti.com>
    Cc: Dong Aisheng <dong.aisheng@linaro.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Rob Herring <rob.herring@calxeda.com>
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Cc: Javier Martin <javier.martin@vista-silicon.com>
    Cc: Huang Shijie <shijie8@gmail.com>
    Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
    9375db07
genalloc.c 15.5 KB