Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp5870307rwb; Mon, 5 Dec 2022 05:19:50 -0800 (PST) X-Google-Smtp-Source: AA0mqf4OZ+9UoIy5PDsEt0lskk4c63V7e8bmgrULnbPLKNQDuQzZgc2EkD5tKfG8cOV9wvkKrII1 X-Received: by 2002:a17:906:6dd5:b0:78d:a633:b55 with SMTP id j21-20020a1709066dd500b0078da6330b55mr72783281ejt.106.1670246390179; Mon, 05 Dec 2022 05:19:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670246390; cv=none; d=google.com; s=arc-20160816; b=NXOiL/3qqsu31ovtwq+HNskLKlkrLkzPJA+ZQPMt/8RnpDGHg56oijOzNva7Tin15R MP67+V3msGGN4rmAHSqXY6hsuveUyW5l4pfS3FzgEq0o14gVUVnlj2owADnfh2GmuKwy aaYCPJMW2faBpPHDRIcArgb9AfiNvGtJw0upn1WG0+XicrW5PLgLqlt7oV8ZfvJn28BO tmsSLkf3dVWI6Wu5PWNU4m+WPuvcRDzqaGUkeZpG57JZxCnOczskX4wUDxm3HYEkls/c M5diGyype2D05ApokmCeSySQc8CcP45Iy/1iB6L9dQ3hBfXsZQ5KO5WMmFay7xA4Hmk9 0+bg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9ApZpJzblOY21UYiCj1dJlrMShRcazK3tZ315eLlOng=; b=WhSioOu2SsD/HxQ4yHgQy/zWk618i16M8JhtEYHjD3DqQtgWYkSVMez3j63eDKafY1 JOGUYJWQL8sfxVLSivrA65TL3G3CdI2bfgJN6SfLq2MaI8M3AHFPDkhUNyRhbZnnppgx Ete+EyRWdqyhdZLPKOlGsRQSKl8IZ9AYEE3j3fJqEDZB1+G0f1AU6MOv/OF9TMb7EW26 h7svKGWpY4p+XJXvGbRSFJNQvGeZvfIbFtfGx2CuYZHNiOy0zs9+XDBfRsQLnwiuAiqz MgMJxMdT2kFNX1WFAdyoW5bntFSxKGe5JaGlmnxJcCaS0YLnR6IqPEUNGyHH7KM+1QAh gGAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LE2UwKAT; 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 gs8-20020a1709072d0800b007ae2368c8a8si13504359ejc.109.2022.12.05.05.19.30; Mon, 05 Dec 2022 05:19:50 -0800 (PST) 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=LE2UwKAT; 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 S231564AbiLEMMR (ORCPT + 82 others); Mon, 5 Dec 2022 07:12:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230243AbiLEMMQ (ORCPT ); Mon, 5 Dec 2022 07:12:16 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48ECB63A0 for ; Mon, 5 Dec 2022 04:12:15 -0800 (PST) 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 dfw.source.kernel.org (Postfix) with ESMTPS id D926861033 for ; Mon, 5 Dec 2022 12:12:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1F0CC433B5; Mon, 5 Dec 2022 12:12:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1670242334; bh=Zfzn7t/aoLl1bnoeeef2orf49auREGHo/fAXlzjp3fE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LE2UwKATTCTKngMKl28GW95O3hhK7O8/wg87DUl8PrvwJodYpoH/vZzrhuTCY62kU 9aLcccALdPnOm9o3cNxAFF7ldsTnJtYRD0feSVrTR0x7wjqiSOoGNA69RG5Bq2z9er Vmy+MKImTcMUwtkWf1zQTrSfQCGtcOrVjmLKajAY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , Thomas Gleixner , "Rafael J. Wysocki" , Jason Gunthorpe Subject: [PATCH v2 2/4] device.h: move kobj_to_dev() to use container_of_const() Date: Mon, 5 Dec 2022 13:12:04 +0100 Message-Id: <20221205121206.166576-2-gregkh@linuxfoundation.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221205121206.166576-1-gregkh@linuxfoundation.org> References: <20221205121206.166576-1-gregkh@linuxfoundation.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1718; i=gregkh@linuxfoundation.org; h=from:subject; bh=Zfzn7t/aoLl1bnoeeef2orf49auREGHo/fAXlzjp3fE=; b=owGbwMvMwCRo6H6F97bub03G02pJDMm9D0SnT/oy535sY9iJtwVZ/CdLTH/3R9hk7Mibwn1lU1Db vwNqHbEsDIJMDLJiiixftvEc3V9xSNHL0PY0zBxWJpAhDFycAjCRuGCGeeZ2B1cZTPVLvZ/S9v9Qdc oRadliMYb5JbJPCxPnKwkxbJn4K6tZfoP61z0JAA== X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 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 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 Instead of rolling our own const-checking logic, use the newly introduced container_of_const() to handle it all for us automatically. Cc: Greg Kroah-Hartman Cc: Thomas Gleixner Cc: "Rafael J. Wysocki" Reviewed-by: Jason Gunthorpe Signed-off-by: Greg Kroah-Hartman --- v2: - respin with changed container_of_const() parameters include/linux/device.h | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/include/linux/device.h b/include/linux/device.h index 84ae52de6746..8d172d06b8c1 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -680,26 +680,7 @@ struct device_link { bool supplier_preactivated; /* Owned by consumer probe. */ }; -static inline struct device *__kobj_to_dev(struct kobject *kobj) -{ - return container_of(kobj, struct device, kobj); -} - -static inline const struct device *__kobj_to_dev_const(const struct kobject *kobj) -{ - return container_of(kobj, const struct device, kobj); -} - -/* - * container_of() will happily take a const * and spit back a non-const * as it - * is just doing pointer math. But we want to be a bit more careful in the - * driver code, so manually force any const * of a kobject to also be a const * - * to a device. - */ -#define kobj_to_dev(kobj) \ - _Generic((kobj), \ - const struct kobject *: __kobj_to_dev_const, \ - struct kobject *: __kobj_to_dev)(kobj) +#define kobj_to_dev(__kobj) container_of_const(__kobj, struct device, kobj) /** * device_iommu_mapped - Returns true when the device DMA is translated -- 2.38.1