From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753367AbdBUO2S (ORCPT ); Tue, 21 Feb 2017 09:28:18 -0500 Received: from mga02.intel.com ([134.134.136.20]:34244 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752513AbdBUO2K (ORCPT ); Tue, 21 Feb 2017 09:28:10 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,189,1484035200"; d="scan'208";a="936431116" From: Heikki Krogerus To: Greg KH Cc: Guenter Roeck , Felipe Balbi , Oliver Neukum , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v17 0/3] USB Type-C Connector class Date: Tue, 21 Feb 2017 17:24:02 +0300 Message-Id: <20170221142405.76299-1-heikki.krogerus@linux.intel.com> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The USB Type-C class is meant to provide unified interface to the userspace to present the USB Type-C ports in a system. Changes since v16: - Using PTR_ERR_OR_ZERO macro in typec_init(). Changes since v15: - "stingification" as proposed by Felipe - Checking ARRAY_SIZE in supported_accessory_modes() as proposed by Guenter Changes since v14: - Fixes proposed by Mika - "identity" directory for all discover identity VDOs instead of "vdo" attribute - alternate mode device names to just "svid-" Changes since v13: - New API. Everything is registered separately. Changes since v12: - Added prefer_role member to typec_capability structure as requested by Guenter Changes since v11: - The port drivers are responsible of removing the alternate modes (just like the documentation already said). Changes since v10: - Using ATTRIBUTE_GROUPS and DEVICE_ATTR marcos everywhere - Moved sysfs_match_string to lib/string.c - Rationalized uevents - Calling ida_destroy Changes since v9: - Minor typec_wcove.c cleanup as proposed by Guenter Roeck. No function affect. Changes since v8: - checking sysfs_streq() result correctly in sysfs_strmatch - fixed accessory check in supported_accessory_mode - using "none" as the only string that can clear the preferred role Changes since v7: - Removed "type" attribute from partners - Added supports_usb_power_delivery attribute for partner and cable Changes since v6: - current_vconn_role attr renamed to vconn_source (no API changes) - Small documentation improvements proposed by Vincent Palatin Changes since v5: - Only updating the roles based on driver notifications - Added MODULE_ALIAS for the WhiskeyCove module - Including the patch that creates the actual platform device for the WhiskeyCove Type-C PHY in this series. Changes since v4: - Remove the port lock completely Changes since v3: - Documentation cleanup as proposed by Roger Quadros - Setting partner altmodes member to NULL on removal and fixing a warning, as proposed by Guenter Roeck - Added the following attributes for partners and cables: * supports_usb_power_delivery * id_header_vdo - "id_header_vdo" is visible only when the partner or cable supports USB Power Delivery communication. - Partner attribute "accessory" is hidden when the partner type is not "Accessory". Changes since v2: - Notification on role and alternate mode changes - cleanups Changes since v1: - Completely rewrote alternate mode support - Patners, cables and cable plugs presented as devices. Heikki Krogerus (3): lib/string: add sysfs_match_string helper usb: USB Type-C connector class usb: typec: add driver for Intel Whiskey Cove PMIC USB Type-C PHY Documentation/ABI/testing/sysfs-class-typec | 276 ++++++ Documentation/usb/typec.rst | 185 ++++ MAINTAINERS | 9 + drivers/usb/Kconfig | 2 + drivers/usb/Makefile | 2 + drivers/usb/typec/Kconfig | 22 + drivers/usb/typec/Makefile | 2 + drivers/usb/typec/typec.c | 1262 +++++++++++++++++++++++++++ drivers/usb/typec/typec_wcove.c | 377 ++++++++ include/linux/string.h | 10 + include/linux/usb/typec.h | 243 ++++++ lib/string.c | 26 + 12 files changed, 2416 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-class-typec create mode 100644 Documentation/usb/typec.rst create mode 100644 drivers/usb/typec/Kconfig create mode 100644 drivers/usb/typec/Makefile create mode 100644 drivers/usb/typec/typec.c create mode 100644 drivers/usb/typec/typec_wcove.c create mode 100644 include/linux/usb/typec.h -- 2.11.0