linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: Horatiu Vultur <horatiu.vultur@microchip.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: fwnode_for_each_child_node() and OF backend discrepancy
Date: Tue, 28 Jun 2022 23:07:34 +0200	[thread overview]
Message-ID: <4782de1fc6692a98bd6c267c2714325f@walle.cc> (raw)
In-Reply-To: <20220628205254.gnllvaz7w5jmpfe5@soft-dev3-1.localhost>

Am 2022-06-28 22:52, schrieb Horatiu Vultur:
> The 06/28/2022 22:28, Andy Shevchenko wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know 
>> the content is safe
>> 
>> On Tue, Jun 28, 2022 at 5:17 PM Krzysztof Kozlowski
>> <krzysztof.kozlowski@linaro.org> wrote:
>> > On 28/06/2022 17:09, Michael Walle wrote:
> 
> Hi,
> 
> Sorry for joint this late.
> 
>> 
>> ...
>> 
>> > > Mh. Assume a SoC with an integrated ethernet switch. Some ports
>> > > are externally connected, some don't. I'd think they should be disabled,
>> > > no? Until now, all bindings I know, treat them as disabled. But OTOH
>> > > you still need to do some configurations on them, like disable port
>> > > forwarding, disable them or whatever. So the hardware is present, but
>> > > it is not connected to anything.
>> >
>> > I see your point and the meaning is okay... except that drivers don't
>> > touch disabled nodes. If a device (with some address space) is disabled,
>> > you do not write there "please be power off". Here the case is a bit
>> > different, because I think ports do not have their own address space.
>> > Yet it contradicts the logic - something is disabled in DT and you
>> > expect to perform actual operations on it.
>> 
>> You beat me up to this comment, I also see a contradiction of what
>> "disabled" means in your, Michael, case and what it should be.
>> 
>> If you need to perform an operation on some piece of HW, it has not to
>> be disabled.
>> 
>> Or, you may deduce them by knowing how many ports in hardware (this is
>> usually done not by counting the nodes, but by a property) and do
>> whatever you want on ones, you have  not listed (by port_num) in the
>> array of parsed children.
> 
> It is not possible to have a defined for the MAX number of ports that
> supported by lan966x. Which is 8. And assigned that define to
> num_phys_ports instead of counting the entries in DT?

You mean also for the lan9662? I'm pretty sure that doesn't
work. Have a look where num_phys_ports is used. One random
example:
https://elixir.bootlin.com/linux/latest/source/drivers/net/ethernet/microchip/lan966x/lan966x_main.c#L874

So if your switch only has 4 ports, then I'd guess you'll
access a non-existing register.

-michael

  reply	other threads:[~2022-06-28 21:07 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27 12:49 fwnode_for_each_child_node() and OF backend discrepancy Michael Walle
2022-06-27 13:08 ` Krzysztof Kozlowski
2022-06-27 13:33   ` Rafael J. Wysocki
2022-06-28 10:32     ` Krzysztof Kozlowski
2022-06-28 14:41       ` Sakari Ailus
2022-06-29 10:50       ` Rafael J. Wysocki
2022-06-29 13:01         ` Grant Likely
2022-06-28 11:10 ` Andy Shevchenko
2022-06-28 11:36   ` Michael Walle
2022-06-28 13:11     ` Andy Shevchenko
2022-06-28 13:23       ` Michael Walle
2022-06-28 13:29         ` Andy Shevchenko
2022-06-28 13:47           ` Michael Walle
2022-06-28 13:51             ` Krzysztof Kozlowski
2022-06-28 14:22               ` Michael Walle
2022-06-28 14:36                 ` Krzysztof Kozlowski
2022-06-28 15:09                   ` Michael Walle
2022-06-28 15:17                     ` Krzysztof Kozlowski
2022-06-28 20:28                       ` Andy Shevchenko
2022-06-28 20:52                         ` Horatiu Vultur
2022-06-28 21:07                           ` Michael Walle [this message]
2022-06-30 20:16                             ` Horatiu Vultur
2022-06-30 21:00                               ` Michael Walle
2022-06-30 21:21                                 ` Vladimir Oltean
2022-06-30 21:32                                   ` Michael Walle
2022-06-28 21:59             ` Vladimir Oltean

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=4782de1fc6692a98bd6c267c2714325f@walle.cc \
    --to=michael@walle.cc \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=horatiu.vultur@microchip.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=robh+dt@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 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).