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]
Date:   Mon, 12 Mar 2018 17:53:19 +0100
From:   Hans de Goede <hdegoede@...hat.com>
To:     Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     Darren Hart <dvhart@...radead.org>,
        Andy Shevchenko <andy@...radead.org>,
        MyungJoo Ham <myungjoo.ham@...sung.com>,
        Chanwoo Choi <cw00.choi@...sung.com>,
        Mathias Nyman <mathias.nyman@...el.com>,
        Guenter Roeck <linux@...ck-us.net>, Jun Li <jun.li@....com>,
        platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org,
        linux-usb@...r.kernel.org
Subject: Re: [PATCH v7 00/12] USB Type-C device-connection, mux and switch
 support

Hi,

On 12-03-18 15:34, Heikki Krogerus wrote:
> Hi,
> 
> This is version 7 of Hans' and my series introducing support for USB muxes and
> generic device-connections. The api naming for device-connections is now made
> according to proposal from Greg, connection.h is dropped and the prototypes are
> now in device.h. kbuild test robot <fengguang.wu@...el.com> also found stylistic
> problems from patches 9/12 and 10/12 which were fixed. The patch 4/12 ("usb:
> typec: Separate the definitions for data and power roles") was added to the
> series.

Thanks.

I've given this new series a quick test run and it works for me :)

Regards,

Hans




> 
> Check the v6 from here:
> https://lkml.org/lkml/2018/3/2/340
> 
> 
> Here is the cover-letter of v6:
> 
> Hi All,
> 
> Here is version 6 of Heikki's and my USB Type-C device-connection, mux and
> switch support series. Versions 2 - 5 bring various small code and style
> fixes based on review (no major changes). Version 6 is rebased on top of
> the latest usb-next and brings one small but important code fix in
> the devcon code.
> 
> Here is the original cover-letter of v1:
> 
> Some devices with an USB Type-C connector have a bunch of muxes
> behind that connector which need to be controlled by the kernel (rather
> then having them controlled by firmware as on most devices).
> 
> Quite a while back I submitted a patch-series to tie together these muxes
> and the Type-C Port Manager (tcpm) code, using the then new drivers/mux
> framework. But the way I used the mux framework went against what it was
> designed for, so in the end that series got nowhere.
> 
> Heikki Krogerus from Intel, who maintains the USB TYPEC subsystem, has
> recently been working on solving the same problem for some boards he is
> doing hardware-enablement for.
> 
> Heikki has come up with a number of infrastructure patches for this.
> The first one is a new device-connection framework. This solves the
> problem of describing non bus device-links on x86 in what in my experience
> with this problematic area is a really nice simple, clean and *generic*
> way. This could for example in the near future also replace the custom
> lookup code in the pwm subsys and the custom pwm_add_table() /
> pwm_remove_table() functions.
> 
> The other 3 patches add a framework for the different type of Type-C /
> USB "muxes".
> 
> Heikki and I have gone through a number of iterations of these patches
> together and we believe these are now ready for merging. Since merging
> infrastructure patches without users is not done and Heikki's own use-case
> for these is not yet ready for merging, the rest of this series consists
> of patches by me to make the Type-C connector found on some Cherry Trail
> devices (finally) be able to actually work as an USB port and not just
> a charge port.
> 
> The last patch uses the new usb-role-switch framework to also do proper
> devcie / host switching on CHT devices with a USB micro AB connector.
> This is also a big feature for CHT users, because before this they had
> to do a reboot to get an OTG-host cable recognized (on some devices).
> 
> Part of this series is an usb-role-switch driver for the role-switch
> found inside the xhci controller on e.g. CHT devices, this is currently
> implemented as the generic xhci controller instantiating a platform
> child-device for this, since this really is a separate chunk of HW
> which happens to sit in the XHCI mmio space. This approach may not be
> universally liked, given that in this new series the role-switch driver
> is much smaller and does not have any external deps anymore we could
> just integrate it into the xhci code if that is preferred.
> 
> About merging this series (once everything is reviewed, etc.), there are
> quite some interdependencies in it esp. a lot of the patches depend on
> the first patch. Luckily patches 1-10 all apply to subsystems which are
> maintained by Greg (most to the USB subsys). Which just leaves patches
> 11 and 12 once 1-10 are merged. Greg, can you create an immutable branch
> for the platform/x86 and extcon maintainers to merge once this is done?
> 
> Regards,
> 
> Hans
> 
> 
> Hans de Goede (7):
>    usb: typec: tcpm: Set USB role switch to device mode when configured
>      as such
>    usb: typec: tcpm: Use new Type-C switch/mux and usb-role-switch
>      functions
>    xhci: Add Intel extended cap / otg phy mux handling
>    usb: roles: Add Intel xHCI USB role switch driver
>    usb: typec: driver for Pericom PI3USB30532 Type-C cross switch
>    platform/x86: intel_cht_int33fe: Add device connections for the Type-C
>      port
>    extcon: axp288: Set USB role where necessary
> 
> Heikki Krogerus (4):
>    drivers: base: Unified device connection lookup
>    usb: typec: API for controlling USB Type-C Multiplexers
>    usb: common: Small class for USB role switches
>    usb: typec: Separate the definitions for data and power roles
> 
> Mathias Nyman (1):
>    xhci: Add option to get next extended capability in list by passing id
>      = 0
> 
>   Documentation/ABI/testing/sysfs-class-usb_role |  21 ++
>   Documentation/driver-api/device_connection.rst |  43 ++++
>   Documentation/driver-api/usb/typec.rst         |  73 +++++-
>   MAINTAINERS                                    |  12 +
>   drivers/base/Makefile                          |   3 +-
>   drivers/base/devcon.c                          | 141 ++++++++++++
>   drivers/extcon/Kconfig                         |   3 +-
>   drivers/extcon/extcon-axp288.c                 | 176 +++++++++++++-
>   drivers/platform/x86/intel_cht_int33fe.c       |  24 ++
>   drivers/usb/Kconfig                            |   5 +
>   drivers/usb/Makefile                           |   2 +
>   drivers/usb/common/Makefile                    |   1 +
>   drivers/usb/common/roles.c                     | 305 +++++++++++++++++++++++++
>   drivers/usb/host/Makefile                      |   2 +-
>   drivers/usb/host/xhci-ext-caps.c               |  90 ++++++++
>   drivers/usb/host/xhci-ext-caps.h               |   7 +-
>   drivers/usb/host/xhci-pci.c                    |   5 +
>   drivers/usb/host/xhci.h                        |   2 +
>   drivers/usb/roles/Kconfig                      |  14 ++
>   drivers/usb/roles/Makefile                     |   1 +
>   drivers/usb/roles/intel-xhci-usb-role-switch.c | 192 ++++++++++++++++
>   drivers/usb/typec/Kconfig                      |   3 +
>   drivers/usb/typec/Makefile                     |   2 +
>   drivers/usb/typec/{typec.c => class.c}         | 124 ++++++++--
>   drivers/usb/typec/fusb302/fusb302.c            |   2 +-
>   drivers/usb/typec/mux.c                        | 191 ++++++++++++++++
>   drivers/usb/typec/mux/Kconfig                  |  10 +
>   drivers/usb/typec/mux/Makefile                 |   3 +
>   drivers/usb/typec/mux/pi3usb30532.c            | 178 +++++++++++++++
>   drivers/usb/typec/tcpm.c                       |  63 +++--
>   drivers/usb/typec/tps6598x.c                   |  26 ++-
>   drivers/usb/typec/typec_wcove.c                |   1 +
>   drivers/usb/typec/ucsi/ucsi.c                  |  13 +-
>   include/linux/device.h                         |  22 ++
>   include/linux/usb/role.h                       |  53 +++++
>   include/linux/usb/tcpm.h                       |  15 +-
>   include/linux/usb/typec.h                      |  28 ++-
>   include/linux/usb/typec_mux.h                  |  55 +++++
>   38 files changed, 1817 insertions(+), 94 deletions(-)
>   create mode 100644 Documentation/ABI/testing/sysfs-class-usb_role
>   create mode 100644 Documentation/driver-api/device_connection.rst
>   create mode 100644 drivers/base/devcon.c
>   create mode 100644 drivers/usb/common/roles.c
>   create mode 100644 drivers/usb/host/xhci-ext-caps.c
>   create mode 100644 drivers/usb/roles/Kconfig
>   create mode 100644 drivers/usb/roles/Makefile
>   create mode 100644 drivers/usb/roles/intel-xhci-usb-role-switch.c
>   rename drivers/usb/typec/{typec.c => class.c} (93%)
>   create mode 100644 drivers/usb/typec/mux.c
>   create mode 100644 drivers/usb/typec/mux/Kconfig
>   create mode 100644 drivers/usb/typec/mux/Makefile
>   create mode 100644 drivers/usb/typec/mux/pi3usb30532.c
>   create mode 100644 include/linux/usb/role.h
>   create mode 100644 include/linux/usb/typec_mux.h
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ