[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAE_wzQ-XG3YBtKTmbn1LSGETCUg5AYjTmcnwOnc1h57OaL9+Cw@mail.gmail.com>
Date: Tue, 5 Oct 2021 09:51:02 -0700
From: Dmitry Torokhov <dtor@...gle.com>
To: Alan Stern <stern@...land.harvard.edu>
Cc: Rajat Jain <rajatja@...gle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thinh Nguyen <Thinh.Nguyen@...opsys.com>,
Mathias Nyman <mathias.nyman@...ux.intel.com>,
Andrew Lunn <andrew@...n.ch>,
Chris Chiu <chris.chiu@...onical.com>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
levinale@...gle.com, bleung@...gle.com, rajatxjain@...il.com,
jsbarnes@...gle.com, pmalani@...gle.com
Subject: Re: [PATCH 2/2] usb: hub: Mark devices downstream a removable hub, as removable
Hi Alan,
On Tue, Oct 5, 2021 at 7:56 AM Alan Stern <stern@...land.harvard.edu> wrote:
>
> On Mon, Oct 04, 2021 at 03:42:46PM -0700, Rajat Jain wrote:
> > +Dmitry Torokhov
> >
> > Hi Greg, Oliver,
> >
> > Thanks for taking a look.
> >
> > On Wed, Sep 29, 2021 at 10:31 PM Greg Kroah-Hartman
> > <gregkh@...uxfoundation.org> wrote:
> > >
> > > On Wed, Sep 29, 2021 at 03:48:23PM -0700, Rajat Jain wrote:
> > > > If a usb device sits below a removable hub, mark the device also as
> > > > removable. This helps with devices inserted on a standard removable hub or
> > > > also thunderbold docks, to be shown as removable.
> > > >
> > > > Signed-off-by: Rajat Jain <rajatja@...gle.com>
> > > > ---
> > > > drivers/usb/core/hub.c | 7 +++++++
> > > > 1 file changed, 7 insertions(+)
> > >
> > > Combined with the previous patch, you are now marking all devices that
> > > happen to be attached to a root hub that is on a thunderbolt controller
> > > as removable. So all USB devices inside of a docking station are now
> > > removable?
> >
> > With this patch, yes that was my intent. I think what we are debating
> > here is should the "removable" attribute imply possibility of removal
> > from "the system" or just the "local immediate box" (e.g. thunderbolt
> > dock). In my mind, the removable property was analogous to imply an
> > "external device", i.e a device that may be removed from the system,
> > perhaps as a result of its parent devices being removed from the
> > system. I guess this definition doesn't match what you believe it
> > should be?
>
> As I understand it, the "removable" property refers specifically to
> the device's upstream link, not to whether _any_ of the links leading
> from the device to the computer could be removed.
No, that is not what it means. I'll cite our sysfs ABI:
What: /sys/devices/.../removable
Date: May 2021
Contact: Rajat Jain <rajatxjain@...il.com>
Description:
Information about whether a given device can be removed from the
platform by the user. This is determined by its subsystem in a
bus / platform-specific way. This attribute is only present for
devices that can support determining such information:
"removable": device can be removed from the platform by the user
"fixed": device is fixed to the platform / cannot be removed
by the user.
"unknown": The information is unavailable / cannot be deduced.
Currently this is only supported by USB (which infers the
information from a combination of hub descriptor bits and
platform-specific data such as ACPI) and PCI (which gets this
from ACPI / device tree).
It specifically talks about _platform_, not about properties of some
peripheral attached to a system. Note that the wording is very similar
to what we had for USB devices that originally implemented "removable"
attribute:
>
> This is probably what Oliver meant when he complained about losing
> information. With the knowledge of whether each individual link is
> removable, you can easily tell whether there's some way to remove a
> device from the system. But if you only know whether the device is
> removable from the system overall, you generally can't tell whether
> the link to the device's parent is removable.
If we need this data then we need to establish some new attribute to
convey this info.
Thanks,
Dmitry
Powered by blists - more mailing lists