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]
Message-ID: <yw1xpnf3vchs.fsf@mansr.com>
Date:   Tue, 28 Jan 2020 15:15:11 +0000
From:   Måns Rullgård <mans@...sr.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     Rob Herring <robh@...nel.org>, Mark Rutland <mark.rutland@....com>,
        linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [RESEND][PATCH 1/2] dt-bindings: usb: add non-removable-ports hub property

Greg Kroah-Hartman <gregkh@...uxfoundation.org> writes:

> On Mon, Jan 27, 2020 at 04:56:15PM +0000, Måns Rullgård wrote:
>> Rob Herring <robh@...nel.org> writes:
>> 
>> > On Fri, Jan 24, 2020 at 03:25:03PM +0000, Mans Rullgard wrote:
>> >> Add a non-removable-ports property that lists the hardwired downstream
>> >> ports of a hub.  Although hubs can provide this information, they are
>> >> not always configured correctly.  An alternate means of indicating this
>> >> for built-in USB devices is thus useful.
>> >> 
>> >> Signed-off-by: Mans Rullgard <mans@...sr.com>
>> >
>> > I reviewed this already, but since you didn't add my reviewed-by, I'm 
>> > looking at it again and having 2nd thoughts.
>> >
>> >> ---
>> >>  Documentation/devicetree/bindings/usb/usb-device.txt | 4 ++++
>> >>  1 file changed, 4 insertions(+)
>> >> 
>> >> diff --git a/Documentation/devicetree/bindings/usb/usb-device.txt b/Documentation/devicetree/bindings/usb/usb-device.txt
>> >> index 036be172b1ae..92d863cc96b6 100644
>> >> --- a/Documentation/devicetree/bindings/usb/usb-device.txt
>> >> +++ b/Documentation/devicetree/bindings/usb/usb-device.txt
>> >> @@ -66,6 +66,10 @@ Required properties for host-controller nodes with device nodes:
>> >>  - #size-cells: shall be 0
>> >>  
>> >>  
>> >> +Optional properties for hub and host-controller nodes:
>> >> +- non-removable-ports: list of hardwired downstream ports
>> >
>> > If you have a hardwired device and need to know that, doesn't that imply 
>> > there's some other stuff you need to describe beyond what a standard USB 
>> > device has. Such as a power supply that's not Vbus from the hub.
>> 
>> I suppose there could be, but there isn't in my actual situation.
>> 
>> > At a minimum, I think this should be a per port property.
>> 
>> That's what I suggested first.  Greg told me to do it like this instead.
>
> I said that?  I do not remember discussing this at all, when did that
> happen?

https://lore.kernel.org/lkml/20190228155241.GC12050@kroah.com/

>> > Though really, I think this should just be implied by describing the
>> > device in DT. I'm not sure if there's a case for hotpluggable devices
>> > described in DT.  Maybe with overlays.
>> 
>> That's also an option.  Greg, what do you think?
>
> I have no idea, sorry, I'm totally lost here...

Background: I need to differentiate between on-board and external USB
devices on a few boards.  Although hubs can indicate the removable
status of each port, the configuration options are often limited and may
not be capable of describing the actual wiring.  Also, if a device is
hard-wired directly to a host port, there is no way of indicating this.

While I could match the full device path using per-board lists, I'd
prefer a generic solution.  To this end, it is necessary to add the
ability for DT to supply this information.  Three variants have been
discussed:

1. Add a "non-removable" property to the USB device node similar to how
   it's done for MMC.

2. Add a "non-removable-ports" property to the hub node.  Apparently
   ACPI can supply the information in this manner.

3. Make any USB device with a DT node implicitly non-removable.

Either one will work for me.

-- 
Måns Rullgård

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ