From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751402AbdAWQqg (ORCPT ); Mon, 23 Jan 2017 11:46:36 -0500 Received: from bert.emutex.com ([91.103.1.109]:57537 "EHLO bert.emutex.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750761AbdAWQqe (ORCPT ); Mon, 23 Jan 2017 11:46:34 -0500 From: "Dan O'Donovan" To: linux-acpi@vger.kernel.org, "Rafael J . Wysocki" , Jarkko Nikula , Mika Westerberg , Mark Brown Cc: Len Brown , linux-i2c@vger.kernel.org, Wolfram Sang , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, "Dan O'Donovan" , Crestez Dan Leonard Subject: [PATCH v3 2/3] i2c: acpi: Initialize info.type from of_compatible Date: Mon, 23 Jan 2017 16:08:56 +0000 Message-Id: <1485187737-22414-3-git-send-email-dan@emutex.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1485187737-22414-1-git-send-email-dan@emutex.com> References: <1485187737-22414-1-git-send-email-dan@emutex.com> X-Spam-Score: -1.0 (-) X-Spam-Report: Spam detection software, running on the system "statler.emutex.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: From: Crestez Dan Leonard When using devicetree i2c_board_info.type is set to the compatible string with the vendor prefix removed. For I2C devices described via ACPI the i2c_board_info.type string is set to the ACPI device name. When using ACPI and DT ids this string ends up something like "PRP0001:00". [...] Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 KHOP_BIG_TO_CC Sent to 10+ recipients instaed of Bcc or a list Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Crestez Dan Leonard When using devicetree i2c_board_info.type is set to the compatible string with the vendor prefix removed. For I2C devices described via ACPI the i2c_board_info.type string is set to the ACPI device name. When using ACPI and DT ids this string ends up something like "PRP0001:00". If the of_compatible property is present try to use that instead. This makes it easier to instantiate i2c drivers through ACPI with DT ids. Signed-off-by: Crestez Dan Leonard Signed-off-by: Dan O'Donovan --- drivers/i2c/i2c-core.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 583e950..a83dbc7 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c @@ -221,7 +221,13 @@ static int i2c_acpi_get_info(struct acpi_device *adev, acpi_dev_free_resource_list(&resource_list); - strlcpy(info->type, dev_name(&adev->dev), sizeof(info->type)); + /* + * Populate modalias from compatible property if available, + * otherwise use native ACPI information + */ + if ((!adev->data.of_compatible) || + acpi_of_modalias(adev, info->type, sizeof(info->type))) + strlcpy(info->type, dev_name(&adev->dev), sizeof(info->type)); return 0; } -- 2.7.4