of: create of_phandle_args to simplify return of phandle parsing data
authorGrant Likely <grant.likely@secretlab.ca>
Mon, 12 Dec 2011 16:25:57 +0000 (09:25 -0700)
committerGrant Likely <grant.likely@secretlab.ca>
Mon, 12 Dec 2011 20:40:16 +0000 (13:40 -0700)
commit15c9a0acc3f7873db4b7d35d016729b2dc229b49
treecfd9d6dd645d8116709521001e90dd75ffc19992
parent1a2d397a6eb5cf40c382d9e3d4bc04aaeb025336
of: create of_phandle_args to simplify return of phandle parsing data

of_parse_phandle_with_args() needs to return quite a bit of data.  Rather
than making each datum a separate **out_ argument, this patch creates
struct of_phandle_args to contain all the returned data and reworks the
user of the function.  This patch also enables of_parse_phandle_with_args()
to return the device node pointer for the phandle node.

This patch also ends up being fairly major surgery to
of_parse_handle_with_args().  The existing structure didn't work well
when extending to use of_phandle_args, and I discovered bugs during testing.
I also took the opportunity to rename the function to be like the
existing of_parse_phandle().

v2: - moved declaration of of_phandle_args to fix compile on non-DT builds
    - fixed incorrect index in example usage
    - fixed incorrect return code handling for empty entries

Reviewed-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/of/base.c
drivers/of/gpio.c
include/asm-generic/gpio.h
include/linux/of.h
include/linux/of_gpio.h