From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-333886-1519830531-2-946386449345361096 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.249, ME_NOAUTH 0.01, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='CN', FromHeader='com', MailFrom='org' X-Spam-charsets: X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: linux-usb-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1519830531; b=XDWsH9E+hvwpE3AJ53ZnVepegygZyF8xsxdMqmFuexd89QQ TdTW2aRswmgF9DhznOFlaWkCsxn3JarovMUEtL+d0Sqyb6rWN6QXY2/yl8hg/KK6 ckPKH7xHNJSgMItGLqnejK5Ik6D+1JWyNbc5LskWjsMvaKCmUPmXFAfIBS7Kz2G2 bWr8fnvCP9GLYI0NGtAQV3jxWb3WNvifH2VY3299zhQwBHXdMpce4jqfseXVt/FE qA9ttXpSiZOwrpjJaSlKxPEBb3reG9k5Lf4gHoUhuoLMU5cBPXRssQwVcvXcNR3g 3aiDxwQj1srpu1kCLN0Fub+654Kd71dg/6XJq4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id :in-reply-to:references:sender:list-id; s=arctest; t=1519830531; bh=ToKRFU9EfGefCZxfTV2ynvdAxxzxNAdjYr11qubXxBs=; b=CIIZah9jJkhs X7qO7v7nCwhSqAaEHblJm9onlHPnYGqnCSAN8FTe0qlC8OrRgtbKxBRuX3QAvoni 5jv34UQg3g2UlpACl0HA3o7eeSW659qQKfxmmNAbo3NsdkN3wN5CC8XPEjVPagUr cwNVoawH4UreQxn7kyoOlFLcZxWfvown5b30vmL/L1knXA7Zu0JrV0nsejUVsKuc wMpa6RBI0FDczCWtXsPYrl+jPYxTFU6zJdpQRno72YXUunQ1sf/3GtMGxIgd4kVS YRHSRry2HxuR1jK7lOnb7r5hl9XwDhDRVd4Gt0wKZYcUF10dwoV5MF5UCnph2wzp 49HYEQ8qgg== ARC-Authentication-Results: i=1; mx5.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=fail (p=none,has-list-id=yes,d=none) header.from=redhat.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=redhat.com header.result=pass header_is_org_domain=yes Authentication-Results: mx5.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=fail (p=none,has-list-id=yes,d=none) header.from=redhat.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=redhat.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932522AbeB1PIU (ORCPT ); Wed, 28 Feb 2018 10:08:20 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:43350 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932422AbeB1PIS (ORCPT ); Wed, 28 Feb 2018 10:08:18 -0500 From: Hans de Goede To: Darren Hart , Andy Shevchenko , MyungJoo Ham , Chanwoo Choi , Mathias Nyman , Heikki Krogerus , Greg Kroah-Hartman , Guenter Roeck Cc: Hans de Goede , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v5 11/12] platform/x86: intel_cht_int33fe: Add device connections for the Type-C port Date: Wed, 28 Feb 2018 16:07:48 +0100 Message-Id: <20180228150749.26831-12-hdegoede@redhat.com> In-Reply-To: <20180228150749.26831-1-hdegoede@redhat.com> References: <20180228150749.26831-1-hdegoede@redhat.com> Sender: linux-usb-owner@vger.kernel.org X-Mailing-List: linux-usb@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: We need to add device-connections for the Type-C mux/switch and usb-role code to be able to find the PI3USB30532 Type-C cross-switch and the device/host role-switch integrated in the CHT SoC. Reviewed-by: Heikki Krogerus Reviewed-by: Andy Shevchenko Signed-off-by: Hans de Goede --- Changes in v4: -Replace Andy's Acked-by with his Reviewed-by Changes in v2: -Add Andy's Acked-by -Add Heikki's Reviewed-by --- drivers/platform/x86/intel_cht_int33fe.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c index 380ef7ec094f..a3f8674f14da 100644 --- a/drivers/platform/x86/intel_cht_int33fe.c +++ b/drivers/platform/x86/intel_cht_int33fe.c @@ -21,6 +21,7 @@ */ #include +#include #include #include #include @@ -33,6 +34,8 @@ struct cht_int33fe_data { struct i2c_client *max17047; struct i2c_client *fusb302; struct i2c_client *pi3usb30532; + /* Contain a list-head must be per device */ + struct devcon connections[3]; }; /* @@ -172,6 +175,20 @@ static int cht_int33fe_probe(struct i2c_client *client) return -EPROBE_DEFER; /* Wait for i2c-adapter to load */ } + data->connections[0].endpoint[0] = "i2c-fusb302"; + data->connections[0].endpoint[1] = "i2c-pi3usb30532"; + data->connections[0].id = "typec-switch"; + data->connections[1].endpoint[0] = "i2c-fusb302"; + data->connections[1].endpoint[1] = "i2c-pi3usb30532"; + data->connections[1].id = "typec-mux"; + data->connections[2].endpoint[0] = "i2c-fusb302"; + data->connections[2].endpoint[1] = "intel_xhci_usb_sw-role-switch"; + data->connections[2].id = "usb-role-switch"; + + add_device_connection(&data->connections[0]); + add_device_connection(&data->connections[1]); + add_device_connection(&data->connections[2]); + memset(&board_info, 0, sizeof(board_info)); strlcpy(board_info.type, "typec_fusb302", I2C_NAME_SIZE); board_info.dev_name = "fusb302"; @@ -201,6 +218,10 @@ static int cht_int33fe_probe(struct i2c_client *client) if (data->max17047) i2c_unregister_device(data->max17047); + remove_device_connection(&data->connections[2]); + remove_device_connection(&data->connections[1]); + remove_device_connection(&data->connections[0]); + return -EPROBE_DEFER; /* Wait for the i2c-adapter to load */ } @@ -213,6 +234,10 @@ static int cht_int33fe_remove(struct i2c_client *i2c) if (data->max17047) i2c_unregister_device(data->max17047); + remove_device_connection(&data->connections[2]); + remove_device_connection(&data->connections[1]); + remove_device_connection(&data->connections[0]); + return 0; } -- 2.14.3 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v5,11/12] platform/x86: intel_cht_int33fe: Add device connections for the Type-C port From: Hans de Goede Message-Id: <20180228150749.26831-12-hdegoede@redhat.com> Date: Wed, 28 Feb 2018 16:07:48 +0100 To: Darren Hart , Andy Shevchenko , MyungJoo Ham , Chanwoo Choi , Mathias Nyman , Heikki Krogerus , Greg Kroah-Hartman , Guenter Roeck Cc: Hans de Goede , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org List-ID: V2UgbmVlZCB0byBhZGQgZGV2aWNlLWNvbm5lY3Rpb25zIGZvciB0aGUgVHlwZS1DIG11eC9zd2l0 Y2ggYW5kIHVzYi1yb2xlCmNvZGUgdG8gYmUgYWJsZSB0byBmaW5kIHRoZSBQSTNVU0IzMDUzMiBU eXBlLUMgY3Jvc3Mtc3dpdGNoIGFuZCB0aGUKZGV2aWNlL2hvc3Qgcm9sZS1zd2l0Y2ggaW50ZWdy YXRlZCBpbiB0aGUgQ0hUIFNvQy4KClJldmlld2VkLWJ5OiBIZWlra2kgS3JvZ2VydXMgPGhlaWtr aS5rcm9nZXJ1c0BsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBBbmR5IFNoZXZjaGVua28g PGFuZHkuc2hldmNoZW5rb0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUg PGhkZWdvZWRlQHJlZGhhdC5jb20+Ci0tLQpDaGFuZ2VzIGluIHY0OgotUmVwbGFjZSBBbmR5J3Mg QWNrZWQtYnkgd2l0aCBoaXMgUmV2aWV3ZWQtYnkKCkNoYW5nZXMgaW4gdjI6Ci1BZGQgQW5keSdz IEFja2VkLWJ5Ci1BZGQgSGVpa2tpJ3MgUmV2aWV3ZWQtYnkKLS0tCiBkcml2ZXJzL3BsYXRmb3Jt L3g4Ni9pbnRlbF9jaHRfaW50MzNmZS5jIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKwog MSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Bs YXRmb3JtL3g4Ni9pbnRlbF9jaHRfaW50MzNmZS5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50 ZWxfY2h0X2ludDMzZmUuYwppbmRleCAzODBlZjdlYzA5NGYuLmEzZjg2NzRmMTRkYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWxfY2h0X2ludDMzZmUuYworKysgYi9kcml2 ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9jaHRfaW50MzNmZS5jCkBAIC0yMSw2ICsyMSw3IEBACiAg Ki8KIAogI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9jb25uZWN0aW9u Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+ CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zMyw2ICszNCw4IEBAIHN0cnVjdCBjaHRf aW50MzNmZV9kYXRhIHsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqbWF4MTcwNDc7CiAJc3RydWN0IGky Y19jbGllbnQgKmZ1c2IzMDI7CiAJc3RydWN0IGkyY19jbGllbnQgKnBpM3VzYjMwNTMyOworCS8q IENvbnRhaW4gYSBsaXN0LWhlYWQgbXVzdCBiZSBwZXIgZGV2aWNlICovCisJc3RydWN0IGRldmNv biBjb25uZWN0aW9uc1szXTsKIH07CiAKIC8qCkBAIC0xNzIsNiArMTc1LDIwIEBAIHN0YXRpYyBp bnQgY2h0X2ludDMzZmVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIAkJCXJldHVy biAtRVBST0JFX0RFRkVSOyAvKiBXYWl0IGZvciBpMmMtYWRhcHRlciB0byBsb2FkICovCiAJfQog CisJZGF0YS0+Y29ubmVjdGlvbnNbMF0uZW5kcG9pbnRbMF0gPSAiaTJjLWZ1c2IzMDIiOworCWRh dGEtPmNvbm5lY3Rpb25zWzBdLmVuZHBvaW50WzFdID0gImkyYy1waTN1c2IzMDUzMiI7CisJZGF0 YS0+Y29ubmVjdGlvbnNbMF0uaWQgPSAidHlwZWMtc3dpdGNoIjsKKwlkYXRhLT5jb25uZWN0aW9u c1sxXS5lbmRwb2ludFswXSA9ICJpMmMtZnVzYjMwMiI7CisJZGF0YS0+Y29ubmVjdGlvbnNbMV0u ZW5kcG9pbnRbMV0gPSAiaTJjLXBpM3VzYjMwNTMyIjsKKwlkYXRhLT5jb25uZWN0aW9uc1sxXS5p ZCA9ICJ0eXBlYy1tdXgiOworCWRhdGEtPmNvbm5lY3Rpb25zWzJdLmVuZHBvaW50WzBdID0gImky Yy1mdXNiMzAyIjsKKwlkYXRhLT5jb25uZWN0aW9uc1syXS5lbmRwb2ludFsxXSA9ICJpbnRlbF94 aGNpX3VzYl9zdy1yb2xlLXN3aXRjaCI7CisJZGF0YS0+Y29ubmVjdGlvbnNbMl0uaWQgPSAidXNi LXJvbGUtc3dpdGNoIjsKKworCWFkZF9kZXZpY2VfY29ubmVjdGlvbigmZGF0YS0+Y29ubmVjdGlv bnNbMF0pOworCWFkZF9kZXZpY2VfY29ubmVjdGlvbigmZGF0YS0+Y29ubmVjdGlvbnNbMV0pOwor CWFkZF9kZXZpY2VfY29ubmVjdGlvbigmZGF0YS0+Y29ubmVjdGlvbnNbMl0pOworCiAJbWVtc2V0 KCZib2FyZF9pbmZvLCAwLCBzaXplb2YoYm9hcmRfaW5mbykpOwogCXN0cmxjcHkoYm9hcmRfaW5m by50eXBlLCAidHlwZWNfZnVzYjMwMiIsIEkyQ19OQU1FX1NJWkUpOwogCWJvYXJkX2luZm8uZGV2 X25hbWUgPSAiZnVzYjMwMiI7CkBAIC0yMDEsNiArMjE4LDEwIEBAIHN0YXRpYyBpbnQgY2h0X2lu dDMzZmVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIAlpZiAoZGF0YS0+bWF4MTcw NDcpCiAJCWkyY191bnJlZ2lzdGVyX2RldmljZShkYXRhLT5tYXgxNzA0Nyk7CiAKKwlyZW1vdmVf ZGV2aWNlX2Nvbm5lY3Rpb24oJmRhdGEtPmNvbm5lY3Rpb25zWzJdKTsKKwlyZW1vdmVfZGV2aWNl X2Nvbm5lY3Rpb24oJmRhdGEtPmNvbm5lY3Rpb25zWzFdKTsKKwlyZW1vdmVfZGV2aWNlX2Nvbm5l Y3Rpb24oJmRhdGEtPmNvbm5lY3Rpb25zWzBdKTsKKwogCXJldHVybiAtRVBST0JFX0RFRkVSOyAv KiBXYWl0IGZvciB0aGUgaTJjLWFkYXB0ZXIgdG8gbG9hZCAqLwogfQogCkBAIC0yMTMsNiArMjM0 LDEwIEBAIHN0YXRpYyBpbnQgY2h0X2ludDMzZmVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpp MmMpCiAJaWYgKGRhdGEtPm1heDE3MDQ3KQogCQlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoZGF0YS0+ bWF4MTcwNDcpOwogCisJcmVtb3ZlX2RldmljZV9jb25uZWN0aW9uKCZkYXRhLT5jb25uZWN0aW9u c1syXSk7CisJcmVtb3ZlX2RldmljZV9jb25uZWN0aW9uKCZkYXRhLT5jb25uZWN0aW9uc1sxXSk7 CisJcmVtb3ZlX2RldmljZV9jb25uZWN0aW9uKCZkYXRhLT5jb25uZWN0aW9uc1swXSk7CisKIAly ZXR1cm4gMDsKIH0KIAo=