From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AG47ELtgpr5pcBm4azU8P2H5Uepx8ADU7Uuhe/Zm3U0lvBzDxmm6BGg/09PdrC1NqgKHmt4OIze9 ARC-Seal: i=1; a=rsa-sha256; t=1521550676; cv=none; d=google.com; s=arc-20160816; b=QDeLraMdYl3IwZ488ao0bTGR1SFrXy+zY78RNnbylFoXhcRNJyV5psx+YShlQ1SKS4 jFeO1KhoKIW7hGY8cdZ//vPrc1atndi9gFK2HG0+xSqDWxhlqGCPoeN3AnnBYU8FC/rm nTMJXmAR1MDjNGWZL50iSG3xNIWduOE08CI3jx0xWeq1qCK9u97PNbb/Ba+HqN1exrh/ NJSFV+bDu/c+pzuzOEhR7thAqda+eZ0sFGRx+OBBLb+nX9KQQCTYF5SfPkTdE6ewZ1b7 Z/gdiARHodEjEMEcJNTMGqdqD5gJAiFWfzcRLsAsM7S9an3xFl6obI2R7S96x43QLRe/ PpmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=HX0pgSAs6Tz3z0tSkMJYDLlb27EOO5rJ4WAdQIis+VQ=; b=a3LXINOho+PYz452s7cvli2/cxlWoC9OtwUmJ5cBVm/C3kFPt1ys/bQDVcMZfNjfqm hxvirH9ziTfn7ABmSYiVUMRzOTpeCjIEibEAB28Se+D6kQ2KnsD6TtexUTozR0SVIxnP VFRddE1C2kjkfCOXmtV0R79RXoRRX1jO3p3Q6RM+9yU2LXf//HnDBwb/x1rNYA5b7Uty hyQu74hd1uqZuYfGHozk7ltQ13r+LBFiwR9RX4no61KoV6vRbdxGSXEAvNIZ++mMoP+G IooWs23plSFk8WZYH+aXeadPcHRNKjqtKhhccPeKrk/MnjZ5Bu0VeBf6+eCghhcGtCtC h6tw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of heikki.krogerus@linux.intel.com designates 134.134.136.31 as permitted sender) smtp.mailfrom=heikki.krogerus@linux.intel.com Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of heikki.krogerus@linux.intel.com designates 134.134.136.31 as permitted sender) smtp.mailfrom=heikki.krogerus@linux.intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,335,1517904000"; d="scan'208";a="39592623" From: Heikki Krogerus To: Greg Kroah-Hartman , Hans de Goede Cc: Darren Hart , Andy Shevchenko , MyungJoo Ham , Chanwoo Choi , Mathias Nyman , Guenter Roeck , Jun Li , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v9 11/12] platform/x86: intel_cht_int33fe: Add device connections for the Type-C port Date: Tue, 20 Mar 2018 15:57:12 +0300 Message-Id: <20180320125713.85465-12-heikki.krogerus@linux.intel.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180320125713.85465-1-heikki.krogerus@linux.intel.com> References: <20180320125713.85465-1-heikki.krogerus@linux.intel.com> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1595461521890971939?= X-GMAIL-MSGID: =?utf-8?q?1595461521890971939?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: Hans de Goede 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. Signed-off-by: Hans de Goede Reviewed-by: Andy Shevchenko Signed-off-by: Heikki Krogerus --- 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 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c index 380ef7ec094f..39d4100c60a2 100644 --- a/drivers/platform/x86/intel_cht_int33fe.c +++ b/drivers/platform/x86/intel_cht_int33fe.c @@ -33,6 +33,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 device_connection connections[3]; }; /* @@ -172,6 +174,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"; + + device_connection_add(&data->connections[0]); + device_connection_add(&data->connections[1]); + device_connection_add(&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 +217,10 @@ static int cht_int33fe_probe(struct i2c_client *client) if (data->max17047) i2c_unregister_device(data->max17047); + device_connection_remove(&data->connections[2]); + device_connection_remove(&data->connections[1]); + device_connection_remove(&data->connections[0]); + return -EPROBE_DEFER; /* Wait for the i2c-adapter to load */ } @@ -213,6 +233,10 @@ static int cht_int33fe_remove(struct i2c_client *i2c) if (data->max17047) i2c_unregister_device(data->max17047); + device_connection_remove(&data->connections[2]); + device_connection_remove(&data->connections[1]); + device_connection_remove(&data->connections[0]); + return 0; } -- 2.16.2 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: [v9,11/12] platform/x86: intel_cht_int33fe: Add device connections for the Type-C port From: Heikki Krogerus Message-Id: <20180320125713.85465-12-heikki.krogerus@linux.intel.com> Date: Tue, 20 Mar 2018 15:57:12 +0300 To: Greg Kroah-Hartman , Hans de Goede Cc: Darren Hart , Andy Shevchenko , MyungJoo Ham , Chanwoo Choi , Mathias Nyman , Guenter Roeck , Jun Li , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org List-ID: RnJvbTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCldlIG5lZWQgdG8gYWRk IGRldmljZS1jb25uZWN0aW9ucyBmb3IgdGhlIFR5cGUtQyBtdXgvc3dpdGNoIGFuZCB1c2Itcm9s ZQpjb2RlIHRvIGJlIGFibGUgdG8gZmluZCB0aGUgUEkzVVNCMzA1MzIgVHlwZS1DIGNyb3NzLXN3 aXRjaCBhbmQgdGhlCmRldmljZS9ob3N0IHJvbGUtc3dpdGNoIGludGVncmF0ZWQgaW4gdGhlIENI VCBTb0MuCgpTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29t PgpSZXZpZXdlZC1ieTogQW5keSBTaGV2Y2hlbmtvIDxhbmR5LnNoZXZjaGVua29AZ21haWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBIZWlra2kgS3JvZ2VydXMgPGhlaWtraS5rcm9nZXJ1c0BsaW51eC5p bnRlbC5jb20+Ci0tLQpDaGFuZ2VzIGluIHY0OgotUmVwbGFjZSBBbmR5J3MgQWNrZWQtYnkgd2l0 aCBoaXMgUmV2aWV3ZWQtYnkKCkNoYW5nZXMgaW4gdjI6Ci1BZGQgQW5keSdzIEFja2VkLWJ5Ci1B ZGQgSGVpa2tpJ3MgUmV2aWV3ZWQtYnkKLS0tCiBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9j aHRfaW50MzNmZS5jIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMjQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2lu dGVsX2NodF9pbnQzM2ZlLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9jaHRfaW50MzNm ZS5jCmluZGV4IDM4MGVmN2VjMDk0Zi4uMzlkNDEwMGM2MGEyIDEwMDY0NAotLS0gYS9kcml2ZXJz L3BsYXRmb3JtL3g4Ni9pbnRlbF9jaHRfaW50MzNmZS5jCisrKyBiL2RyaXZlcnMvcGxhdGZvcm0v eDg2L2ludGVsX2NodF9pbnQzM2ZlLmMKQEAgLTMzLDYgKzMzLDggQEAgc3RydWN0IGNodF9pbnQz M2ZlX2RhdGEgewogCXN0cnVjdCBpMmNfY2xpZW50ICptYXgxNzA0NzsKIAlzdHJ1Y3QgaTJjX2Ns aWVudCAqZnVzYjMwMjsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqcGkzdXNiMzA1MzI7CisJLyogQ29u dGFpbiBhIGxpc3QtaGVhZCBtdXN0IGJlIHBlciBkZXZpY2UgKi8KKwlzdHJ1Y3QgZGV2aWNlX2Nv bm5lY3Rpb24gY29ubmVjdGlvbnNbM107CiB9OwogCiAvKgpAQCAtMTcyLDYgKzE3NCwyMCBAQCBz dGF0aWMgaW50IGNodF9pbnQzM2ZlX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiAJ CQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsgLyogV2FpdCBmb3IgaTJjLWFkYXB0ZXIgdG8gbG9hZCAq LwogCX0KIAorCWRhdGEtPmNvbm5lY3Rpb25zWzBdLmVuZHBvaW50WzBdID0gImkyYy1mdXNiMzAy IjsKKwlkYXRhLT5jb25uZWN0aW9uc1swXS5lbmRwb2ludFsxXSA9ICJpMmMtcGkzdXNiMzA1MzIi OworCWRhdGEtPmNvbm5lY3Rpb25zWzBdLmlkID0gInR5cGVjLXN3aXRjaCI7CisJZGF0YS0+Y29u bmVjdGlvbnNbMV0uZW5kcG9pbnRbMF0gPSAiaTJjLWZ1c2IzMDIiOworCWRhdGEtPmNvbm5lY3Rp b25zWzFdLmVuZHBvaW50WzFdID0gImkyYy1waTN1c2IzMDUzMiI7CisJZGF0YS0+Y29ubmVjdGlv bnNbMV0uaWQgPSAidHlwZWMtbXV4IjsKKwlkYXRhLT5jb25uZWN0aW9uc1syXS5lbmRwb2ludFsw XSA9ICJpMmMtZnVzYjMwMiI7CisJZGF0YS0+Y29ubmVjdGlvbnNbMl0uZW5kcG9pbnRbMV0gPSAi aW50ZWxfeGhjaV91c2Jfc3ctcm9sZS1zd2l0Y2giOworCWRhdGEtPmNvbm5lY3Rpb25zWzJdLmlk ID0gInVzYi1yb2xlLXN3aXRjaCI7CisKKwlkZXZpY2VfY29ubmVjdGlvbl9hZGQoJmRhdGEtPmNv bm5lY3Rpb25zWzBdKTsKKwlkZXZpY2VfY29ubmVjdGlvbl9hZGQoJmRhdGEtPmNvbm5lY3Rpb25z WzFdKTsKKwlkZXZpY2VfY29ubmVjdGlvbl9hZGQoJmRhdGEtPmNvbm5lY3Rpb25zWzJdKTsKKwog CW1lbXNldCgmYm9hcmRfaW5mbywgMCwgc2l6ZW9mKGJvYXJkX2luZm8pKTsKIAlzdHJsY3B5KGJv YXJkX2luZm8udHlwZSwgInR5cGVjX2Z1c2IzMDIiLCBJMkNfTkFNRV9TSVpFKTsKIAlib2FyZF9p bmZvLmRldl9uYW1lID0gImZ1c2IzMDIiOwpAQCAtMjAxLDYgKzIxNywxMCBAQCBzdGF0aWMgaW50 IGNodF9pbnQzM2ZlX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiAJaWYgKGRhdGEt Pm1heDE3MDQ3KQogCQlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoZGF0YS0+bWF4MTcwNDcpOwogCisJ ZGV2aWNlX2Nvbm5lY3Rpb25fcmVtb3ZlKCZkYXRhLT5jb25uZWN0aW9uc1syXSk7CisJZGV2aWNl X2Nvbm5lY3Rpb25fcmVtb3ZlKCZkYXRhLT5jb25uZWN0aW9uc1sxXSk7CisJZGV2aWNlX2Nvbm5l Y3Rpb25fcmVtb3ZlKCZkYXRhLT5jb25uZWN0aW9uc1swXSk7CisKIAlyZXR1cm4gLUVQUk9CRV9E RUZFUjsgLyogV2FpdCBmb3IgdGhlIGkyYy1hZGFwdGVyIHRvIGxvYWQgKi8KIH0KIApAQCAtMjEz LDYgKzIzMywxMCBAQCBzdGF0aWMgaW50IGNodF9pbnQzM2ZlX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqaTJjKQogCWlmIChkYXRhLT5tYXgxNzA0NykKIAkJaTJjX3VucmVnaXN0ZXJfZGV2aWNl KGRhdGEtPm1heDE3MDQ3KTsKIAorCWRldmljZV9jb25uZWN0aW9uX3JlbW92ZSgmZGF0YS0+Y29u bmVjdGlvbnNbMl0pOworCWRldmljZV9jb25uZWN0aW9uX3JlbW92ZSgmZGF0YS0+Y29ubmVjdGlv bnNbMV0pOworCWRldmljZV9jb25uZWN0aW9uX3JlbW92ZSgmZGF0YS0+Y29ubmVjdGlvbnNbMF0p OworCiAJcmV0dXJuIDA7CiB9CiAK