From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754917AbdA0Nd2 (ORCPT ); Fri, 27 Jan 2017 08:33:28 -0500 Received: from bert.emutex.com ([91.103.1.109]:57870 "EHLO bert.emutex.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754830AbdA0NcP (ORCPT ); Fri, 27 Jan 2017 08:32:15 -0500 From: "Dan O'Donovan" To: linux-acpi@vger.kernel.org, Andy Shevchenko , "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 v4 2/3] i2c: acpi: Initialize info.type from of_compatible Date: Fri, 27 Jan 2017 13:30:14 +0000 Message-Id: <1485523815-9629-3-git-send-email-dan@emutex.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1485523815-9629-1-git-send-email-dan@emutex.com> References: <1485187737-22414-1-git-send-email-dan@emutex.com> <1485523815-9629-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 Reviewed-by: Andy Shevchenko Reviewed-by: Jarkko Nikula Tested-by: Jarkko Nikula --- drivers/i2c/i2c-core.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 583e950..6e99431 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c @@ -221,7 +221,12 @@ 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 (acpi_of_modalias(adev, info->type, sizeof(info->type))) + strlcpy(info->type, dev_name(&adev->dev), sizeof(info->type)); return 0; } -- 2.7.4