lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 18 Mar 2009 23:05:21 -0600
From:	Grant Likely <grant.likely@...retlab.ca>
To:	linuxppc-dev@...abs.org, netdev@...r.kernel.org,
	afleming@...escale.com, avorontsov@...mvista.com,
	davem@...emloft.net, galak@...nel.crashing.org
Subject: Re: [PATCH 1/9] of: add of_parse_phandle() helper for parsing phandle 
	properties

Bah!  Messed up the 'stg mail' command when sending this series and
the 'RFC' tag didn't get added.

This is firmly in the RFC category.  Please don't apply.  It doesn't
have the level of polish that I'm happy with.

This series is intended to make phy_device connecting simpler and more
robust by using the PHY's device_node as the search key when
connecting to PHY.  Changes are made to both the MDIO busses to
extract the PHY data out of the device tree, and to the drivers to use
a common helper function for finding the PHY it is interested in.

Comments please.
g.

On Wed, Mar 18, 2009 at 11:00 PM, Grant Likely
<grant.likely@...retlab.ca> wrote:
> From: Grant Likely <grant.likely@...retlab.ca>
>
> of_parse_phandle() is a helper function to read and parse a phandle
> property and return a pointer to the resulting device_node.
>
> Signed-off-by: Grant Likely <grant.likely@...retlab.ca>
> ---
>
>  drivers/of/base.c  |   23 +++++++++++++++++++++++
>  include/linux/of.h |    3 +++
>  2 files changed, 26 insertions(+), 0 deletions(-)
>
>
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index cd17092..1eaada4 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -494,6 +494,29 @@ int of_modalias_node(struct device_node *node, char *modalias, int len)
>  EXPORT_SYMBOL_GPL(of_modalias_node);
>
>  /**
> + * of_parse_phandle - Resolve a phandle property to a device_node pointer
> + * @np: Pointer to device node holding phandle property
> + * @phandle_name: Name of property holding a phandle value
> + * @index: For properties holding a table of phandles, this is the index into
> + *         the table
> + *
> + * Returns the device_node pointer pointed to by the phandle, or NULL
> + */
> +struct device_node *
> +of_parse_phandle(struct device_node *np, const char *phandle_name, int index)
> +{
> +       const phandle *phandle;
> +       int size;
> +
> +       phandle = of_get_property(np, phandle_name, &size);
> +       if ((!phandle) || (size < sizeof(*phandle) * (index + 1)))
> +               return NULL;
> +
> +       return of_find_node_by_phandle(phandle[index]);
> +}
> +EXPORT_SYMBOL(of_parse_phandle);
> +
> +/**
>  * of_parse_phandles_with_args - Find a node pointed by phandle in a list
>  * @np:                pointer to a device tree node containing a list
>  * @list_name: property name that contains a list
> diff --git a/include/linux/of.h b/include/linux/of.h
> index 6a7efa2..7be2d10 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -77,6 +77,9 @@ extern int of_n_size_cells(struct device_node *np);
>  extern const struct of_device_id *of_match_node(
>        const struct of_device_id *matches, const struct device_node *node);
>  extern int of_modalias_node(struct device_node *node, char *modalias, int len);
> +extern struct device_node *of_parse_phandle(struct device_node *np,
> +                                           const char *phandle_name,
> +                                           int index);
>  extern int of_parse_phandles_with_args(struct device_node *np,
>        const char *list_name, const char *cells_name, int index,
>        struct device_node **out_node, const void **out_args);
>
>



-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ