[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210401105847.13026-1-heikki.krogerus@linux.intel.com>
Date: Thu, 1 Apr 2021 13:58:41 +0300
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Alan Stern <stern@...land.harvard.edu>,
Guenter Roeck <linux@...ck-us.net>, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v5 0/6] usb: Linking ports to their Type-C connectors
Hi,
I have to use IS_REACHABLE() instead of IS_ENABLED() also in
include/linux/usb.h. Otherwise compilation will fail if the Type-C
class is build-in while USB is a module.
I'm sorry for re-sending these so fast, immediately after v4. Normally
I would wait, but I'll be taking a short vacation starting from right
now, and I'm still hoping to get these into v5.13.
v4 cover letter:
One more version. I used #ifdef when I should have used #if
IS_DEFINED(). Thanks Guenter for pointing that out.
I'm sending this version right away because of the holidays. I'm not
changing anything else except that one fix.
v3: cover letter:
Third version: ifdefs now in the header files as they should be.
v2 cover letter:
This is the second version of this series. The "Iterator for ports"
patch is now moved to the end of the series (5/6).
I'm now using usb_for_each_dev() in usb_for_each_port like Alan
suggested, and I'm now using usb_port_peer_mutex to lock the ports
while we're dealing with them in __each_hub().
The original cover letter:
Adding a simple function typec_link_port() that can be used to create
a symlink "connector" that points to the USB Type-C connector of a
port. It is used with USB ports initially, but hopefully later also
with other things like DisplayPorts.
Being able to see which connector is connected to a port is important
in general, but it is really important when for example the data or
power role of a device needs to swapped. The user probable wants to
know which USB device is disconnected if role swap on a USB Type-C
connector is executed.
Hope these are OK.
thanks,
Heikki Krogerus (6):
usb: typec: Organize the private headers properly
usb: typec: Declare the typec_class static
usb: typec: Port mapping utility
usb: Link the ports to the connectors they are attached to
usb: Iterator for ports
usb: typec: Link all ports during connector registration
Documentation/ABI/testing/sysfs-bus-usb | 9 +
drivers/usb/core/port.c | 3 +
drivers/usb/core/usb.c | 46 ++++
drivers/usb/typec/Makefile | 2 +-
drivers/usb/typec/bus.c | 2 +
drivers/usb/typec/bus.h | 19 +-
drivers/usb/typec/class.c | 101 +++------
drivers/usb/typec/class.h | 85 ++++++++
drivers/usb/typec/mux.c | 4 +-
drivers/usb/typec/mux.h | 21 ++
drivers/usb/typec/port-mapper.c | 277 ++++++++++++++++++++++++
include/linux/usb.h | 9 +
include/linux/usb/typec.h | 13 ++
13 files changed, 495 insertions(+), 96 deletions(-)
create mode 100644 drivers/usb/typec/class.h
create mode 100644 drivers/usb/typec/mux.h
create mode 100644 drivers/usb/typec/port-mapper.c
--
2.30.2
Powered by blists - more mailing lists