From patchwork Wed Mar 2 15:58:56 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 8483201 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 504BEC0553 for ; Wed, 2 Mar 2016 16:04:30 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 647622037C for ; Wed, 2 Mar 2016 16:04:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BF7CC20364 for ; Wed, 2 Mar 2016 16:04:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754702AbcCBQDF (ORCPT ); Wed, 2 Mar 2016 11:03:05 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:55028 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756084AbcCBQAr (ORCPT ); Wed, 2 Mar 2016 11:00:47 -0500 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue103) with ESMTPA (Nemesis) id 0LfY1R-1a8S8C1q3t-00p3Hk; Wed, 02 Mar 2016 16:59:49 +0100 From: Arnd Bergmann To: Sebastian Reichel , Dmitry Eremin-Solenikov , David Woodhouse Cc: linux-arm-kernel@lists.infradead.org, Arnd Bergmann , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/14] power: pm2301-charger: use __maybe_unused to hide pm functions Date: Wed, 2 Mar 2016 16:58:56 +0100 Message-Id: <1456934350-1389172-5-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1456934350-1389172-1-git-send-email-arnd@arndb.de> References: <1456934350-1389172-1-git-send-email-arnd@arndb.de> X-Provags-ID: V03:K0:q/d50msHGWJEWOZCac4D+fMZLdV8699O5nrUVplAk9/qG/slgdt pGmXs+owt35nTgpYw/VXH0sbw+yvvqXHhB7rRLDITnpxEf3ua8ilHwpVldTW51eTmgkofMk aGHKeCgvcy+Btcam9WgF15l/prs91k9K+xg8BcHnXGjKRGFy5tDIi/1Heto/sA12SBmZQWT cjoawuJ5rUjQtUSGPDD+A== X-UI-Out-Filterresults: notjunk:1; V01:K0:l0AX95QIZ40=:B7/uKtRPpQXlg0l2etBh0Y tICaPtl88chp2DZJhkIxthJRKoET2G2+nDdjcer9qCh3lVn557evO2gCc/7zgIDzcKb2ex15F eY3R1ui//W5foou1aW6TrayJJrSzm0siaHkteMXR4ya2wUc/m3b3CZ/ipKlxA93+cEa2qjbVz eP54pkyrxrcxzj9CgF9i8OBC79SUeioC5VAIvqprr+g4Q1vj1mkFFxLM6AnVO1OaGL50VvdUb /smNQnNLOs8uJXNcXkPRXk44Iv+ct82LGcrMbFtioxkoAp5z31Ixw9Glqxmm4h19a8XltX15z Y3ymIuaQHawGfQWGVlZIW2de/b7B/ITNELpc2TE/TMDLb2VwrZ6hngOE9HnyM2S7lAjspJiyh DjHNd4y/TDq9WGbmQduKyIe5Hyvdxgj2oF8NEJb211Syk4SpI+rE0MyrflONG98XlujobwvRT og+bf09e+XeoxvwRhIFtbL6/q67Ankilc85FMPRB94ZGSgOhdsbUi1R9hPykD1KSG09hBHvkG B8MfjN7tbJxjXv+CYceJdss2TBZu81pHPLi6zLSJIhqahsNnwoFoq81HDv9SEmG9K0LEjd+NI UhITfrKp9TyKHToS2lVGSC/sGk6N21ak16unApo/nqSQM5HO3K4YGC8VYd2v07ZR3WNZJJouM /0lQds3Mum/JfHYxp4jisGzO+hyhKMdEhF+bz5gR29u4Ch3pSFC6qzGXq3OB+6BUVrCo= Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The pm2301 charger driver uses nested #ifdefs to check for both CONFIG_PM and CONFIG_PM_SLEEP in an attempt to hide its suspend and runtime-pm operations when they are unused, but it does not hide the clear_lpn_pin() function in the same way, so we get a build warning when everything is disabled: drivers/power/pm2301_charger.c:123:13: error: 'clear_lpn_pin' defined but not used [-Werror=unused-function] This removes all the #ifdef and instead uses __maybe_unused annotations to let the compiler know it can silently drop the function definition. For the PM2XXX_PM_OPS, we can use an IS_ENABLED() check to avoid defining the structure when CONFIG_PM is not set without the #ifdef. Signed-off-by: Arnd Bergmann --- drivers/power/pm2301_charger.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/drivers/power/pm2301_charger.c b/drivers/power/pm2301_charger.c index 8f9bd1d0eeb6..fb62ed3fc38c 100644 --- a/drivers/power/pm2301_charger.c +++ b/drivers/power/pm2301_charger.c @@ -911,11 +911,7 @@ static struct pm2xxx_irq pm2xxx_charger_irq[] = { {"PM2XXX_IRQ_INT", pm2xxx_irq_int}, }; -#ifdef CONFIG_PM - -#ifdef CONFIG_PM_SLEEP - -static int pm2xxx_wall_charger_resume(struct device *dev) +static int __maybe_unused pm2xxx_wall_charger_resume(struct device *dev) { struct i2c_client *i2c_client = to_i2c_client(dev); struct pm2xxx_charger *pm2; @@ -931,7 +927,7 @@ static int pm2xxx_wall_charger_resume(struct device *dev) return 0; } -static int pm2xxx_wall_charger_suspend(struct device *dev) +static int __maybe_unused pm2xxx_wall_charger_suspend(struct device *dev) { struct i2c_client *i2c_client = to_i2c_client(dev); struct pm2xxx_charger *pm2; @@ -949,9 +945,7 @@ static int pm2xxx_wall_charger_suspend(struct device *dev) return 0; } -#endif - -static int pm2xxx_runtime_suspend(struct device *dev) +static int __maybe_unused pm2xxx_runtime_suspend(struct device *dev) { struct i2c_client *pm2xxx_i2c_client = to_i2c_client(dev); struct pm2xxx_charger *pm2; @@ -962,7 +956,7 @@ static int pm2xxx_runtime_suspend(struct device *dev) return 0; } -static int pm2xxx_runtime_resume(struct device *dev) +static int __maybe_unused pm2xxx_runtime_resume(struct device *dev) { struct i2c_client *pm2xxx_i2c_client = to_i2c_client(dev); struct pm2xxx_charger *pm2; @@ -975,15 +969,11 @@ static int pm2xxx_runtime_resume(struct device *dev) return 0; } -static const struct dev_pm_ops pm2xxx_pm_ops = { +static const struct dev_pm_ops pm2xxx_pm_ops __maybe_unused = { SET_SYSTEM_SLEEP_PM_OPS(pm2xxx_wall_charger_suspend, pm2xxx_wall_charger_resume) SET_RUNTIME_PM_OPS(pm2xxx_runtime_suspend, pm2xxx_runtime_resume, NULL) }; -#define PM2XXX_PM_OPS (&pm2xxx_pm_ops) -#else -#define PM2XXX_PM_OPS NULL -#endif static int pm2xxx_wall_charger_probe(struct i2c_client *i2c_client, const struct i2c_device_id *id) @@ -1244,7 +1234,7 @@ static struct i2c_driver pm2xxx_charger_driver = { .remove = pm2xxx_wall_charger_remove, .driver = { .name = "pm2xxx-wall_charger", - .pm = PM2XXX_PM_OPS, + .pm = IS_ENABLED(CONFIG_PM) ? &pm2xxx_pm_ops : NULL, }, .id_table = pm2xxx_id, };