Received: by 2002:a05:6358:5282:b0:b5:90e7:25cb with SMTP id g2csp3326752rwa; Tue, 23 Aug 2022 02:55:27 -0700 (PDT) X-Google-Smtp-Source: AA6agR6BjzNyozsfW4bL0nWyFu4IX+40hlpb96akd2o121DHteV6wcaIfhbZ4s2MR1PQARGkF3oQ X-Received: by 2002:a05:6402:1e90:b0:446:5aa1:808b with SMTP id f16-20020a0564021e9000b004465aa1808bmr3034439edf.90.1661248527184; Tue, 23 Aug 2022 02:55:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661248527; cv=none; d=google.com; s=arc-20160816; b=m4Imm1Ko1SW3qNLa0vQBwpd2SzXtnci9YI9cj/VeTtJNnEBrQncPp2q4LyMfr787wL 5NOHegWE37cXNlduefzPSwLvXVAEMJ1mHrjjmoa2WBjOsq9MwUMzhRBRtdpoPHb8lvf4 mBr6cv8wcUTWdquDxViumJimzaS2gltqsYiYj0xO0ieUoCjLQrMKN47au6tjne/i2Idb AGrJZffNthaJGdfnV2Wmf92ZoxNsNMK2erSoLsfdxOdz/udcROYz+JH7jIQnyNdHiqxM MjKeEyVf/NEA3EpMWVfw06p4lrTozSGtt1l7MiugHJ3K1jfpIRcMFA+ytRBq8qb6X4qa pTmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=9ub2vNirw9ya3flnHPHOUXBe9PupPd8gYFbXHJquyeo=; b=wRTuzz53XuI277RRlZeJhnJsH6lRwAeWbr2bUEq4r1hFb6p+jPBg06Q6g4FIHcPQCV SarqtFYkJD6wN7tI2h6WjEHA1/SjGjQMXEQB8pMzUZh3kJwOXXxwiW4HGLfoiVVP+Oil 7117dUYRoYqVbnbmb5/ae5hjsQasyjuB713jB1kaNH+y6EpAU3dGsz60BqSh6Zg5OGYL oiYRO/7zOrHQX9GRvfc+L/ZilKlfLhULtUlQgyMNLHWGaNcgYjU4iMvzsUligMGJkxPw Rae2KqzWxQjg+PYoyKAM2R738tnf4U0rZFWbePDr3uKBEEQDt47trJs2G/1RJ+sLOs3X KrPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=BRPyqgJe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ku24-20020a170907789800b0073d6b88fdc5si6348351ejc.944.2022.08.23.02.55.01; Tue, 23 Aug 2022 02:55:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=BRPyqgJe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243675AbiHWJOj (ORCPT + 99 others); Tue, 23 Aug 2022 05:14:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34114 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243728AbiHWJLs (ORCPT ); Tue, 23 Aug 2022 05:11:48 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A4F36D57B; Tue, 23 Aug 2022 01:31:38 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 02427B81C35; Tue, 23 Aug 2022 08:31:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 677D2C433D6; Tue, 23 Aug 2022 08:31:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1661243494; bh=xXQAFQ/1p0AoaeHh21LVzZFWzJxzwfUL99cZqTHOlzM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BRPyqgJeAHdsgxBxKhk9TnteKODs6XGsJhH0c7uKlznJuiffLJNYKPUa5XakhkYv+ ZeYYrKxUrN8v2npefdkmCSEVXm+dc+F+Zd5d2IdyyUbSL2ePGvafwL+O2hsT6KmrKS QouRhycdAPTk7/iqfuhKmrrfRzCUY+EQ3rlS6VrE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Henning Schild , Andy Shevchenko , Hans de Goede , Mika Westerberg , Linus Walleij , Lee Jones , Sasha Levin Subject: [PATCH 5.19 294/365] pinctrl: intel: Check against matching data instead of ACPI companion Date: Tue, 23 Aug 2022 10:03:15 +0200 Message-Id: <20220823080130.502152431@linuxfoundation.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220823080118.128342613@linuxfoundation.org> References: <20220823080118.128342613@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andy Shevchenko [ Upstream commit c551bd81d198bf1dcd4398d5454acdc0309dbe77 ] In some cases we may get a platform device that has ACPI companion which is different to the pin control described in the ACPI tables. This is primarily happens when device is instantiated by board file. In order to allow this device being enumerated, refactor intel_pinctrl_get_soc_data() to check the matching data instead of ACPI companion. Reported-by: Henning Schild Signed-off-by: Andy Shevchenko Tested-by: Henning Schild Acked-by: Hans de Goede Acked-by: Mika Westerberg Acked-by: Linus Walleij Signed-off-by: Lee Jones Signed-off-by: Sasha Levin --- drivers/pinctrl/intel/pinctrl-intel.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c index ffc045f7bf00..fd093e36c3a8 100644 --- a/drivers/pinctrl/intel/pinctrl-intel.c +++ b/drivers/pinctrl/intel/pinctrl-intel.c @@ -1641,16 +1641,14 @@ EXPORT_SYMBOL_GPL(intel_pinctrl_probe_by_uid); const struct intel_pinctrl_soc_data *intel_pinctrl_get_soc_data(struct platform_device *pdev) { + const struct intel_pinctrl_soc_data * const *table; const struct intel_pinctrl_soc_data *data = NULL; - const struct intel_pinctrl_soc_data **table; - struct acpi_device *adev; - unsigned int i; - adev = ACPI_COMPANION(&pdev->dev); - if (adev) { - const void *match = device_get_match_data(&pdev->dev); + table = device_get_match_data(&pdev->dev); + if (table) { + struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); + unsigned int i; - table = (const struct intel_pinctrl_soc_data **)match; for (i = 0; table[i]; i++) { if (!strcmp(adev->pnp.unique_id, table[i]->uid)) { data = table[i]; @@ -1664,7 +1662,7 @@ const struct intel_pinctrl_soc_data *intel_pinctrl_get_soc_data(struct platform_ if (!id) return ERR_PTR(-ENODEV); - table = (const struct intel_pinctrl_soc_data **)id->driver_data; + table = (const struct intel_pinctrl_soc_data * const *)id->driver_data; data = table[pdev->id]; } -- 2.35.1