diff mbox

[U-Boot,v7,1/7] drivers: net: cpsw: Add reading of DT phy-handle node

Message ID 1461931167-24110-1-git-send-email-dmurphy@ti.com
State Accepted
Commit cb3862277b73b57ade3774b8fa684d3d7c324ba3
Delegated to: Joe Hershberger
Headers show

Commit Message

Dan Murphy April 29, 2016, 11:59 a.m. UTC
Add the ability to read the phy-handle node of the
cpsw slave.  Upon reading this handle the phy-id
can be stored based on the reg node in the DT.

The phy-handle also needs to be stored and passed
to the phy to access any phy data that is available.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
---

v7 - Fixed checkpatch issues - https://patchwork.ozlabs.org/patch/610946/
Checkpatch LTL issues still remain and resolving will break readability

WARNING: line over 80 characters
#47: FILE: drivers/net/cpsw.c:1230:
WARNING: line over 80 characters
#50: FILE: drivers/net/cpsw.c:1233:


 drivers/net/cpsw.c | 23 +++++++++++++++++++++--
 include/cpsw.h     |  1 +
 2 files changed, 22 insertions(+), 2 deletions(-)

Comments

Joe Hershberger May 2, 2016, 4:08 p.m. UTC | #1
On Fri, Apr 29, 2016 at 6:59 AM, Dan Murphy <dmurphy@ti.com> wrote:
> Add the ability to read the phy-handle node of the
> cpsw slave.  Upon reading this handle the phy-id
> can be stored based on the reg node in the DT.
>
> The phy-handle also needs to be stored and passed
> to the phy to access any phy data that is available.
>
> Signed-off-by: Dan Murphy <dmurphy@ti.com>
> ---
>
> v7 - Fixed checkpatch issues - https://patchwork.ozlabs.org/patch/610946/
> Checkpatch LTL issues still remain and resolving will break readability
>
> WARNING: line over 80 characters
> #47: FILE: drivers/net/cpsw.c:1230:
> WARNING: line over 80 characters
> #50: FILE: drivers/net/cpsw.c:1233:

Looks like you dropped most of the Acked-by and Tested-by from the
last version. Please resend with those included.

Thanks,
-Joe
Dan Murphy May 2, 2016, 5:54 p.m. UTC | #2
Joe

On 05/02/2016 11:08 AM, Joe Hershberger wrote:
> On Fri, Apr 29, 2016 at 6:59 AM, Dan Murphy <dmurphy@ti.com> wrote:
>> Add the ability to read the phy-handle node of the
>> cpsw slave.  Upon reading this handle the phy-id
>> can be stored based on the reg node in the DT.
>>
>> The phy-handle also needs to be stored and passed
>> to the phy to access any phy data that is available.
>>
>> Signed-off-by: Dan Murphy <dmurphy@ti.com>
>> ---
>>
>> v7 - Fixed checkpatch issues - https://patchwork.ozlabs.org/patch/610946/
>> Checkpatch LTL issues still remain and resolving will break readability
>>
>> WARNING: line over 80 characters
>> #47: FILE: drivers/net/cpsw.c:1230:
>> WARNING: line over 80 characters
>> #50: FILE: drivers/net/cpsw.c:1233:
> Looks like you dropped most of the Acked-by and Tested-by from the
> last version. Please resend with those included.

Do we include the Acked-by in the patch?

Dan

> Thanks,
> -Joe
Tom Rini May 2, 2016, 5:58 p.m. UTC | #3
On Mon, May 02, 2016 at 12:54:43PM -0500, Dan Murphy wrote:
> Joe
> 
> On 05/02/2016 11:08 AM, Joe Hershberger wrote:
> > On Fri, Apr 29, 2016 at 6:59 AM, Dan Murphy <dmurphy@ti.com> wrote:
> >> Add the ability to read the phy-handle node of the
> >> cpsw slave.  Upon reading this handle the phy-id
> >> can be stored based on the reg node in the DT.
> >>
> >> The phy-handle also needs to be stored and passed
> >> to the phy to access any phy data that is available.
> >>
> >> Signed-off-by: Dan Murphy <dmurphy@ti.com>
> >> ---
> >>
> >> v7 - Fixed checkpatch issues - https://patchwork.ozlabs.org/patch/610946/
> >> Checkpatch LTL issues still remain and resolving will break readability
> >>
> >> WARNING: line over 80 characters
> >> #47: FILE: drivers/net/cpsw.c:1230:
> >> WARNING: line over 80 characters
> >> #50: FILE: drivers/net/cpsw.c:1233:
> > Looks like you dropped most of the Acked-by and Tested-by from the
> > last version. Please resend with those included.
> 
> Do we include the Acked-by in the patch?

So, you don't need to resend vX -> v(X+1) if the only change for the
whole series is collecting ack/tested/reviewed, patchwork does that for
us.  If you're making changes to part of a series from vX -> v(X+1) and
some areas are unchanged, yes, you should collect the previous
acked/reviewed.  I think you need to go back and see what
ack/tested/reviewed still apply and include those in v8, yes.  Thanks!
Dan Murphy May 2, 2016, 6:03 p.m. UTC | #4
Tom

On 05/02/2016 12:58 PM, Tom Rini wrote:
> On Mon, May 02, 2016 at 12:54:43PM -0500, Dan Murphy wrote:
>> Joe
>>
>> On 05/02/2016 11:08 AM, Joe Hershberger wrote:
>>> On Fri, Apr 29, 2016 at 6:59 AM, Dan Murphy <dmurphy@ti.com> wrote:
>>>> Add the ability to read the phy-handle node of the
>>>> cpsw slave.  Upon reading this handle the phy-id
>>>> can be stored based on the reg node in the DT.
>>>>
>>>> The phy-handle also needs to be stored and passed
>>>> to the phy to access any phy data that is available.
>>>>
>>>> Signed-off-by: Dan Murphy <dmurphy@ti.com>
>>>> ---
>>>>
>>>> v7 - Fixed checkpatch issues - https://patchwork.ozlabs.org/patch/610946/
>>>> Checkpatch LTL issues still remain and resolving will break readability
>>>>
>>>> WARNING: line over 80 characters
>>>> #47: FILE: drivers/net/cpsw.c:1230:
>>>> WARNING: line over 80 characters
>>>> #50: FILE: drivers/net/cpsw.c:1233:
>>> Looks like you dropped most of the Acked-by and Tested-by from the
>>> last version. Please resend with those included.
>> Do we include the Acked-by in the patch?
> So, you don't need to resend vX -> v(X+1) if the only change for the
> whole series is collecting ack/tested/reviewed, patchwork does that for
> us.  If you're making changes to part of a series from vX -> v(X+1) and
> some areas are unchanged, yes, you should collect the previous
> acked/reviewed.  I think you need to go back and see what
> ack/tested/reviewed still apply and include those in v8, yes.  Thanks!
>
Do I have to up rev the series if I am just adding in acked/reviewed information?

Dan
Joe Hershberger May 2, 2016, 6:05 p.m. UTC | #5
On Mon, May 2, 2016 at 1:03 PM, Dan Murphy <dmurphy@ti.com> wrote:
> Tom
>
> On 05/02/2016 12:58 PM, Tom Rini wrote:
>> On Mon, May 02, 2016 at 12:54:43PM -0500, Dan Murphy wrote:
>>> Joe
>>>
>>> On 05/02/2016 11:08 AM, Joe Hershberger wrote:
>>>> On Fri, Apr 29, 2016 at 6:59 AM, Dan Murphy <dmurphy@ti.com> wrote:
>>>>> Add the ability to read the phy-handle node of the
>>>>> cpsw slave.  Upon reading this handle the phy-id
>>>>> can be stored based on the reg node in the DT.
>>>>>
>>>>> The phy-handle also needs to be stored and passed
>>>>> to the phy to access any phy data that is available.
>>>>>
>>>>> Signed-off-by: Dan Murphy <dmurphy@ti.com>
>>>>> ---
>>>>>
>>>>> v7 - Fixed checkpatch issues - https://patchwork.ozlabs.org/patch/610946/
>>>>> Checkpatch LTL issues still remain and resolving will break readability
>>>>>
>>>>> WARNING: line over 80 characters
>>>>> #47: FILE: drivers/net/cpsw.c:1230:
>>>>> WARNING: line over 80 characters
>>>>> #50: FILE: drivers/net/cpsw.c:1233:
>>>> Looks like you dropped most of the Acked-by and Tested-by from the
>>>> last version. Please resend with those included.
>>> Do we include the Acked-by in the patch?
>> So, you don't need to resend vX -> v(X+1) if the only change for the
>> whole series is collecting ack/tested/reviewed, patchwork does that for
>> us.  If you're making changes to part of a series from vX -> v(X+1) and
>> some areas are unchanged, yes, you should collect the previous
>> acked/reviewed.  I think you need to go back and see what
>> ack/tested/reviewed still apply and include those in v8, yes.  Thanks!
>>
> Do I have to up rev the series if I am just adding in acked/reviewed information?

No, you can simply reply to each patch with the info from the last
version of that patch.

-Joe
diff mbox

Patch

diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index 7104754..a2d9527 100644
--- a/drivers/net/cpsw.c
+++ b/drivers/net/cpsw.c
@@ -965,6 +965,11 @@  static int cpsw_phy_init(struct cpsw_priv *priv, struct cpsw_slave *slave)
 	phydev->supported &= supported;
 	phydev->advertising = phydev->supported;
 
+#ifdef CONFIG_DM_ETH
+	if (slave->data->phy_of_handle)
+		phydev->dev->of_offset = slave->data->phy_of_handle;
+#endif
+
 	priv->phydev = phydev;
 	phy_config(phydev);
 
@@ -1217,8 +1222,22 @@  static int cpsw_eth_ofdata_to_platdata(struct udevice *dev)
 			if (phy_mode)
 				priv->data.slave_data[slave_index].phy_if =
 					phy_get_interface_by_name(phy_mode);
-			fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2);
-			priv->data.slave_data[slave_index].phy_addr = phy_id[1];
+
+			priv->data.slave_data[slave_index].phy_of_handle =
+				fdtdec_lookup_phandle(fdt, subnode,
+						      "phy-handle");
+
+			if (priv->data.slave_data[slave_index].phy_of_handle >= 0) {
+				priv->data.slave_data[slave_index].phy_addr =
+						fdtdec_get_int(gd->fdt_blob,
+							       priv->data.slave_data[slave_index].phy_of_handle,
+							       "reg", -1);
+			} else {
+				fdtdec_get_int_array(fdt, subnode, "phy_id",
+						     phy_id, 2);
+				priv->data.slave_data[slave_index].phy_addr =
+						phy_id[1];
+			}
 			slave_index++;
 		}
 
diff --git a/include/cpsw.h b/include/cpsw.h
index cf1d30b..ff95cd8 100644
--- a/include/cpsw.h
+++ b/include/cpsw.h
@@ -21,6 +21,7 @@  struct cpsw_slave_data {
 	u32		sliver_reg_ofs;
 	int		phy_addr;
 	int		phy_if;
+	int		phy_of_handle;
 };
 
 enum {