From patchwork Tue Nov 21 10:38:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raag Jadav X-Patchwork-Id: 167645 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2b07:b0:403:3b70:6f57 with SMTP id io7csp528923vqb; Tue, 21 Nov 2023 02:39:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IGkcitKzL2f9pfEUmsIAbbQfA9PV1Xj8siccOgWZXRaObYdfA012SeIM4PitRPW48vni+BE X-Received: by 2002:a17:90b:4f4e:b0:27c:f8bd:9a98 with SMTP id pj14-20020a17090b4f4e00b0027cf8bd9a98mr6792397pjb.40.1700563169753; Tue, 21 Nov 2023 02:39:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700563169; cv=none; d=google.com; s=arc-20160816; b=CWPUJxbjQDiuxWY4epfqRfTMw57MB1HN8xGziScR8x41FS8J+QF3AuzBlfpDRFhKtm k2b9TI2j9ekhqCXq/9iqvqWnsSxK1Uxe25ZkubSMHboeKItCvCseTzZ5NB2AdZP/0JEx 9QyKt3rxdC+Fn0Q1SC+Hi/VjC/QFEOHbe7EdquZ+AJOu72xkDBI2WwCHYwjUwr6gDwnn Z9bFF3kH+zNU4COCmR4TNmK6j4v5T23kG7V4U+hGwNWWN3kO1V0pcB+sr8rwMO+33eOS q0TNdgsgi9ii4a2Lh4B8KcnPB7ZA3P9jZc/jhxCHdA7aAp16oEeTcC/8X3PhgsvhPq3t ONbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=UYuaGZUjxfzdAuLhB5OcrH7ivs9adYa42PE9cf+S7zQ=; fh=LrjGCQr9k+7CYyd6XEdJgJkCFIUW/cPwqK3zW8PbdHI=; b=qDwxtllONj6vPQG9L9sHCD8ywVkXXu4CTFNcwHy5Iy+pVKRw9nqp4KVhPZc3LdTI1U Sm/RjPOEnXud4LvzF7Ij01/rsy6l8x/UCOL3+024s197Y34gIIrKDLhTUsnzyFwN1HMI R9ooyQglOg0XyUl9bB7QNItCo6UkL5LyKeje8HkDsm9Xywjl71ywc35o7J/1L3kGk96I 2SWcVN0UgEEuoTMTx2qfHzyluL3mT+FUtMQvXcvw42krK3tfM5eEy1Zysyn+aZBlU9PK j6c+qXjY3AC12HSMdsGDFGgONP2tXc6vppph3wiar4n3x1mW/9Qy5ytvwOOpQ7Fj1Ao5 iqrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=V0ATkxLA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id jx17-20020a17090b46d100b0028534d6522asi2326315pjb.22.2023.11.21.02.39.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 02:39:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=V0ATkxLA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 10A9380443A4; Tue, 21 Nov 2023 02:39:22 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233819AbjKUKit (ORCPT + 99 others); Tue, 21 Nov 2023 05:38:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33132 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233815AbjKUKip (ORCPT ); Tue, 21 Nov 2023 05:38:45 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D9FF12A; Tue, 21 Nov 2023 02:38:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700563122; x=1732099122; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=vkKEZYR1JQ2LvJYNE9fzcULsL9BK72aBp+vTKNFQKvk=; b=V0ATkxLAX2zb5epvwIRWvnnIjc7K4gP1JADnDtvS9t7ZJ/28zKIY+boV Qx8qVfTtmeYJtA49bBwArz1yXAaiHOgwxsKTuRvGW5IeSCBB1TNlyKToI fJUDeraEm2hV9mZZ8IoY0gDsxdTVICfoS0S8H8OCqlEt/uLkLk1rFWkYl gbhRXGxXV20s/BfQvvSdm8AIehMSuQFqJT3CbgIrSb2BnrAxql98vlHQ8 y0zgT7S3NbHklZJzJnhF5QHbt8ejAdTSVm/oRn3cBXEidMIRz3HPfHw5g KTQnDECW6GJaik9bfczUU0Emhuyfxg7dQ2lV6gZlnjF6JYRdHz6k2F+py A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="371986859" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="371986859" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 02:38:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="14871920" Received: from inlubt0316.iind.intel.com ([10.191.20.213]) by fmviesa001.fm.intel.com with ESMTP; 21 Nov 2023 02:38:38 -0800 From: Raag Jadav To: mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, rafael@kernel.org, lenb@kernel.org, robert.moore@intel.com, ardb@kernel.org, will@kernel.org, mark.rutland@arm.com Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, acpica-devel@lists.linuxfoundation.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, mallikarjunappa.sangannavar@intel.com, bala.senthil@intel.com, Raag Jadav Subject: [PATCH v2 1/6] compiler.h: Introduce helpers for identifying array and pointer types Date: Tue, 21 Nov 2023 16:08:24 +0530 Message-Id: <20231121103829.10027-2-raag.jadav@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231121103829.10027-1-raag.jadav@intel.com> References: <20231121103829.10027-1-raag.jadav@intel.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 21 Nov 2023 02:39:22 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783169726089218180 X-GMAIL-MSGID: 1783169726089218180 Introduce is_array_type() and is_pointer_type() helpers, which compare the data type of provided argument against the enumeration values defined in typeclass.h using __builtin_classify_type() function and identify array and pointer types respectively. Signed-off-by: Raag Jadav --- include/linux/compiler.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/compiler.h b/include/linux/compiler.h index bb1339c7057b..b4f656002c0f 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -242,6 +242,11 @@ static inline void *offset_to_ptr(const int *off) #define is_signed_type(type) (((type)(-1)) < (__force type)1) #define is_unsigned_type(type) (!is_signed_type(type)) +/* Classify data type based on enum values in typeclass.h */ +#define is_array_type(x) (__builtin_classify_type(x) == 14) +#define is_pointer_type(x) (__builtin_classify_type(x) == 5) +#define is_array_or_pointer_type(x) (is_array_type(x) || is_pointer_type(x)) + /* * This is needed in functions which generate the stack canary, see * arch/x86/kernel/smpboot.c::start_secondary() for an example. From patchwork Tue Nov 21 10:38:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raag Jadav X-Patchwork-Id: 167642 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2b07:b0:403:3b70:6f57 with SMTP id io7csp528777vqb; Tue, 21 Nov 2023 02:39:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IEvPXtAhUz3OpPktI3EjctVAkxySauhD2BwjZBjUREamcWg/kg0PNm6ruWadxWs9Iattl1B X-Received: by 2002:a05:6a00:84a:b0:6bd:f760:6ab1 with SMTP id q10-20020a056a00084a00b006bdf7606ab1mr9681610pfk.14.1700563147223; Tue, 21 Nov 2023 02:39:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700563147; cv=none; d=google.com; s=arc-20160816; b=qzgb0h0F1sc/OqH1ZqYCQbZdNvD8X6JxpnOur1it0kavdmKTTiiRTfUo9EV8Jykg+o lFRw9hS0U0dY/yFFp9SoGGFexmnhKCrQsIEpYuszdujJRZ9DO0ktErd1PVZvhgJIw1Sv uT5xFIEPCse+6ia0izYp9UjR9rxSUTES1k3xo0tYlj6znpHtdevtD833u0p99eXJQKVo riffQ1A9djtCrzXNR1UqeB0G26wKnYXEpPGXENQzHbn1PoEkOXx8ES3DFWzK3m03lBzA PEz77AmTBxtqYAVWtt7KeZ3YM/786BeGqfZtDfi/NOSwjbDMjOqjoP0m2LGfhkpnlYrC Q9Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=/4qQRy0NOyDTR+2gPcLN1FR+x/TPHw0P4wjuMIBTrFQ=; fh=LrjGCQr9k+7CYyd6XEdJgJkCFIUW/cPwqK3zW8PbdHI=; b=ser/xJfX50FkDv59+Gg7vT8pPBFxcOomUbMtrd+oR4whoGmayBxW0TcNtv020d9QRv piFf2lXffacPgx/l4jp/kRXv4lBb147thKuU3BpcCcwbfjxBAzLNemYUsyIct1b7wg0P 7Eszg7z94oILD99zXIF7M406D4sJISZ2ji42JPiu9/zOM7u5nQD2LzJk175icw5j1n2t sHWh5o9UAgLlzx0Hj/6rH3UMoHEsN2iurZIniqLV6nGvga7Lu5PPSb5ZfwX8K19auz1J HZME/YNbNXegqlEpG2zPCQMP65Gsg/6M59u2830jL48z/404uQlFKRN2WPGBBzo/jnHQ Ka5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=PJ25NazC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id cm9-20020a056a020a0900b005c200f02d9asi10842966pgb.621.2023.11.21.02.39.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 02:39:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=PJ25NazC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 3DFB080BB3F8; Tue, 21 Nov 2023 02:39:03 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233866AbjKUKiy (ORCPT + 99 others); Tue, 21 Nov 2023 05:38:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33276 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233657AbjKUKiv (ORCPT ); Tue, 21 Nov 2023 05:38:51 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CB4D1113; Tue, 21 Nov 2023 02:38:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700563126; x=1732099126; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=U7qXPbkOU+uJnKsznZCchO4LL3iAWvuDM1CUIkNhqaI=; b=PJ25NazCbLyTp3oUFnggMQ9WcpDd1J44m+fZ68QyHNazjH5koDCT46FD Ot/BuNAJ8TR+Od5ridnGjd5vj3kHjZned4KcQkA2JEjv4DleyFUOP/+++ cPtUR1+zb78vVQgZ3kqQsC8J0tSxIxckwvz3hKvpIdgFTae6wlyd2i9dm YksFAehXMsvO/cExGeqZTsC6bDtWBbvSRmrPr1mm7MrM/G02u0ro4ukYF d8e01Y/xw/Tg6rj7pGTpWZylpD9tKiPftn44KrV8NAXBBbfX4YhszSJJ/ a+7Pnrrq+6HWZ2CYRwPa2esEzOVrHY31EwdYXsE2GkotOTqqZl/GC+rhf Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="371986897" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="371986897" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 02:38:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="14871936" Received: from inlubt0316.iind.intel.com ([10.191.20.213]) by fmviesa001.fm.intel.com with ESMTP; 21 Nov 2023 02:38:42 -0800 From: Raag Jadav To: mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, rafael@kernel.org, lenb@kernel.org, robert.moore@intel.com, ardb@kernel.org, will@kernel.org, mark.rutland@arm.com Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, acpica-devel@lists.linuxfoundation.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, mallikarjunappa.sangannavar@intel.com, bala.senthil@intel.com, Raag Jadav Subject: [PATCH v2 2/6] ACPI: bus: update acpi_dev_uid_match() to support multiple types Date: Tue, 21 Nov 2023 16:08:25 +0530 Message-Id: <20231121103829.10027-3-raag.jadav@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231121103829.10027-1-raag.jadav@intel.com> References: <20231121103829.10027-1-raag.jadav@intel.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 21 Nov 2023 02:39:03 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783169702633100993 X-GMAIL-MSGID: 1783169702633100993 According to ACPI specification, a _UID object can evaluate to either a numeric value or a string. Update acpi_dev_uid_match() helper to support _UID matching for both integer and string types. Suggested-by: Andy Shevchenko Suggested-by: Mika Westerberg Suggested-by: Rafael J. Wysocki Signed-off-by: Raag Jadav Reviewed-by: Mika Westerberg --- drivers/acpi/utils.c | 19 ------------------- include/acpi/acpi_bus.h | 35 ++++++++++++++++++++++++++++++++++- include/linux/acpi.h | 8 +++----- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c index 28c75242fca9..fe7e850c6479 100644 --- a/drivers/acpi/utils.c +++ b/drivers/acpi/utils.c @@ -824,25 +824,6 @@ bool acpi_check_dsm(acpi_handle handle, const guid_t *guid, u64 rev, u64 funcs) } EXPORT_SYMBOL(acpi_check_dsm); -/** - * acpi_dev_uid_match - Match device by supplied UID - * @adev: ACPI device to match. - * @uid2: Unique ID of the device. - * - * Matches UID in @adev with given @uid2. - * - * Returns: - * - %true if matches. - * - %false otherwise. - */ -bool acpi_dev_uid_match(struct acpi_device *adev, const char *uid2) -{ - const char *uid1 = acpi_device_uid(adev); - - return uid1 && uid2 && !strcmp(uid1, uid2); -} -EXPORT_SYMBOL_GPL(acpi_dev_uid_match); - /** * acpi_dev_hid_uid_match - Match device by supplied HID and UID * @adev: ACPI device to match. diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index ec6a673dcb95..bcd78939bab4 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -9,6 +9,7 @@ #ifndef __ACPI_BUS_H__ #define __ACPI_BUS_H__ +#include #include #include @@ -857,10 +858,42 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev) adev->power.states[ACPI_STATE_D3_HOT].flags.explicit_set); } -bool acpi_dev_uid_match(struct acpi_device *adev, const char *uid2); bool acpi_dev_hid_uid_match(struct acpi_device *adev, const char *hid2, const char *uid2); int acpi_dev_uid_to_integer(struct acpi_device *adev, u64 *integer); +static inline bool acpi_str_uid_match(struct acpi_device *adev, const char *uid2) +{ + const char *uid1 = acpi_device_uid(adev); + + return uid1 && uid2 && !strcmp(uid1, uid2); +} + +static inline bool acpi_int_uid_match(struct acpi_device *adev, u64 uid2) +{ + u64 uid1; + + return !acpi_dev_uid_to_integer(adev, &uid1) && uid1 == uid2; +} + +/** + * acpi_dev_uid_match - Match device by supplied UID + * @adev: ACPI device to match. + * @uid2: Unique ID of the device. + * + * Matches UID in @adev with given @uid2. + * + * Returns: %true if matches, %false otherwise. + */ + +/* Treat uid as a string for array and pointer types, treat as an integer otherwise */ +#define get_uid_type(x) \ + (__builtin_choose_expr(is_array_or_pointer_type(x), (const char *)0, (u64)0)) + +#define acpi_dev_uid_match(adev, uid2) \ + _Generic(get_uid_type(uid2), \ + const char *: acpi_str_uid_match, \ + u64: acpi_int_uid_match)(adev, uid2) + void acpi_dev_clear_dependencies(struct acpi_device *supplier); bool acpi_dev_ready_for_enumeration(const struct acpi_device *device); struct acpi_device *acpi_dev_get_next_consumer_dev(struct acpi_device *supplier, diff --git a/include/linux/acpi.h b/include/linux/acpi.h index b63d7811c728..aae3a459d63c 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -763,6 +763,9 @@ const char *acpi_get_subsystem_id(acpi_handle handle); #define ACPI_HANDLE(dev) (NULL) #define ACPI_HANDLE_FWNODE(fwnode) (NULL) +/* Get rid of the -Wunused-variable for adev */ +#define acpi_dev_uid_match(adev, uid2) (adev && false) + #include struct fwnode_handle; @@ -779,11 +782,6 @@ static inline bool acpi_dev_present(const char *hid, const char *uid, s64 hrv) struct acpi_device; -static inline bool acpi_dev_uid_match(struct acpi_device *adev, const char *uid2) -{ - return false; -} - static inline bool acpi_dev_hid_uid_match(struct acpi_device *adev, const char *hid2, const char *uid2) { From patchwork Tue Nov 21 10:38:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raag Jadav X-Patchwork-Id: 167643 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2b07:b0:403:3b70:6f57 with SMTP id io7csp528885vqb; Tue, 21 Nov 2023 02:39:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IFk1YxLSkvoWwCwCnAQNjYgQtPJMzH7MuFDX5t/mM4uuJH8zHwcn1Z8j0UHgI5m6XPmhLr7 X-Received: by 2002:a05:6a20:3cab:b0:18a:5593:3ca3 with SMTP id b43-20020a056a203cab00b0018a55933ca3mr5432152pzj.26.1700563162528; Tue, 21 Nov 2023 02:39:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700563162; cv=none; d=google.com; s=arc-20160816; b=e4Kf9IUPCP8NTeyfft9pCR2I/V5nFI52OODi306Ge247w7iYvqDq9Ido0nv/ikGYMs 3plBNVYt8RJMKxgu6yFoI2QbwVM1EgLdnWtWFpDJDM0hKXpugBMU0IhA17BcyURPdN4c w77J6olhG2i2gAsJQ3njgbYwIlP2gajWmqeiALKqwdgZf6YAg6iTn2mheKF2Cs73Mr+K VBiDOfpTkOsGiageh+dHRMGS0r934/W7q/C+rQRdh8gK/4pkwpkvdBTM01su/op5Y2Lr eoGG66yDouGe9oIDQ8I3mlid1UbUnGaaBA6bTCRhCmsl6ZKhE9qOoQWRgZd+gXAaJSlW lY5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=TH81PsoYvIz85cMAJBbL2rZmbNK+yXjOaNivIXg7N9E=; fh=LrjGCQr9k+7CYyd6XEdJgJkCFIUW/cPwqK3zW8PbdHI=; b=aSJm9dURPgY3qPrmf3kENaEhCXJpnUuBe49FXnvXUwkoQZWts0m4eOMfovRVmqreEP BmVVDfkEiWTn/npt1pxYFRdDXCqE0ZPNBmroQQxYy3d4ki6vu0XLKKHYEB5f9dA6PNcW 82pE0Jgbw/PSuplntfkg7xHW6iLsgQ1S8zLVBCYRTHeCDRmtRlu1DJ6TvPKfBNuI9lLm 8IszDr+nuXhmu4vIpDdiX/gzWv9cARCk40SIUEojoJzyW+qMDrn+3Hzoqgs5LQuThzTK R7fyRWEGAhIZ2hbnOn0t4zQKYlC5hDRTFBUu7Vj9CvDuRoKrig/tNv2cuabbWmvnnaNn y/2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IFkK+81N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id l18-20020a170902eb1200b001bf1d1d99b0si9731792plb.568.2023.11.21.02.39.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 02:39:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IFkK+81N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id BF78880C7759; Tue, 21 Nov 2023 02:39:13 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233948AbjKUKjD (ORCPT + 99 others); Tue, 21 Nov 2023 05:39:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233840AbjKUKi4 (ORCPT ); Tue, 21 Nov 2023 05:38:56 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B3B5B9; Tue, 21 Nov 2023 02:38:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700563131; x=1732099131; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=dxaWexg84suTd0yeCu0NfS/UZPVtK67Wtmy9gG5EJdU=; b=IFkK+81NYod3fmlTE5UfY/I+r194FUvIb1CQCKITCN6C+1pKMH7BOCBR djn7j2fUHLrf9FhQEbGI5jaRyf+Nzyhj7x4SkId6lrm2q+3l46PLsHJxB 1bcO7o6qIkuO/EjQAtzN0rCyy2iVwGuEaL9KNSaRfweZPy2BYobJDnlWS dTb7iK8inLfX5p3fn50YnmYdA/hrfcD1/R08OIvEtWTb/BDQmzLFWiEBA AJDOO9UhIf2iIPwuQMe/+Cdlfih82WM5e0lzw4tGv64pkJDdD94bCVc6g 2YGn8H+F1IkMQ3rLPNJexa5XjYE4ZOljncDJrT5dC2H6j9V1Cum9YyT3S w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="371986916" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="371986916" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 02:38:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="14871942" Received: from inlubt0316.iind.intel.com ([10.191.20.213]) by fmviesa001.fm.intel.com with ESMTP; 21 Nov 2023 02:38:47 -0800 From: Raag Jadav To: mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, rafael@kernel.org, lenb@kernel.org, robert.moore@intel.com, ardb@kernel.org, will@kernel.org, mark.rutland@arm.com Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, acpica-devel@lists.linuxfoundation.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, mallikarjunappa.sangannavar@intel.com, bala.senthil@intel.com, Raag Jadav Subject: [PATCH v2 3/6] ACPI: bus: update acpi_dev_hid_uid_match() to support multiple types Date: Tue, 21 Nov 2023 16:08:26 +0530 Message-Id: <20231121103829.10027-4-raag.jadav@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231121103829.10027-1-raag.jadav@intel.com> References: <20231121103829.10027-1-raag.jadav@intel.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 21 Nov 2023 02:39:14 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783169718535597050 X-GMAIL-MSGID: 1783169718535597050 Now that we have _UID matching support for both integer and string types, we can support them into acpi_dev_hid_uid_match() helper as well. Signed-off-by: Raag Jadav Reviewed-by: Mika Westerberg --- drivers/acpi/utils.c | 29 ----------------------------- include/acpi/acpi_bus.h | 24 +++++++++++++++++++++++- include/linux/acpi.h | 7 +------ 3 files changed, 24 insertions(+), 36 deletions(-) diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c index fe7e850c6479..03f6de9a0807 100644 --- a/drivers/acpi/utils.c +++ b/drivers/acpi/utils.c @@ -824,35 +824,6 @@ bool acpi_check_dsm(acpi_handle handle, const guid_t *guid, u64 rev, u64 funcs) } EXPORT_SYMBOL(acpi_check_dsm); -/** - * acpi_dev_hid_uid_match - Match device by supplied HID and UID - * @adev: ACPI device to match. - * @hid2: Hardware ID of the device. - * @uid2: Unique ID of the device, pass NULL to not check _UID. - * - * Matches HID and UID in @adev with given @hid2 and @uid2. Absence of @uid2 - * will be treated as a match. If user wants to validate @uid2, it should be - * done before calling this function. - * - * Returns: - * - %true if matches or @uid2 is NULL. - * - %false otherwise. - */ -bool acpi_dev_hid_uid_match(struct acpi_device *adev, - const char *hid2, const char *uid2) -{ - const char *hid1 = acpi_device_hid(adev); - - if (strcmp(hid1, hid2)) - return false; - - if (!uid2) - return true; - - return acpi_dev_uid_match(adev, uid2); -} -EXPORT_SYMBOL(acpi_dev_hid_uid_match); - /** * acpi_dev_uid_to_integer - treat ACPI device _UID as integer * @adev: ACPI device to get _UID from diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index bcd78939bab4..6f10c3de9488 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -858,9 +858,15 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev) adev->power.states[ACPI_STATE_D3_HOT].flags.explicit_set); } -bool acpi_dev_hid_uid_match(struct acpi_device *adev, const char *hid2, const char *uid2); int acpi_dev_uid_to_integer(struct acpi_device *adev, u64 *integer); +static inline bool acpi_dev_hid_match(struct acpi_device *adev, const char *hid2) +{ + const char *hid1 = acpi_device_hid(adev); + + return hid1 && hid2 && !strcmp(hid1, hid2); +} + static inline bool acpi_str_uid_match(struct acpi_device *adev, const char *uid2) { const char *uid1 = acpi_device_uid(adev); @@ -894,6 +900,22 @@ static inline bool acpi_int_uid_match(struct acpi_device *adev, u64 uid2) const char *: acpi_str_uid_match, \ u64: acpi_int_uid_match)(adev, uid2) +/** + * acpi_dev_hid_uid_match - Match device by supplied HID and UID + * @adev: ACPI device to match. + * @hid2: Hardware ID of the device. + * @uid2: Unique ID of the device, pass 0 or NULL to not check _UID. + * + * Matches HID and UID in @adev with given @hid2 and @uid2. Absence of @uid2 + * will be treated as a match. If user wants to validate @uid2, it should be + * done before calling this function. + * + * Returns: %true if matches or @uid2 is 0 or NULL, %false otherwise. + */ +#define acpi_dev_hid_uid_match(adev, hid2, uid2) \ + (acpi_dev_hid_match(adev, hid2) && \ + (!(uid2) || acpi_dev_uid_match(adev, uid2))) + void acpi_dev_clear_dependencies(struct acpi_device *supplier); bool acpi_dev_ready_for_enumeration(const struct acpi_device *device); struct acpi_device *acpi_dev_get_next_consumer_dev(struct acpi_device *supplier, diff --git a/include/linux/acpi.h b/include/linux/acpi.h index aae3a459d63c..fda188ff3dcf 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -765,6 +765,7 @@ const char *acpi_get_subsystem_id(acpi_handle handle); /* Get rid of the -Wunused-variable for adev */ #define acpi_dev_uid_match(adev, uid2) (adev && false) +#define acpi_dev_hid_uid_match(adev, hid2, uid2) (adev && false) #include @@ -782,12 +783,6 @@ static inline bool acpi_dev_present(const char *hid, const char *uid, s64 hrv) struct acpi_device; -static inline bool -acpi_dev_hid_uid_match(struct acpi_device *adev, const char *hid2, const char *uid2) -{ - return false; -} - static inline int acpi_dev_uid_to_integer(struct acpi_device *adev, u64 *integer) { return -ENODEV; From patchwork Tue Nov 21 10:38:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raag Jadav X-Patchwork-Id: 167644 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2b07:b0:403:3b70:6f57 with SMTP id io7csp528913vqb; Tue, 21 Nov 2023 02:39:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IE2A2YG61r737YvTtIYLT0OwDFq+Q/0gCPlSVSn44g4NDZxPwwcfxAyodOjGACZ5NfxHYgr X-Received: by 2002:a05:6830:1304:b0:6b9:6419:1cde with SMTP id p4-20020a056830130400b006b964191cdemr10685659otq.22.1700563168065; Tue, 21 Nov 2023 02:39:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700563168; cv=none; d=google.com; s=arc-20160816; b=KIs70FpSgh3EAr/GUiEN3kPaHA5oTgsMALlOEFC6x8osGqoMLetd+SnutSnoAffqgM u9EzaX+Nz7Duu5iuWwKbnj10FIPlw/Iv2qEcOKT5d5fUrBb9K4MHMqk6fHc0/k8y9i/u XXhbDfmgHGQh+5Hl3hEqoNK9oBstpoCZ6vzmtXdTkZWxzecS3IUheQvUEIZzXcukez5e ngri0nA4yFY6jRKOBHXTPsxr7RVB0bpDNm5ZLYI00YRX7qPgUY6anE/d2f4KzcjfMh91 5AAAr4BBvIJ7/Q+8IySTPKXMz3a5CE2WR6f/5+ZQmUcWRrWk94HqYOBh9DvsEhQSQFCQ OHMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=VnUpMqS/2UvpyxcOcVsoBMkoDAGjzKxSt1aaIsuWfZQ=; fh=LrjGCQr9k+7CYyd6XEdJgJkCFIUW/cPwqK3zW8PbdHI=; b=IlfEQGW1jQdlSNY+idZCs4y9ZK7OqM99tHAS25myvELI5xBsrnjf8lrBK7MP86LvZB 2AOe8twqphpjl8upl4hp5unL6Bc4VcczndlOdnTfdZuO2urwCbR0ds5NBTg2hlJU/7UZ QJuipyOPEZJfyvNyILE9i+IJYYhO/fkB+Plop5stXvQoGnnk6r25hVFowA3sXkL24bEa gsrBDPNixRb9wemjgQldVdjdLnB1WiuaM8UmHv4FilWMLJEJfsnHOWaFyLXUbYSzLG95 GIjcalKMIav2Zkc66I3PWNgNxs9DMLXdEa5zS4IkYLz1kJ3bZpYDEK8DW/KM+aGgHdjK vyHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=l8vTUy2c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id h3-20020a63c003000000b005bd5a60d73csi10354707pgg.708.2023.11.21.02.39.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 02:39:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=l8vTUy2c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 0944A8044394; Tue, 21 Nov 2023 02:39:21 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233919AbjKUKjH (ORCPT + 99 others); Tue, 21 Nov 2023 05:39:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36920 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233883AbjKUKjC (ORCPT ); Tue, 21 Nov 2023 05:39:02 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6ED1198; Tue, 21 Nov 2023 02:38:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700563135; x=1732099135; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=T+lHnAP5LZ0cCsv+uOEYyeyFPKszoxdDpc1va0QseKE=; b=l8vTUy2c1emPaJn9m03rbT2+3w3RUWlOt8C9EVHiTRB5gOFZhrsozf9U oN6SvfSjSyqe+jJAl0FDkbEjAM6JnHBxcjbXOsD7Q384Y+w4Xp2BtUpgZ M16Jl4hqkFqvrbH6ETOqxayKTWXOvXhHXcWX1bLTTyCj+NLnp9vk7GxMb XuryEcsXlg6qUep2elHh6++5YAvM8Y1ZPfuH+fk5cPH9g2GK7HQT6aQES oJmJxYsMvd1pE4xuzCTkKa5s/ZtYI2JFI8bYLxrJqLhSCsRKE1iPArqsd NRdTHJwAKn7N483cYyrc+VCf1sUkSugVvHS7y9EJ3GF+oVrM1dieER0Ik A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="371986937" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="371986937" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 02:38:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="14871948" Received: from inlubt0316.iind.intel.com ([10.191.20.213]) by fmviesa001.fm.intel.com with ESMTP; 21 Nov 2023 02:38:51 -0800 From: Raag Jadav To: mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, rafael@kernel.org, lenb@kernel.org, robert.moore@intel.com, ardb@kernel.org, will@kernel.org, mark.rutland@arm.com Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, acpica-devel@lists.linuxfoundation.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, mallikarjunappa.sangannavar@intel.com, bala.senthil@intel.com, Raag Jadav Subject: [PATCH v2 4/6] ACPI: LPSS: use acpi_dev_uid_match() for matching _UID Date: Tue, 21 Nov 2023 16:08:27 +0530 Message-Id: <20231121103829.10027-5-raag.jadav@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231121103829.10027-1-raag.jadav@intel.com> References: <20231121103829.10027-1-raag.jadav@intel.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 21 Nov 2023 02:39:21 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783169724654678368 X-GMAIL-MSGID: 1783169724654678368 Now that we have _UID matching support for integer types, we can use acpi_dev_uid_match() for it. Signed-off-by: Raag Jadav Acked-by: Mika Westerberg --- drivers/acpi/acpi_lpss.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c index 875de44961bf..79f4fc7d6871 100644 --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c @@ -167,13 +167,9 @@ static struct pwm_lookup byt_pwm_lookup[] = { static void byt_pwm_setup(struct lpss_private_data *pdata) { - u64 uid; - /* Only call pwm_add_table for the first PWM controller */ - if (acpi_dev_uid_to_integer(pdata->adev, &uid) || uid != 1) - return; - - pwm_add_table(byt_pwm_lookup, ARRAY_SIZE(byt_pwm_lookup)); + if (acpi_dev_uid_match(pdata->adev, 1)) + pwm_add_table(byt_pwm_lookup, ARRAY_SIZE(byt_pwm_lookup)); } #define LPSS_I2C_ENABLE 0x6c @@ -218,13 +214,9 @@ static struct pwm_lookup bsw_pwm_lookup[] = { static void bsw_pwm_setup(struct lpss_private_data *pdata) { - u64 uid; - /* Only call pwm_add_table for the first PWM controller */ - if (acpi_dev_uid_to_integer(pdata->adev, &uid) || uid != 1) - return; - - pwm_add_table(bsw_pwm_lookup, ARRAY_SIZE(bsw_pwm_lookup)); + if (acpi_dev_uid_match(pdata->adev, 1)) + pwm_add_table(bsw_pwm_lookup, ARRAY_SIZE(bsw_pwm_lookup)); } static const struct property_entry lpt_spi_properties[] = { From patchwork Tue Nov 21 10:38:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raag Jadav X-Patchwork-Id: 167646 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2b07:b0:403:3b70:6f57 with SMTP id io7csp529006vqb; Tue, 21 Nov 2023 02:39:42 -0800 (PST) X-Google-Smtp-Source: AGHT+IHpaTWm/Z+gHUp60nCpXNN++KDenPOkgymLlUFdpnNrqvX+shPOldMw1rvhNDqHwnpTvXmt X-Received: by 2002:a05:6a00:39aa:b0:68b:e29c:b69 with SMTP id fi42-20020a056a0039aa00b0068be29c0b69mr3262402pfb.9.1700563182090; Tue, 21 Nov 2023 02:39:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700563182; cv=none; d=google.com; s=arc-20160816; b=jVlY3aIDPMPQwdYhFoXd864rRiUFVzeWEFVlfQtZNFrlE9ALyKSlxuhrhbWWgX1EXb URh5xt6T5ONWUtr4cvi28fwiEXhi1KQhbDQKnSKNj9BgV1rJJ4B7dYreeBwYoo64yQQ+ r372AE2um0ROhRxrJfd/PhF8drItdJW/beyfe8vyPNGBMjjukqAVQ8JScgwFEFJJZ4Jz Ms/LN/cLPSVy1H/7ATNiU9SLTAyFoCC1l37aQiB0ni5K++afS0GGEtHLQXwbtophf7bT 5Ss/B/L3HXfDq9MW32cL6uUY9v1uvoEkB8SIGDIzmfb2l3a13P5yMOlVx4kde/a53ghE guZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=uBYoIdOi/PjZLZumIVGyz365i/BQRkVzkqhHodBS9XY=; fh=LrjGCQr9k+7CYyd6XEdJgJkCFIUW/cPwqK3zW8PbdHI=; b=jp0jrQWe2HMxt2Zi7EB3l3HLBq0ySdpUm5JnndrjHcpzyr5lbpua7MjjdU4N6ylXjC 61QCy5z/U7O2HSnVlkRpvXLT1xcTG6s9Nsd4JC5W2PwzfRREnny4j6ToGtoffIN6j2lR moMSFQC/kPLPzFKYVndXGAIIqbpm0nPpL0CUy1ImrkqZm6Zgvx6itisk7gJom0lkDHcX s1UdLx0dPr7Y6sNoj0ExEC9vr0S+oxbY9eoV94IfTMaJajWM6gvNiiOHZoSB5e/5P2/S GSTWlxA7QP/TwBYbE3EqS+gLcqwDLISnQSVSeGbMyb8S7z6qPMqz+M1cEje9ECIp9Xyb xeJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N+6vK8AH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id ka22-20020a056a00939600b006c3077a3400si9952170pfb.279.2023.11.21.02.39.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 02:39:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N+6vK8AH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 0FBB680320ED; Tue, 21 Nov 2023 02:39:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234010AbjKUKjQ (ORCPT + 99 others); Tue, 21 Nov 2023 05:39:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40646 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233882AbjKUKjG (ORCPT ); Tue, 21 Nov 2023 05:39:06 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7E7D18C; Tue, 21 Nov 2023 02:39:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700563140; x=1732099140; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=G01FEu7mgWj6wch0a4BuSRZSlujWtyeQmN3DyjCESFk=; b=N+6vK8AHJ7uIgo5uvrxayMWy6QFoS2h2XDKE14xu2aZfn7ineNfmr7bU jgInoLJrxFxKtRcjNKOzvQU10PhcGGRxgehr0OkWGFh1T0DrbMUzChUJj jlw/TyCJEx5a05p/q4cCj6lx1sAC8D07PQyWB1rrtrc0re7dOc9uE5VAr epIfQBoP2IYQkXqukZlpZZ1Xn+U36ai4DD0cie9ky46CfDwTpKsXm9uTD xjXXoOyDPu8xqDAkDPSPL5CxAmePszau+pC+swm5yGX5Fo6IOu7pC3dSa G6D1mfqEZKbFOROQZxtLbwHCuyRktVivbbcJLMF4SsNfi9ez/w4dQlkF6 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="371987007" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="371987007" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 02:38:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="14871957" Received: from inlubt0316.iind.intel.com ([10.191.20.213]) by fmviesa001.fm.intel.com with ESMTP; 21 Nov 2023 02:38:56 -0800 From: Raag Jadav To: mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, rafael@kernel.org, lenb@kernel.org, robert.moore@intel.com, ardb@kernel.org, will@kernel.org, mark.rutland@arm.com Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, acpica-devel@lists.linuxfoundation.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, mallikarjunappa.sangannavar@intel.com, bala.senthil@intel.com, Raag Jadav Subject: [PATCH v2 5/6] efi: dev-path-parser: use acpi_dev_uid_match() for matching _UID Date: Tue, 21 Nov 2023 16:08:28 +0530 Message-Id: <20231121103829.10027-6-raag.jadav@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231121103829.10027-1-raag.jadav@intel.com> References: <20231121103829.10027-1-raag.jadav@intel.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 21 Nov 2023 02:39:39 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783169738958470062 X-GMAIL-MSGID: 1783169738958470062 Now that we have _UID matching support for integer types, we can use acpi_dev_uid_match() for it. Signed-off-by: Raag Jadav Reviewed-by: Ard Biesheuvel --- drivers/firmware/efi/dev-path-parser.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/firmware/efi/dev-path-parser.c b/drivers/firmware/efi/dev-path-parser.c index f80d87c199c3..937be269fee8 100644 --- a/drivers/firmware/efi/dev-path-parser.c +++ b/drivers/firmware/efi/dev-path-parser.c @@ -18,8 +18,6 @@ static long __init parse_acpi_path(const struct efi_dev_path *node, struct acpi_device *adev; struct device *phys_dev; char hid[ACPI_ID_LEN]; - u64 uid; - int ret; if (node->header.length != 12) return -EINVAL; @@ -31,10 +29,9 @@ static long __init parse_acpi_path(const struct efi_dev_path *node, node->acpi.hid >> 16); for_each_acpi_dev_match(adev, hid, NULL, -1) { - ret = acpi_dev_uid_to_integer(adev, &uid); - if (ret == 0 && node->acpi.uid == uid) + if (acpi_dev_uid_match(adev, node->acpi.uid)) break; - if (ret == -ENODATA && node->acpi.uid == 0) + if (!acpi_device_uid(adev) && node->acpi.uid == 0) break; } if (!adev) From patchwork Tue Nov 21 10:38:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raag Jadav X-Patchwork-Id: 167647 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2b07:b0:403:3b70:6f57 with SMTP id io7csp529022vqb; Tue, 21 Nov 2023 02:39:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IGaKv9Rv8ottd+b0UDfwl+G8A2dNvNxPl7+0FORsvv1pGYcXcEu8lFszkZAcXDgmOHsflRv X-Received: by 2002:a05:6358:7e14:b0:16b:f94f:87d7 with SMTP id o20-20020a0563587e1400b0016bf94f87d7mr10072059rwm.13.1700563184365; Tue, 21 Nov 2023 02:39:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700563184; cv=none; d=google.com; s=arc-20160816; b=1Hh61hg7PnASQzvtnyv1xQ3KVdfc+7fwj6BncGzdEcy33A+3RmE4384sUpBbQURu+n v+Uo83IAE55C8mfF4lDGBBdxk/bfg+jDQMoR/KmWR4mizmC3750eNacosAwf6QZnmCzk wmkvdFDz3ZE5YzRJojQrRImSlkgxviIUBdblKhk9AHEpmlvMqKrELkyWm5IxztR8jOA0 qNnmyTbjxidsW7x9zHipGMBohrR7ttzpZ6kwXweov6XyX3S7+1nG6feImit8FUadg3Kj RchZ+i6GipF/cAscGXBkPXJ2W6hYXxl95KjWrYD4JhCaIufosRKjM7Gsi1yAhi/H1j/E LwZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=DUZNd9yVLri0er2o2ShyvqNfHkjGFSAycw8ptXpL4B0=; fh=LrjGCQr9k+7CYyd6XEdJgJkCFIUW/cPwqK3zW8PbdHI=; b=V2TGoLCDRX9PkKJFm8bKryXxJFp9WAjgCxSRRSauhUstw3K7SwIabSWsY40k2xkULo dtlwAlw5mS/MY1J83urwPfCYI4heNQAxybR21xAz9MRf/XcrrgNBTP0gpPWmaye+15zz +D1y/bEJ/DSqKBbcxlBmm/evVd35RFBpxv28tTLY/SapAqM9Y2SP/Ua013DzrK4uZV8L Ovlpi5STQdHNGw7DC6GYxQrrl1si8/BZyuV5Va8I5qzMTjK/0szEp9emj2RLTctfQlLJ 2CYYlEh85+ZZYo5+Iw4Uf3HSoYJFPDsv04Ckf1zYEdq4mKX0xsKEMCzfdE6pE/MGLSRl FhWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=M9+gDsOT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id k34-20020a635a62000000b005be00212aa7si10011383pgm.663.2023.11.21.02.39.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 02:39:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=M9+gDsOT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id A19A680C7761; Tue, 21 Nov 2023 02:39:41 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234023AbjKUKjW (ORCPT + 99 others); Tue, 21 Nov 2023 05:39:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37238 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233930AbjKUKjJ (ORCPT ); Tue, 21 Nov 2023 05:39:09 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D04D137; Tue, 21 Nov 2023 02:39:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700563145; x=1732099145; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=Y6ds1jUN7LPSrZRrgey6FYqJOhCq9ZfRNZPabZ6KtHA=; b=M9+gDsOTpNJWH9op6O7/K3HXkqTffL7PmQy8oWaRVMCfgFeievRgX2n3 0qC7VJzXIjT+m9nRCKmlcJ30ImDqg7hIGItp8rpO9bq5xlEpj8xwVLFD5 6Cl3drPOVyrp8+fmQtxIb842/y1n/lHshxa4JxBJ0H//CNoXDZSDiKaRc tWPdl3JugLyv/St3Q5pw0pR8Oqn+SYcMSgjmPHIPJSPo8ZMpZF3/Cz7Qx c3fP8k5WqsqGW8k/O0kOuCyDucc4sPg4gNezAIviXzH/WtyIvXbrVLtVS oXe+3gXt3ycpTo/L4ssrTptosvQvf/1bvOcYwMrow4mzTA+yMEZ6Umvck A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="371987049" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="371987049" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 02:39:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="14871962" Received: from inlubt0316.iind.intel.com ([10.191.20.213]) by fmviesa001.fm.intel.com with ESMTP; 21 Nov 2023 02:39:00 -0800 From: Raag Jadav To: mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, rafael@kernel.org, lenb@kernel.org, robert.moore@intel.com, ardb@kernel.org, will@kernel.org, mark.rutland@arm.com Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, acpica-devel@lists.linuxfoundation.org, linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, mallikarjunappa.sangannavar@intel.com, bala.senthil@intel.com, Raag Jadav Subject: [PATCH v2 6/6] perf: arm_cspmu: drop redundant acpi_dev_uid_to_integer() Date: Tue, 21 Nov 2023 16:08:29 +0530 Message-Id: <20231121103829.10027-7-raag.jadav@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231121103829.10027-1-raag.jadav@intel.com> References: <20231121103829.10027-1-raag.jadav@intel.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 21 Nov 2023 02:39:41 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783169741697516008 X-GMAIL-MSGID: 1783169741697516008 Now that we have _UID matching support for integer types, we can use acpi_dev_hid_uid_match() for it. Signed-off-by: Raag Jadav Acked-by: Will Deacon --- drivers/perf/arm_cspmu/arm_cspmu.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/perf/arm_cspmu/arm_cspmu.c b/drivers/perf/arm_cspmu/arm_cspmu.c index 2cc35dded007..50b89b989ce7 100644 --- a/drivers/perf/arm_cspmu/arm_cspmu.c +++ b/drivers/perf/arm_cspmu/arm_cspmu.c @@ -1108,7 +1108,6 @@ static int arm_cspmu_request_irq(struct arm_cspmu *cspmu) static inline int arm_cspmu_find_cpu_container(int cpu, u32 container_uid) { - u64 acpi_uid; struct device *cpu_dev; struct acpi_device *acpi_dev; @@ -1118,8 +1117,7 @@ static inline int arm_cspmu_find_cpu_container(int cpu, u32 container_uid) acpi_dev = ACPI_COMPANION(cpu_dev); while (acpi_dev) { - if (acpi_dev_hid_uid_match(acpi_dev, ACPI_PROCESSOR_CONTAINER_HID, NULL) && - !acpi_dev_uid_to_integer(acpi_dev, &acpi_uid) && acpi_uid == container_uid) + if (acpi_dev_hid_uid_match(acpi_dev, ACPI_PROCESSOR_CONTAINER_HID, container_uid)) return 0; acpi_dev = acpi_dev_parent(acpi_dev);