mbox series

[v3,0/9] usb: typec: Driver for Intel PMC Mux-Agent

Message ID 20200302135353.56659-1-heikki.krogerus@linux.intel.com (mailing list archive)
Headers show
Series usb: typec: Driver for Intel PMC Mux-Agent | expand

Message

Heikki Krogerus March 2, 2020, 1:53 p.m. UTC
Hi,

The statements were ended incorrectly with comma instead of semicolon
in drivers/usb/cdns3/core.c (PATCH 5/9) as pointed out by Peter. I've
fixed that in this version. There are no other changes.

v2 commit message:

I've unified the driver data handling in all drivers in patch 5/9 as
requested by Peter, and also now using consistently dev_set_drvdata()
in patch 4/9 as requested by Chunfeng Yun. Those were the only
changes in this version.

The original (v1) commit message:

The Intel PMC (Power Management Controller) microcontroller, which is
available on most SOCs from Intel, has a function called mux-agent.
The mux-agent, when visible to the operating system, makes it possible
to control the various USB muxes on the system.

In practice the mux-agent is a device that controls multiple muxes.
Unfortunately both the USB Type-C Class and the USB Role Class don't
have proper support for that kind of devices that handle multiple
muxes, which is why I had to tweak the APIs a bit.

On top of the API changes, and the driver of course, I'm adding a
header for the Thunderbolt 3 alt mode since the "mux-agent" supports
it.

thanks,


Heikki Krogerus (9):
  usb: typec: mux: Allow the muxes to be named
  usb: typec: mux: Add helpers for setting the mux state
  usb: typec: mux: Allow the mux handles to be requested with fwnode
  usb: roles: Leave the private driver data pointer to the drivers
  usb: roles: Provide the switch drivers handle to the switch in the API
  usb: roles: Allow the role switches to be named
  device property: Export fwnode_get_name()
  usb: typec: Add definitions for Thunderbolt 3 Alternate Mode
  usb: typec: driver for Intel PMC mux control

 drivers/base/property.c                       |   1 +
 drivers/usb/cdns3/core.c                      |  22 +-
 drivers/usb/chipidea/core.c                   |  10 +-
 drivers/usb/dwc3/dwc3-meson-g12a.c            |  10 +-
 drivers/usb/gadget/udc/renesas_usb3.c         |  26 +-
 drivers/usb/gadget/udc/tegra-xudc.c           |   8 +-
 drivers/usb/mtu3/mtu3_dr.c                    |   9 +-
 drivers/usb/musb/mediatek.c                   |  16 +-
 drivers/usb/roles/class.c                     |  29 +-
 .../usb/roles/intel-xhci-usb-role-switch.c    |  26 +-
 drivers/usb/typec/class.c                     |  10 +-
 drivers/usb/typec/mux.c                       |  47 +-
 drivers/usb/typec/mux/Kconfig                 |   9 +
 drivers/usb/typec/mux/Makefile                |   1 +
 drivers/usb/typec/mux/intel_pmc_mux.c         | 434 ++++++++++++++++++
 include/linux/usb/role.h                      |  23 +-
 include/linux/usb/typec_mux.h                 |  25 +-
 include/linux/usb/typec_tbt.h                 |  53 +++
 18 files changed, 677 insertions(+), 82 deletions(-)
 create mode 100644 drivers/usb/typec/mux/intel_pmc_mux.c
 create mode 100644 include/linux/usb/typec_tbt.h

Comments

Greg KH March 4, 2020, 10:15 a.m. UTC | #1
On Mon, Mar 02, 2020 at 04:53:44PM +0300, Heikki Krogerus wrote:
> Hi,
> 
> The statements were ended incorrectly with comma instead of semicolon
> in drivers/usb/cdns3/core.c (PATCH 5/9) as pointed out by Peter. I've
> fixed that in this version. There are no other changes.
> 
> v2 commit message:
> 
> I've unified the driver data handling in all drivers in patch 5/9 as
> requested by Peter, and also now using consistently dev_set_drvdata()
> in patch 4/9 as requested by Chunfeng Yun. Those were the only
> changes in this version.
> 
> The original (v1) commit message:
> 
> The Intel PMC (Power Management Controller) microcontroller, which is
> available on most SOCs from Intel, has a function called mux-agent.
> The mux-agent, when visible to the operating system, makes it possible
> to control the various USB muxes on the system.
> 
> In practice the mux-agent is a device that controls multiple muxes.
> Unfortunately both the USB Type-C Class and the USB Role Class don't
> have proper support for that kind of devices that handle multiple
> muxes, which is why I had to tweak the APIs a bit.
> 
> On top of the API changes, and the driver of course, I'm adding a
> header for the Thunderbolt 3 alt mode since the "mux-agent" supports
> it.

Looks good, all now queued up, thanks.

greg k-h