Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1347614rwb; Tue, 29 Nov 2022 12:16:28 -0800 (PST) X-Google-Smtp-Source: AA0mqf7TeZnol7hMNfI64FTHaILGFWQahMVCKQylK5hrfkri2hWG+GPw8Kt1zf4fDPsJZ8WzFSwy X-Received: by 2002:a17:906:2594:b0:7c0:8d06:33f8 with SMTP id m20-20020a170906259400b007c08d0633f8mr3086662ejb.150.1669752988730; Tue, 29 Nov 2022 12:16:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669752988; cv=none; d=google.com; s=arc-20160816; b=qmoFBdz5uDICMvJ4fIWVZOHOp3Up69NWiW4PHuIosAHGI2Nd9suVAvRM+Offy7/9t8 Hhh5jqxgpVYj6zu6iT3CrCKT+lHil47mF/38mZxAYxXSsPquvjhp56l/0t+ZzkoCDBmV bfkTEiHc0rZqnVh4N3FAAD69Ay4viLpQU/w5/1NoyH3NojDndc6wP7/JxpbUE/CICbwo pH9BK4xL1RHL3juaKUlz6qG0xYv/CASbjy+U1w/mV993nfGn+GhG5RkxBnNuunBvEwaM TyTfJTTb+Uj3rmmdwVL5BKEZtN7hp4pmyt7jnjE+9r7WEIrUcDuNpCQk3psOzrq7Qkyw BpRg== 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=CbEZV4tvungVS/R5pnLuGxBqGOyhQiXlyZ0TAaMEb/g=; b=yK8OuSrclzcqui0HMaH6sdRq6w8jf5zOWh/TaFJcrMn9QcbqJP96TfrtNSNb7T5zPg kYI/iTqiGWeq8C6pfrgQVxaZuR/lqljm8g5g5xOd8PJNaljYWG4WEjN22D8Ng4WkFV/8 0ad52rKo+BSxBKARwxuIfW17g5NdMb+jx0pbqxSfVB7u/Don0EcQVi7ooPBlU7nqsFeJ Rea6rL0bY4aSC14reCYXmMJp3sE6lpSOWsOs39vdubKQeHRcvx33AXITioh/BUHRSvXL 1v56w83GS7IDSfQFy8qvm45pmL810A8HZDB0Tm8ePDt3HhJNmwe3Vc7yyLXuk01BR2p3 poxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@crapouillou.net header.s=mail header.b=lRSFeEuk; 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=crapouillou.net Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v14-20020a056402348e00b0046ba3001425si799558edc.60.2022.11.29.12.16.06; Tue, 29 Nov 2022 12:16:28 -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=@crapouillou.net header.s=mail header.b=lRSFeEuk; 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=crapouillou.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236805AbiK2TUb (ORCPT + 84 others); Tue, 29 Nov 2022 14:20:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57314 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236755AbiK2TTv (ORCPT ); Tue, 29 Nov 2022 14:19:51 -0500 Received: from aposti.net (aposti.net [89.234.176.197]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 629C960E97 for ; Tue, 29 Nov 2022 11:19:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=crapouillou.net; s=mail; t=1669749484; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CbEZV4tvungVS/R5pnLuGxBqGOyhQiXlyZ0TAaMEb/g=; b=lRSFeEuklmLu81BsvxiRL0v2ePxdk46AQSaMnth9OmVUEHy0AZNDdO9+yAB6fzDp7XYTtp V+tvQIiDK/4wz24N88q9OUE1wzc6PbiVYxWKmr/4E0Gygj5wMPIRa7x84CCVBxYBHji3Eb scteic9ntiqu/B0Jmv+koPQWFwLQKR8= From: Paul Cercueil To: David Airlie , Daniel Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Paul Cercueil , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 10/26] drm: imx/dcss: Remove #ifdef guards for PM related functions Date: Tue, 29 Nov 2022 19:17:17 +0000 Message-Id: <20221129191733.137897-11-paul@crapouillou.net> In-Reply-To: <20221129191733.137897-1-paul@crapouillou.net> References: <20221129191733.137897-1-paul@crapouillou.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,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 Use the EXPORT_GPL_DEV_PM_OPS() and pm_ptr() macros to handle the PM callbacks. These macros allow the PM functions to be automatically dropped by the compiler when CONFIG_PM is disabled, without having to use #ifdef guards. This has the advantage of always compiling these functions in, independently of any Kconfig option. Thanks to that, bugs and other regressions are subsequently easier to catch. Signed-off-by: Paul Cercueil Reviewed-by: Laurentiu Palcu Tested-by: Laurentiu Palcu --- Cc: Laurentiu Palcu Cc: Lucas Stach Cc: Philipp Zabel Cc: Shawn Guo Cc: Sascha Hauer Cc: Pengutronix Kernel Team Cc: Fabio Estevam Cc: NXP Linux Team Cc: linux-arm-kernel@lists.infradead.org --- drivers/gpu/drm/imx/dcss/dcss-dev.c | 17 +++++++++-------- drivers/gpu/drm/imx/dcss/dcss-dev.h | 7 +++---- drivers/gpu/drm/imx/dcss/dcss-drv.c | 8 +------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/imx/dcss/dcss-dev.c b/drivers/gpu/drm/imx/dcss/dcss-dev.c index 3f5750cc2673..66d9233ffb98 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-dev.c +++ b/drivers/gpu/drm/imx/dcss/dcss-dev.c @@ -249,8 +249,7 @@ void dcss_dev_destroy(struct dcss_dev *dcss) kfree(dcss); } -#ifdef CONFIG_PM_SLEEP -int dcss_dev_suspend(struct device *dev) +static int dcss_dev_suspend(struct device *dev) { struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); struct drm_device *ddev = dcss_drv_dev_to_drm(dev); @@ -273,7 +272,7 @@ int dcss_dev_suspend(struct device *dev) return 0; } -int dcss_dev_resume(struct device *dev) +static int dcss_dev_resume(struct device *dev) { struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); struct drm_device *ddev = dcss_drv_dev_to_drm(dev); @@ -296,10 +295,8 @@ int dcss_dev_resume(struct device *dev) return 0; } -#endif /* CONFIG_PM_SLEEP */ -#ifdef CONFIG_PM -int dcss_dev_runtime_suspend(struct device *dev) +static int dcss_dev_runtime_suspend(struct device *dev) { struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); int ret; @@ -313,7 +310,7 @@ int dcss_dev_runtime_suspend(struct device *dev) return 0; } -int dcss_dev_runtime_resume(struct device *dev) +static int dcss_dev_runtime_resume(struct device *dev) { struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); @@ -325,4 +322,8 @@ int dcss_dev_runtime_resume(struct device *dev) return 0; } -#endif /* CONFIG_PM */ + +EXPORT_GPL_DEV_PM_OPS(dcss_dev_pm_ops) = { + RUNTIME_PM_OPS(dcss_dev_runtime_suspend, dcss_dev_runtime_resume, NULL) + SYSTEM_SLEEP_PM_OPS(dcss_dev_suspend, dcss_dev_resume) +}; diff --git a/drivers/gpu/drm/imx/dcss/dcss-dev.h b/drivers/gpu/drm/imx/dcss/dcss-dev.h index 1e582270c6ea..f27b87c09599 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-dev.h +++ b/drivers/gpu/drm/imx/dcss/dcss-dev.h @@ -9,6 +9,7 @@ #include #include #include +#include #include