Received: by 2002:a05:6512:2355:0:0:0:0 with SMTP id p21csp205802lfu; Wed, 30 Mar 2022 20:55:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwxgJKyKCefglncpGExjbOC4HnPSAAldA9Xa2X8PNL03Wq1p1EXs+Q8LnusfO4tSaeL7Al1 X-Received: by 2002:a63:7702:0:b0:382:24f1:b70f with SMTP id s2-20020a637702000000b0038224f1b70fmr8908300pgc.144.1648698921543; Wed, 30 Mar 2022 20:55:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648698921; cv=none; d=google.com; s=arc-20160816; b=vjASHmrzbcOYwYMOR2+bN6Cy+xEyECwBnj08cceV8miHA7ODjitW3ugAbsRgh1voar hKCQg2jAxgiJkiJydStmw2Fy3Pn3ySnppDzZAhytIC4ZgpnAqESjQ0I53jsE3P6bbhm9 /PIcGcHbiNsC6T6TMtUtnAM4UaPRpuRyYsYme+bjXAg0RkHpJHnx0KsS0a8oIblroEkZ j8Zryo03ue0IkM0jakiQ98Nf1PwBt1w6ymkH4Q6MFgXVyrFNBLBqPDQFY1LZom7PukZg MoRc38gB8zyI60+ENUo3t2kAgcyBLxReYp1R1rXOGkK/BYGf0KMs7AvclX8avGKCHTnv SGxw== 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=S5Xr/+A+9DZoWIfSpuQs3qtL0ru3AVsUPP4NG1N8m/A=; b=fzh6rd148xcTTwvIHAF7NdFeKOiqaeLZ0HdjwNGe5KhcpP77jOJEvJp9NMO1WtcEq/ xkala6t8YaxWEUpxgmdyEUNWvhlQvtvxQlVW0AOFK0qQnNklcUdSEPAvpg7CWjkLSz8V Ype4ytts9QxGHgX42C432gQtbNk1rXRs+upDpEH3lxo6F7bjJyxIR9/Id9u6NPqNS+xW V7cYfT+otbXR482wqHNXlOafd3cQCbnosIwmeHnQqoQsGCD1zK4IyvIbhynTcFbC/v5v sMyQGmYAFmy+oiIWX9u9xtI2XGdwrr3AYD+3OYDqqMJwBOzFzDKBBeqN4Po5nD3TDKPX 60YQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@protonic.nl header.s=202111 header.b=mXoeRDue; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id m24-20020a638c18000000b003816043ee90si21748131pgd.133.2022.03.30.20.55.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Mar 2022 20:55:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@protonic.nl header.s=202111 header.b=mXoeRDue; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D8D29162195; Wed, 30 Mar 2022 20:07:24 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244002AbiC3Hxf (ORCPT + 99 others); Wed, 30 Mar 2022 03:53:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35192 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243970AbiC3HxY (ORCPT ); Wed, 30 Mar 2022 03:53:24 -0400 Received: from smtp15.bhosted.nl (smtp15.bhosted.nl [IPv6:2a02:9e0:8000::26]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56154CF6 for ; Wed, 30 Mar 2022 00:51:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonic.nl; s=202111; h=content-transfer-encoding:mime-version:references:in-reply-to:message-id:date: subject:cc:to:from:from; bh=S5Xr/+A+9DZoWIfSpuQs3qtL0ru3AVsUPP4NG1N8m/A=; b=mXoeRDuefGRCYjdSTUs57UnQARsMi+Oh/NK31QtBmITDl8C/y1FjMkziSdEf0dLt98dLnNs124nqT u+7w0gSGvKv3aMs7ZYT8O0msTck7nj3G1QvuoK90wQ+ZYbOR+i82BaEA1AyGfkbuZx3XDNbROPS/Mv 8ZDzav316xKcHocUv08bzWiFcI1yZcDzPa8G5uWui06UV/bYlFhfqp8ZB5hULnUN8K21aIqQDaHYv5 4TGiwV8qIgSNRSgqpGCvWFOfMoZDDgRmBJVWFIESkgPab6NMYvXMz+swpqWRT4QkJhTDeUnh1JljV3 evxMD0fpGMDGyOzvEsLnaw96unP0ryA== X-MSG-ID: f3f28322-affb-11ec-b450-0050569d3a82 From: David Jander To: Robin van der Gracht , Miguel Ojeda Cc: Rob Herring , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, David Jander Subject: [PATCH 1/2] drivers: auxdisplay: ht16k33.c: Add option to refuse claiming primary fb Date: Wed, 30 Mar 2022 09:34:39 +0200 Message-Id: <20220330073440.3986724-2-david@protonic.nl> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220330073440.3986724-1-david@protonic.nl> References: <20220330073440.3986724-1-david@protonic.nl> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 In the case there is also a display with a frame-buffer device, the probe order of the auxdisplay fb and the main fb is not predictable, possibly leading to the situation where the holtek auxdisplay becomes /dev/fb0. This is problematic because there is currently no way to automatically rename these devices, and too much user-space software that assumes fb0 to be the main display. In such a situation, adding "holtek,refuse-primary-fb" to the DT, the auxdisplay driver returns -EPROBE_DEFER to wait for the primary fb device to get probed first. Signed-off-by: David Jander --- drivers/auxdisplay/ht16k33.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c index 4fab3b2c7023..e8e0c644f2e4 100644 --- a/drivers/auxdisplay/ht16k33.c +++ b/drivers/auxdisplay/ht16k33.c @@ -581,12 +581,20 @@ static int ht16k33_keypad_probe(struct i2c_client *client, return input_register_device(keypad->dev); } +extern int num_registered_fb; + static int ht16k33_fbdev_probe(struct device *dev, struct ht16k33_priv *priv, uint32_t brightness) { struct ht16k33_fbdev *fbdev = &priv->fbdev; struct backlight_device *bl = NULL; int err; + bool not_primary; + + not_primary = device_property_read_bool(dev, "holtek,refuse-primary-fb"); + + if (!num_registered_fb && not_primary) + return -EPROBE_DEFER; if (priv->led.dev) { err = ht16k33_brightness_set(priv, brightness); -- 2.32.0