Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2433142pxj; Mon, 10 May 2021 02:53:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2O6lgZ5qTTk1sum4HaOk0+Sqs6mvvjWJAWvdpz5TljXfLfM4YdEHDr9FdwAdr4GnhCfwC X-Received: by 2002:a17:906:851a:: with SMTP id i26mr24858968ejx.148.1620640389060; Mon, 10 May 2021 02:53:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620640389; cv=none; d=google.com; s=arc-20160816; b=Hhid0cGu0o5EXfhTVWhpl3pqJAGygPnkpxoSz5YtTrTvt13dzDLqa9hQ58fF4tzRjE tWwNy/vh9GSHmpljRyLjsA1/bZ8I+pEBiDA3ItVmx1DSFqk1jcJs/cqPgb8jPwbmT/n7 9EwHtcRyIMYaKi4lc85/j4sDQyz041bvFeif7MArFxAbr1q3M/JFByBbxmFTLj1IMpgq scquFkFa4j1p88dmPFAD2VuFld2xKcRrxSm6E4OO1jLEaoAHKfZM9F0+RDrbn67rkJDF KBro9arRIDPIIl+NZ8W+3VmtzE2JNDg+V5Laf3qVTwJyUs3F3drWAS6pguIybrS6w/Lo Mg6w== 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; bh=33/3J2jigM4i2aIJp8KdZtzi3yt07OKYRBtHl+HRCww=; b=kzSz6xJMypgnKe4+VguzQ5LMsmTyYZl3ATV2q6SCyRYcxVZJERit/VsI3MGhVOnrJ1 2FXyAzbVbInicEfi0NaLDhdmx8VcRQN3QzuD6m/IUNQEJWaFqgWkbdTzh664HyJRVsAF CA6+q6pulODUXLukDBjtDKgWaxM75v3gdF8AO7bgHttxzalGVZAy96ZcJVz7zLNq9GTP UQqIAeejoZC4MZIDyEYSF2X52CbuND7kfaJL0YXxoNf1MBLBlTh4KvK/YzJR6yHuk9IS fRS6sbPZK0keUV8o2j8jzv3Z7Xcnd4vGCFBmO9EHrR9vA645L881Cmmbmqs0KoRWDsk2 1U5Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a25si10851336ejs.373.2021.05.10.02.52.45; Mon, 10 May 2021 02:53:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231140AbhEJJwk (ORCPT + 99 others); Mon, 10 May 2021 05:52:40 -0400 Received: from fgw21-7.mail.saunalahti.fi ([62.142.5.82]:42415 "EHLO fgw21-7.mail.saunalahti.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230487AbhEJJwO (ORCPT ); Mon, 10 May 2021 05:52:14 -0400 Received: from localhost (88-115-248-186.elisa-laajakaista.fi [88.115.248.186]) by fgw21.mail.saunalahti.fi (Halon) with ESMTP id 3b98e3ef-b175-11eb-9eb8-005056bdd08f; Mon, 10 May 2021 12:51:03 +0300 (EEST) From: Andy Shevchenko To: Pavel Machek , Andy Shevchenko , Amireddy Mallikarjuna reddy , Linus Walleij , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Abanoub Sameh , Dan Murphy , Krzysztof Kozlowski , linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Andy Shevchenko Subject: [PATCH v1 06/28] leds: el15203000: Introduce to_el15203000_led() helper Date: Mon, 10 May 2021 12:50:23 +0300 Message-Id: <20210510095045.3299382-7-andy.shevchenko@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510095045.3299382-1-andy.shevchenko@gmail.com> References: <20210510095045.3299382-1-andy.shevchenko@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduce a helper to replace open coded container_of() calls. At the same time move ldev member to be first in the struct el15203000_led, that makes container_of() effectivelly a no-op. Signed-off-by: Andy Shevchenko --- drivers/leds/leds-el15203000.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/drivers/leds/leds-el15203000.c b/drivers/leds/leds-el15203000.c index fcb90d7cd42f..e81a93d57210 100644 --- a/drivers/leds/leds-el15203000.c +++ b/drivers/leds/leds-el15203000.c @@ -69,8 +69,8 @@ enum el15203000_command { }; struct el15203000_led { - struct el15203000 *priv; struct led_classdev ldev; + struct el15203000 *priv; u32 reg; }; @@ -83,6 +83,8 @@ struct el15203000 { struct el15203000_led leds[]; }; +#define to_el15203000_led(d) container_of(d, struct el15203000_led, ldev) + static int el15203000_cmd(struct el15203000_led *led, u8 brightness) { int ret; @@ -124,9 +126,7 @@ static int el15203000_cmd(struct el15203000_led *led, u8 brightness) static int el15203000_set_blocking(struct led_classdev *ldev, enum led_brightness brightness) { - struct el15203000_led *led = container_of(ldev, - struct el15203000_led, - ldev); + struct el15203000_led *led = to_el15203000_led(ldev); return el15203000_cmd(led, brightness == LED_OFF ? EL_OFF : EL_ON); } @@ -135,9 +135,7 @@ static int el15203000_pattern_set_S(struct led_classdev *ldev, struct led_pattern *pattern, u32 len, int repeat) { - struct el15203000_led *led = container_of(ldev, - struct el15203000_led, - ldev); + struct el15203000_led *led = to_el15203000_led(ldev); if (repeat > 0 || len != 2 || pattern[0].delta_t != 4000 || pattern[0].brightness != 0 || @@ -188,10 +186,8 @@ static int el15203000_pattern_set_P(struct led_classdev *ldev, struct led_pattern *pattern, u32 len, int repeat) { + struct el15203000_led *led = to_el15203000_led(ldev); u8 cmd; - struct el15203000_led *led = container_of(ldev, - struct el15203000_led, - ldev); if (repeat > 0) return -EINVAL; @@ -228,9 +224,7 @@ static int el15203000_pattern_set_P(struct led_classdev *ldev, static int el15203000_pattern_clear(struct led_classdev *ldev) { - struct el15203000_led *led = container_of(ldev, - struct el15203000_led, - ldev); + struct el15203000_led *led = to_el15203000_led(ldev); return el15203000_cmd(led, EL_OFF); } -- 2.31.1