Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp29134403rwd; Wed, 5 Jul 2023 07:39:59 -0700 (PDT) X-Google-Smtp-Source: APBJJlFtGTeRHWa5heZMKHr9SXtRK/ehS6p8Px1yyl8tqQMzIN8zmNKnU6rmOs1EMwSMeJpXyPDA X-Received: by 2002:a92:d24a:0:b0:345:ffab:be65 with SMTP id v10-20020a92d24a000000b00345ffabbe65mr12296402ilg.8.1688567999239; Wed, 05 Jul 2023 07:39:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688567999; cv=none; d=google.com; s=arc-20160816; b=QzG8c1fTlaWkFauSOhSr3ZaNyszgyH5qAJRHFQWySlFYKK0Q6guT8PMAoDIh79PRjg 1m5yK590dWUFh8k+VOJKkI3tVS2lX1cEnGm/Mp6OhxuirBI/pRUkxzyszEl+4Mnx5cSF miwwpLSETRIs+m77501A8KY5SHXNcrs/46+0IdQi8+VJHvVv4BYficcjIgfHkLhEJLCM My2i7VjUIwZUMScfMc8RIHTngy5+N2sPMoeucsiP/SBnS0YzjzSIdULtNZIyyqbrDIr4 oTT2Eie3GKqTbcOogFtPDmpnEGsL1D0AhTA8YgWQiAhGQn232VZ4pzhiwUOydY/WKugC pB/g== 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 :message-id:date:subject:cc:to:from; bh=V4tUcugH0W7mbsDhi631edmQvHYreeGmLajf1181xQI=; fh=SuP74hXNUeXSKDbyiktRyGAybUUFTbQpVwmlk5yCyls=; b=tEodlqfZnQQ94TUjJ8Hc5HtfJhjUVZl4LBjWi0pXxeVK0fq/TeC1hC8XRl8lWbF2tj A+MFBuOMn8PHbWBTWkFdTO/7oXxE1FjweVGGpBooT45jqnbfuQmdsvTO+c4pEeJILidK PokQZEfuM3w+8bAqumR0j16u8TpA/AoduDqIAl4y/at/rA+mtRxC48STmCv4ZMaflMYF onBeF++QkwDf+5No9gfY/JL6MZQldUG4V9s1VUZolM6Nv4WHcIPAoEuAui7CHo9iIHES XB35+QN8/Qj55bYwtbAJv8fgyHinN/CIu1ucOw1mSP63swqUa0zLMTITqdfwZpTIRZxs 9m0Q== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k184-20020a6384c1000000b0055b66ce0387si11786439pgd.740.2023.07.05.07.39.45; Wed, 05 Jul 2023 07:39:59 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229730AbjGEO0Q (ORCPT + 99 others); Wed, 5 Jul 2023 10:26:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232602AbjGEO0A (ORCPT ); Wed, 5 Jul 2023 10:26:00 -0400 Received: from unicorn.mansr.com (unicorn.mansr.com [81.2.72.234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 128E12125; Wed, 5 Jul 2023 07:25:17 -0700 (PDT) Received: from raven.mansr.com (raven.mansr.com [81.2.72.235]) by unicorn.mansr.com (Postfix) with ESMTPS id 162AE15360; Wed, 5 Jul 2023 15:24:57 +0100 (BST) Received: by raven.mansr.com (Postfix, from userid 51770) id BFC15219FC1; Wed, 5 Jul 2023 15:24:56 +0100 (BST) From: Mans Rullgard To: Lee Jones , Daniel Thompson , Jingoo Han Cc: Helge Deller , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] backlight: led_bl: fix initial power state Date: Wed, 5 Jul 2023 15:24:14 +0100 Message-ID: <20230705142447.15546-1-mans@mansr.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE 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 The condition for the initial power state based on the default brightness value is reversed. Fix it. Furthermore, use the actual state of the LEDs rather than the default brightness specified in the devicetree as the latter should not cause the backlight to be automatically turned on. If the backlight device is not linked to any display, set the initial power to on unconditionally. Fixes: ae232e45acf9 ("backlight: add led-backlight driver") Signed-off-by: Mans Rullgard --- Changes in v3: - Add comment Changes in v2: - Use the reported LED state to set initial power state - Always power on if no phandle in DT --- drivers/video/backlight/led_bl.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/video/backlight/led_bl.c b/drivers/video/backlight/led_bl.c index 3259292fda76..c94843c00a30 100644 --- a/drivers/video/backlight/led_bl.c +++ b/drivers/video/backlight/led_bl.c @@ -176,6 +176,7 @@ static int led_bl_probe(struct platform_device *pdev) { struct backlight_properties props; struct led_bl_data *priv; + int init_brightness; int ret, i; priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); @@ -190,6 +191,8 @@ static int led_bl_probe(struct platform_device *pdev) if (ret) return ret; + init_brightness = priv->default_brightness; + ret = led_bl_parse_levels(&pdev->dev, priv); if (ret < 0) { dev_err(&pdev->dev, "Failed to parse DT data\n"); @@ -200,8 +203,11 @@ static int led_bl_probe(struct platform_device *pdev) props.type = BACKLIGHT_RAW; props.max_brightness = priv->max_brightness; props.brightness = priv->default_brightness; - props.power = (priv->default_brightness > 0) ? FB_BLANK_POWERDOWN : - FB_BLANK_UNBLANK; + + /* Set power on if LEDs already on or not linked to a display. */ + props.power = (init_brightness || !pdev->dev.of_node->phandle) ? + FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN; + priv->bl_dev = backlight_device_register(dev_name(&pdev->dev), &pdev->dev, priv, &led_bl_ops, &props); if (IS_ERR(priv->bl_dev)) { -- 2.41.0