netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Florian Fainelli <f.fainelli@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org, Jason Cooper <jason@lakedaemon.net>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Russell King <linux@armlinux.org.uk>,
	Vivien Didelot <vivien.didelot@savoirfairelinux.com>,
	"David S. Miller" <davem@davemloft.net>,
	Philippe Reynes <tremyfr@gmail.com>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Stuart Yoder <stuart.yoder@nxp.com>,
	Ingo Tuchscherer <ingo.tuchscherer@linux.vnet.ibm.com>,
	"moderated list:ARM/Marvell Dove/MV78xx0/Orion SOC support"
	<linux-arm-kernel@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net-next 6/8] net: dsa: Add support for platform data
Date: Tue, 10 Jan 2017 13:06:07 -0800	[thread overview]
Message-ID: <1530c7f6-f8ba-ab32-75aa-288549f25db9@gmail.com> (raw)
In-Reply-To: <20170110204124.GL22820@lunn.ch>

On 01/10/2017 12:41 PM, Andrew Lunn wrote:
>> @@ -452,11 +455,14 @@ static int dsa_cpu_parse(struct dsa_port *port, u32 index,
>>  	struct net_device *ethernet_dev;
>>  	struct device_node *ethernet;
>>  
>> -	ethernet = of_parse_phandle(port->dn, "ethernet", 0);
>> -	if (!ethernet)
>> -		return -EINVAL;
>> +	if (port->dn) {
>> +		ethernet = of_parse_phandle(port->dn, "ethernet", 0);
>> +		if (!ethernet)
>> +			return -EINVAL;
>> +		ethernet_dev = of_find_net_device_by_node(ethernet);
>> +	} else
>> +		ethernet_dev = dev_to_net_device(dst->pd->netdev);

Bonjour Andrew,

> 
> Hi Florian
> 
> This is not going to work with John's rework of my multi CPU ports
> code. I think you are going to have to modify the platform_data
> structure to support multi-CPU ports.

Last time we discussed this, I had a super complex dsa2_platform_data
that allowed you to do exactly the same thing we currently do with
Device Tree, except that this was with platform_data. It took a lot of
effort to get there, but I essentially had the ZII vf160 board example
re-implemented and verified with a mockup driver (still have it in a
branch that's not too far from net-next/master).

Your reply then AFAIR was that we should aim for something simpler and
here is the result, we end-up re-using the existing dsa_platform_data
with its limitations.

If we have legacy platforms with complex setups, I really don't think we
have those in tree, we should use dsa2_platform_data (still have the
patches somewhere for that) although I was hoping to not have to use it
since it is way more intrusive into net/dsa/dsa2.c.

All platforms that I know that will benefit from this patch series: x86
SCU from ZII (out of tree), BCM47xx, BCM63xx, Orion5x have the same
properties: single switch attached to a SPI/MDIO/MMAP with built-in
PHYs. If we have more complex setups than that, we should try to collect
the requirements.

> 
> I put higher priority on cleanly integrating multi-CPU ports using
> device tree, than supporting legacy platforms. I'm O.K. with
> preparatory patches, but i think we should wait for actually platform
> data changes until after Johns code has landed and we can design the
> platform_data to work with it.

I would very much like to see the patches and then make a decision based
on the submission rather than project a decision on code that has not
been submitted yet.

Do we agree that patches 1 through 5 and 7 could go in then?
-- 
Florian

  reply	other threads:[~2017-01-10 21:06 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-10 20:12 [PATCH net-next 0/8] net: dsa: Support for pdata in dsa2 Florian Fainelli
2017-01-10 20:12 ` [PATCH net-next 1/8] net: dsa: Pass device pointer to dsa_register_switch Florian Fainelli
2017-01-10 20:12 ` [PATCH net-next 2/8] net: dsa: Make most functions take a dsa_port argument Florian Fainelli
2017-01-10 20:12 ` [PATCH net-next 3/8] net: dsa: Suffix function manipulating device_node with _dn Florian Fainelli
2017-01-10 20:12 ` [PATCH net-next 4/8] net: dsa: Move ports assignment closer to error checking Florian Fainelli
2017-01-10 20:12 ` [PATCH net-next 5/8] net: dsa: Export dev_to_net_device() Florian Fainelli
2017-01-11  2:24   ` David Miller
2017-01-10 20:12 ` [PATCH net-next 6/8] net: dsa: Add support for platform data Florian Fainelli
2017-01-10 20:41   ` Andrew Lunn
2017-01-10 21:06     ` Florian Fainelli [this message]
2017-01-10 21:21       ` Andrew Lunn
2017-01-10 22:15         ` Florian Fainelli
2017-01-10 20:12 ` [PATCH net-next 7/8] net: phy: Allow pre-declaration of MDIO devices Florian Fainelli
2017-01-10 20:12 ` [PATCH net-next 8/8] ARM: orion: Register DSA switch as a MDIO device Florian Fainelli

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=1530c7f6-f8ba-ab32-75aa-288549f25db9@gmail.com \
    --to=f.fainelli@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=gregory.clement@free-electrons.com \
    --cc=ingo.tuchscherer@linux.vnet.ibm.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=stuart.yoder@nxp.com \
    --cc=tremyfr@gmail.com \
    --cc=vivien.didelot@savoirfairelinux.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).