Received: by 2002:a05:7412:a9a2:b0:e2:908c:2ebd with SMTP id o34csp2632518rdh; Mon, 30 Oct 2023 03:12:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEE2heaLksLFDu6zKsfrzmPlO8ZOVT4qRleMru3D+cJFLhTPlxZJPkLDBD6UPdSusTJqmDs X-Received: by 2002:a05:6358:71f:b0:168:e7b7:1e40 with SMTP id e31-20020a056358071f00b00168e7b71e40mr13010289rwj.7.1698660766617; Mon, 30 Oct 2023 03:12:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698660766; cv=none; d=google.com; s=arc-20160816; b=i9p5RV/sijjHa4vdj4iXU8TCtq9WmDViSbm6+s1WYhPTTcyofGepEHHZ/N0JnughKP dogmmi3F4Zz/IRnbcp9rS3aii/9GqtaLLIPrJr2Cae9Cam0rSVHJt3zXnk3HugDeAtHI 4A074kfE6fHMJjlQHgxFIpvdj7d5h8W8iRWtfh0l9/4PUG7d+MqyVD6D5Qz1hbwSlxop NoDhuYQj40N5VYzQUdoljJsellYpbl/CHU96iqyGlizFk23mzZuwGarbBrED6iiYlnIB jBzd7OwJubFrC05qleHXGKxY7qaF/qHtof4m8Hgje0Hlk7SDzoT7ovVlx4ER9u+/XaQM hBHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=hHN5Xs1AWEWdHKPJ/GNw73QlYIx4wXlS/EevOPthQWk=; fh=DN2rBVOcAjCbeZ070rhNwce89j6pxodmqlLuX4fIWws=; b=ZRxaNdmoqanm91jwCA+IbnD49LZ3qcoA7jIewDo7csGTr7xw5zy4FUm12GU1xTJ/ch EpevOLiY1FzftrxjjQQJiPDlQNlemuxuVRMi+4rgdLpXsZ54+aoXMiormHdckJyzSMLa MgrhEm+i3l7BOTKjemlhgttY6KNfwODiTf+kPKJFla9WtAaDzaC2kFkOZ0Wx7Ujv2g56 fvU9+w7tVEnjehmMXjvVmJOJntwKoOc/julBUxVIqxoVTPX8Bg9hhGAWGyj6A/tOUSmP Sr2uyGRAQ09U3/EZUp/OkkJ6ARM0S+Jn+VzxuKHz25Ag9ccncns25h9265QgkUr9gBDe g8WQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lAiQ6hFO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id bs66-20020a632845000000b005898e10f9c4si4802059pgb.203.2023.10.30.03.12.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 03:12:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lAiQ6hFO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 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 5BA31804BDF3; Mon, 30 Oct 2023 03:12:42 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232480AbjJ3KMg (ORCPT + 99 others); Mon, 30 Oct 2023 06:12:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36048 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232464AbjJ3KMf (ORCPT ); Mon, 30 Oct 2023 06:12:35 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8C488A65; Mon, 30 Oct 2023 03:12:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698660753; x=1730196753; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=7z2DxabdPBp6OSDf1FLw7CkIaI9qXRgDC3qvx+ROjjM=; b=lAiQ6hFOg00fU9r6o58k4Pa+VKl7SUecCpxahTivE0l1zjQoI+vvJdCN ZcdmfrMqON/S03RruzDoUvu20ArjHhszqPBmIJ0uLOY772qBZQ7dGzBs0 4tnEQ4044syn1sRoZ5Jh4+fEd73MBEA+yDxmoB/mZyPiKdDrGRQd+OR3t BI2s9QSKcu4b/LGCi0Rh377M7BfJ5P5zl1E6hiMHCznG5tXML7aVJtRA5 ni/QqZcrHRN37mguTAEB9PnkC3HD4EJn1UgyRPQlQ48e8Om5tHD0l4oB0 7UBqwK3P9m/pTSGOEUL+UKlhU4ByGfAqJ80unQJ7BubbGGBxJXl7WLeju A==; X-IronPort-AV: E=McAfee;i="6600,9927,10878"; a="378418140" X-IronPort-AV: E=Sophos;i="6.03,263,1694761200"; d="scan'208";a="378418140" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Oct 2023 03:12:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10878"; a="736695839" X-IronPort-AV: E=Sophos;i="6.03,263,1694761200"; d="scan'208";a="736695839" Received: from smile.fi.intel.com ([10.237.72.54]) by orsmga006.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Oct 2023 03:12:30 -0700 Received: from andy by smile.fi.intel.com with local (Exim 4.97-RC3) (envelope-from ) id 1qxPFz-00000009rLX-2VKR; Mon, 30 Oct 2023 12:12:27 +0200 Date: Mon, 30 Oct 2023 12:12:27 +0200 From: Andy Shevchenko To: Raag Jadav Cc: "Rafael J. Wysocki" , Mika Westerberg , len.brown@intel.com, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, mallikarjunappa.sangannavar@intel.com, bala.senthil@intel.com Subject: Re: [PATCH v2] ACPI: LPSS: use acpi_dev_uid_match() for matching _UID Message-ID: References: <20231026083335.12551-1-raag.jadav@intel.com> <20231027081855.GK3208943@black.fi.intel.com> <20231027142856.GL3208943@black.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS 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]); Mon, 30 Oct 2023 03:12:42 -0700 (PDT) On Sat, Oct 28, 2023 at 11:58:12AM +0300, Raag Jadav wrote: > On Fri, Oct 27, 2023 at 07:40:38PM +0200, Rafael J. Wysocki wrote: ... > We'd probably end up with an oops trying to strcmp into a random address > without knowing its type, so I think Mika's would be a better approach. > > #define acpi_dev_uid_match(adev, uid2) \ > ({ \ > const char *uid1 = acpi_device_uid(adev); \ > u64 __uid1; \ > \ > _Generic(uid2, \ > int: uid1 && !kstrtou64(uid1, 0, &__uid1) && (typeof(uid2))__uid1 == uid2, \ > const char *: uid1 && uid2 && !strcmp(uid1, (const char *)uid2), \ > default: false); \ > \ > }) > > This one I atleast got to compile, but I'm not very well versed with _Generic, > so this could definitely use some comments. If you go this way, make _Generic() use simple in the macro with a help of two additional functions (per type). Also you need to take care about uid2 type to be _any_ unsigned integer. Or if you want to complicate things, then you need to distinguish signed and unsigned cases. P.S. All to me it seems way too overengineered w/o any potential prospective user. -- With Best Regards, Andy Shevchenko