All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@secretlab.ca>
To: linuxppc-dev@ozlabs.org, netdev@vger.kernel.org,
	afleming@freescale.com, avorontsov@ru.mvista.com,
	davem@davemloft.net, galak@kernel.crashing.org
Subject: Re: [PATCH 1/9] of: add of_parse_phandle() helper for parsing phandle properties
Date: Wed, 18 Mar 2009 23:05:21 -0600	[thread overview]
Message-ID: <fa686aa40903182205w231e17e9wbd0dcc05d994d46e@mail.gmail.com> (raw)
In-Reply-To: <20090319050015.11320.61641.stgit@localhost.localdomain>

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@secretlab.ca> wrote:
> From: Grant Likely <grant.likely@secretlab.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@secretlab.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.

WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca>
To: linuxppc-dev@ozlabs.org, netdev@vger.kernel.org,
	afleming@freescale.com, avorontsov@ru.mvista.com,
	davem@davemloft.net, galak@kernel.crashing.org
Subject: Re: [PATCH 1/9] of: add of_parse_phandle() helper for parsing phandle properties
Date: Wed, 18 Mar 2009 23:05:21 -0600	[thread overview]
Message-ID: <fa686aa40903182205w231e17e9wbd0dcc05d994d46e@mail.gmail.com> (raw)
In-Reply-To: <20090319050015.11320.61641.stgit@localhost.localdomain>

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@secretlab.ca> wrote:
> From: Grant Likely <grant.likely@secretlab.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@secretlab.ca>
> ---
>
> =A0drivers/of/base.c =A0| =A0 23 +++++++++++++++++++++++
> =A0include/linux/of.h | =A0 =A03 +++
> =A02 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)
> =A0EXPORT_SYMBOL_GPL(of_modalias_node);
>
> =A0/**
> + * of_parse_phandle - Resolve a phandle property to a device_node pointe=
r
> + * @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
> + * =A0 =A0 =A0 =A0 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 i=
ndex)
> +{
> + =A0 =A0 =A0 const phandle *phandle;
> + =A0 =A0 =A0 int size;
> +
> + =A0 =A0 =A0 phandle =3D of_get_property(np, phandle_name, &size);
> + =A0 =A0 =A0 if ((!phandle) || (size < sizeof(*phandle) * (index + 1)))
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 return NULL;
> +
> + =A0 =A0 =A0 return of_find_node_by_phandle(phandle[index]);
> +}
> +EXPORT_SYMBOL(of_parse_phandle);
> +
> +/**
> =A0* of_parse_phandles_with_args - Find a node pointed by phandle in a li=
st
> =A0* @np: =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0pointer to a device tree node co=
ntaining a list
> =A0* @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);
> =A0extern const struct of_device_id *of_match_node(
> =A0 =A0 =A0 =A0const struct of_device_id *matches, const struct device_no=
de *node);
> =A0extern int of_modalias_node(struct device_node *node, char *modalias, =
int len);
> +extern struct device_node *of_parse_phandle(struct device_node *np,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 const char *phandle_name,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 int index);
> =A0extern int of_parse_phandles_with_args(struct device_node *np,
> =A0 =A0 =A0 =A0const char *list_name, const char *cells_name, int index,
> =A0 =A0 =A0 =A0struct device_node **out_node, const void **out_args);
>
>



--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

  parent reply	other threads:[~2009-03-19  5:05 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-19  5:00 [PATCH 1/9] of: add of_parse_phandle() helper for parsing phandle properties Grant Likely
2009-03-19  5:00 ` [PATCH 2/9] phylib: rework to prepare for OF registration of PHYs Grant Likely
2009-03-19  5:05   ` Grant Likely
2009-03-19  5:05     ` Grant Likely
2009-03-19  5:00 ` [PATCH 3/9] phylib: add *_direct() variants of phy_connect and phy_attach functions Grant Likely
2009-03-19  5:05   ` Grant Likely
2009-03-19  5:05     ` Grant Likely
2009-03-19  5:00 ` [PATCH 4/9] openfirmware: Add OF phylib support code Grant Likely
2009-03-19  5:06   ` Grant Likely
2009-03-19  5:06     ` Grant Likely
2009-03-19  5:00 ` [PATCH 5/9] net: make mpc5200 fec driver use of_mdio infrastructure Grant Likely
2009-03-19  5:06   ` Grant Likely
2009-03-19  5:06     ` Grant Likely
2009-03-19  5:00 ` [PATCH 6/9] net/gianfar: Rework gianfar driver to use OF PHY/MDIO helper functions Grant Likely
2009-03-19  5:07   ` Grant Likely
2009-03-19  5:07     ` Grant Likely
2009-03-19  5:00 ` [PATCH 7/9] net/ucc_geth: Rework ucc_geth " Grant Likely
2009-03-19  5:07   ` Grant Likely
2009-03-19  5:07     ` Grant Likely
2009-03-19  5:00 ` [PATCH 8/9] net/pasemi_mac: Rework pasemi_mac driver to use of_mdio infrastructure Grant Likely
2009-03-19  5:07   ` Grant Likely
2009-03-19  5:07     ` Grant Likely
2009-03-19  5:01 ` [PATCH 9/9] net/fs_enet: Rework fs_enet " Grant Likely
2009-03-19  5:07   ` Grant Likely
2009-03-19  5:07     ` Grant Likely
2009-03-19  5:42     ` David Miller
2009-03-19  5:42       ` David Miller
2009-03-19  6:11       ` Grant Likely
2009-03-19  6:11         ` Grant Likely
2009-03-19  5:05 ` Grant Likely [this message]
2009-03-19  5:05   ` [PATCH 1/9] of: add of_parse_phandle() helper for parsing phandle properties Grant Likely
2009-03-19  5:07 ` Michael Ellerman
2009-03-19  5:07   ` Michael Ellerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fa686aa40903182205w231e17e9wbd0dcc05d994d46e@mail.gmail.com \
    --to=grant.likely@secretlab.ca \
    --cc=afleming@freescale.com \
    --cc=avorontsov@ru.mvista.com \
    --cc=davem@davemloft.net \
    --cc=galak@kernel.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.