From patchwork Sat Sep 19 22:15:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Marek_Beh=C3=BAn?= X-Patchwork-Id: 255368 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.9 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3256CC43478 for ; Sat, 19 Sep 2020 22:15:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EA5C12084C for ; Sat, 19 Sep 2020 22:15:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nic.cz header.i=@nic.cz header.b="pS5OnIlL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726753AbgISWPy (ORCPT ); Sat, 19 Sep 2020 18:15:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726740AbgISWPy (ORCPT ); Sat, 19 Sep 2020 18:15:54 -0400 Received: from mail.nic.cz (lists.nic.cz [IPv6:2001:1488:800:400::400]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 53518C0613CF for ; Sat, 19 Sep 2020 15:15:54 -0700 (PDT) Received: from dellmb.labs.office.nic.cz (unknown [IPv6:2001:1488:fffe:6:cac7:3539:7f1f:463]) by mail.nic.cz (Postfix) with ESMTP id D54D9140A98; Sun, 20 Sep 2020 00:15:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1600553752; bh=l5EZnvD0y3TF1B58/iFHlosNxgMfoWrFOqjt3P7RTFQ=; h=From:To:Date; b=pS5OnIlLoySwCSvP59eGRB0VIuuFRZILAb6UOAzAVdDG/33MqCZlw2qSqaGVkbsgH Gl4ovi5CoF8JBBWmnlSpHp8fBVr9RMz8i+98e10b4BDoHvRP15iGsG9CvOYtYXG1nL su2uwyeFvnr3IFr2I3gPtVZjZ2UsvcWuzRycrBrs= From: =?utf-8?q?Marek_Beh=C3=BAn?= To: linux-leds@vger.kernel.org Cc: Pavel Machek , Dan Murphy , =?utf-8?q?Ma?= =?utf-8?q?rek_Beh=C3=BAn?= , NeilBrown , Linus Walleij , "H . Nikolaus Schaller" Subject: [PATCH leds + devicetree 12/13] leds: tca6507: set registers to zero before LEDs/GPIOs registration Date: Sun, 20 Sep 2020 00:15:47 +0200 Message-Id: <20200919221548.29984-13-marek.behun@nic.cz> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200919221548.29984-1-marek.behun@nic.cz> References: <20200919221548.29984-1-marek.behun@nic.cz> MIME-Version: 1.0 X-Spamd-Bar: / X-Virus-Scanned: clamav-milter 0.102.2 at mail X-Virus-Status: Clean Precedence: bulk List-ID: X-Mailing-List: linux-leds@vger.kernel.org The LED registering functions can internally call brightness changes. If we zero the registers only after LEDs are registered, then the values set by registration code are lost. Therefore set chip's registers to zero before registering LEDs/GPIOs. Signed-off-by: Marek BehĂșn Cc: NeilBrown Cc: Linus Walleij Cc: H. Nikolaus Schaller --- drivers/leds/leds-tca6507.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/leds/leds-tca6507.c b/drivers/leds/leds-tca6507.c index e32e628f2e460..ad4af6b6e94c7 100644 --- a/drivers/leds/leds-tca6507.c +++ b/drivers/leds/leds-tca6507.c @@ -732,14 +732,14 @@ static int tca6507_probe(struct i2c_client *client, spin_lock_init(&tca->lock); i2c_set_clientdata(client, tca); + /* set all registers to known state - zero */ + tca->reg_set = 0x7f; + tca6507_work(&tca->work); + err = tca6507_register_leds_and_gpios(dev, tca); if (err) return err; - /* set all registers to known state - zero */ - tca->reg_set = 0x7f; - schedule_work(&tca->work); - return 0; }