Received: by 2002:ab2:7b86:0:b0:1f7:5705:b850 with SMTP id q6csp43034lqh; Fri, 3 May 2024 12:45:54 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUlbtYiTOvyc2sw+el9CijLlftsB0fRp5nD3DPzoGCzERl3hIvXvJpD2lg/Cp/7TbdIeo8NCHNrJDnObpuyG7uSxiqmAkkKGM8xUR6vFA== X-Google-Smtp-Source: AGHT+IGUo3g5GbTNkZeo5QNzM6KiCWs5r0Nn0DTxSUR2NRskKSN7+XhB4nS2AaiqJspBiqKt7cK9 X-Received: by 2002:a05:6a20:e687:b0:1af:8103:f57b with SMTP id mz7-20020a056a20e68700b001af8103f57bmr4094452pzb.11.1714765554191; Fri, 03 May 2024 12:45:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714765554; cv=pass; d=google.com; s=arc-20160816; b=jCWRn/7evORxqnXr9r1X7cRa3+/HF/hqkKw9Tu6hTt3ygR82jZYB7JYX3p6R7zQ1c4 HEP4lh0jRBNJwjS7LOVSaz3esFvbQffXf+t8gazYF3j/jb5dsm3zo0Dud2QaW3xwW+22 3CiPFxknZbsvepEdO4NafEHoQowxRb74EP0zb+xTCs1W9qykKdpA3Sqo7UOBc5PLBvZH TH45VYWmxUh6vdPpLKzqZXGNnBB7rFYzUdb4VwOmaQ0kvaKGkvMY4RSV1XHxTSPMRxon lLxQoeGSt63WlFzad5n1loUB/YSfs3YofvGZlP+40/DyrzIcwXktRTMFRYSTvYA5v1RA q9rg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=subject:cc:to:from:date:references:in-reply-to:message-id :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:feedback-id:dkim-signature:dkim-signature; bh=iPKZ8N3athA/5vP9vTrG4TOG4uDkTbTyXR3rycVEddg=; fh=HDI/gKiLZQQOQrXXYrBzttQOqpUBvplhbn//eupRp+Q=; b=jLO3cdp9f0AFPG8aiVhwD/BnlJtmlr2eMAtK6/luX31SIkTAzd6dbAmgmhpUHWxCKI EjUEotIbz/PyuRPCC/iI+a09wXe8utvt+Pv25zSIKo/jvVnvW73aNbLwPlKYiDJfdC0a z8Wewt1j8qZIEGMC42YtQqkX+Cp9EvYRnQ+WEYiZ1XcASQz3+ZifcYX118xxsEZ0eWXH 1cFVGrZnA/vZCpeSJCoK/eLXlUH3lHcyLVpk8uDW2KpMA8fV6B0CcPIxfpWedqRugbyK k4aEeuyL4sqrYKNGWXptRE9bhP+tsCdxqOAwP3fqcnuhv/4mbrrZSLG4GUgjYxheVGHj X+4g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@arndb.de header.s=fm2 header.b=I1+jYVit; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=iJOkEam8; arc=pass (i=1 spf=pass spfdomain=arndb.de dkim=pass dkdomain=arndb.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=arndb.de); spf=pass (google.com: domain of linux-kernel+bounces-168151-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-168151-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=arndb.de Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id c26-20020a6566da000000b005f7fc2bdebcsi3636058pgw.12.2024.05.03.12.45.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 May 2024 12:45:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-168151-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@arndb.de header.s=fm2 header.b=I1+jYVit; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=iJOkEam8; arc=pass (i=1 spf=pass spfdomain=arndb.de dkim=pass dkdomain=arndb.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=arndb.de); spf=pass (google.com: domain of linux-kernel+bounces-168151-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-168151-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=arndb.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2DEB52829C6 for ; Fri, 3 May 2024 19:45:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 26F49158A07; Fri, 3 May 2024 19:45:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b="I1+jYVit"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="iJOkEam8" Received: from wfout4-smtp.messagingengine.com (wfout4-smtp.messagingengine.com [64.147.123.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B55D1581FD; Fri, 3 May 2024 19:45:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=64.147.123.147 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714765547; cv=none; b=uXb8YxFRjO4eTfjrnKwj9jvZUKNIHzYToOz1aOhxHdUjCt/23Eeb7P3KyMZnf6azQMIXBuizfaSTX4A82srBqLhAacLnBHwErOUiq4wNMZOHGeXqc5NOHfFMp46FuTFIXmFuxwq06hR/JIjeS+t5IK3B5GmfpGRyYZxMqVVbRd0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714765547; c=relaxed/simple; bh=48+710R6NNTtD9LoGnEVrjf6ZqT1AQjqLihM8VyJBFQ=; h=MIME-Version:Message-Id:In-Reply-To:References:Date:From:To:Cc: Subject:Content-Type; b=IPcBObfs1XV4mw2QMQF6vwqzrQPNKZyRjcGDnKFE7jOxsuNJiRLi/da8LfsaqpodO0erY28WDHCMoW7jKneWDkQ8pT052R6v03ilVjELh7g8YtUlEfp5sF2NCjuDnRhGQuU7tn0+Gx438A/U5ft5uCRJiIdiXfgQmtpYdhpTyAU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de; spf=pass smtp.mailfrom=arndb.de; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b=I1+jYVit; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=iJOkEam8; arc=none smtp.client-ip=64.147.123.147 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arndb.de Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfout.west.internal (Postfix) with ESMTP id EFAF81C000CE; Fri, 3 May 2024 15:45:43 -0400 (EDT) Received: from imap51 ([10.202.2.101]) by compute5.internal (MEProxy); Fri, 03 May 2024 15:45:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1714765543; x=1714851943; bh=iPKZ8N3ath A/5vP9vTrG4TOG4uDkTbTyXR3rycVEddg=; b=I1+jYVitrp1ODGVMjMfAPwdQ4v ZKLT5PY+CeBK47tCqHJVWYepuM7AUWm7MkgqewsCqbFJT9/R8jlbMfBPhLKz6fpH B6lQhdId/Svb28jxRYDKXQJKbP+z2HkQseJ9Nkb8FUtzrGYOn2nrhS9QEWsNMixY nKCYuO9YR2B4dK1W8TMJsoO1rOEx0QSGXfaQ/vThg819wc9MfIKqdRS/mqxAsoLO qwdRw0KpLN8fZDOR8dHah1jGtjsqCHAUalZxNr63HW/PhsR9+G6tLYZUP6Brs+aO GvKUKWb1VEBqPnaYRW1AsJRjAyyMMZiCp1xdyVU2Wxo3VVv8djN8QTNIr69w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1714765543; x=1714851943; bh=iPKZ8N3athA/5vP9vTrG4TOG4uDk TbTyXR3rycVEddg=; b=iJOkEam8hEwfOhjrpUnMEU+bEiakOxKceZaSbAvbnPTw YAjrFYj4R8j8+2ZaLU9oGlenw5Mpr55WuASnNJx+RCrFlXVovvBCFiG+AZ04rKlr ell12YXyuoS3VaQPeoVOF3M8sIHndhhuZQPr2MLfPFR66Q8PN+AymGcoEmn/Lrv/ XObFNbOltx2vS8s2VYbVvSCF7Hhjq1vKYNRUWxvMmHHNfpfPfteDihfMXGYK7CJk jqMWy9ziFcJmvT1oAalyL59AOgoJd0SBWsZ9c09D7gDPNDtDgRKmWJYxVePVdRsB HToz5Wq26P2Xb0MyJCptZGoNhxKMdQkJz/knLen8sw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvddvtddgudegudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdet rhhnugcuuegvrhhgmhgrnhhnfdcuoegrrhhnugesrghrnhgusgdruggvqeenucggtffrrg htthgvrhhnpeffheeugeetiefhgeethfejgfdtuefggeejleehjeeutefhfeeggefhkedt keetffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe grrhhnugesrghrnhgusgdruggv X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 0EB12B6008D; Fri, 3 May 2024 15:45:42 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-417-gddc99d37d-fm-hotfix-20240424.001-g2c179674 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <8e1867fc-34da-457c-b95a-2d51ea97336a@app.fastmail.com> In-Reply-To: <20240503192858.103640-1-florian.fainelli@broadcom.com> References: <20240503192858.103640-1-florian.fainelli@broadcom.com> Date: Fri, 03 May 2024 21:45:21 +0200 From: "Arnd Bergmann" To: "Florian Fainelli" , linux-kernel@vger.kernel.org Cc: "Daniel Vetter" , "Helge Deller" , "Thomas Zimmermann" , "Javier Martinez Canillas" , "Sam Ravnborg" , "open list:FRAMEBUFFER LAYER" , "open list:FRAMEBUFFER LAYER" Subject: Re: [PATCH] fbdev: Have CONFIG_FB_NOTIFY be tristate Content-Type: text/plain On Fri, May 3, 2024, at 21:28, Florian Fainelli wrote: > Android devices in recovery mode make use of a framebuffer device to > provide an user interface. In a GKI configuration that has CONFIG_FB=m, > but CONFIG_FB_NOTIFY=y, loading the fb.ko module will fail with: > > fb: Unknown symbol fb_notifier_call_chain (err -2) > > Have CONFIG_FB_NOTIFY be tristate, just like CONFIG_FB such that both > can be loaded as module with fb_notify.ko first, and fb.ko second. > > Signed-off-by: Florian Fainelli I see two problems here, so I don't think this is the right approach: 1. I don't understand your description: Since fb_notifier_call_chain() is an exported symbol, it should work for both FB_NOTIFY=y and FB_NOTIFY=m, unless something in Android drops the exported symbols for some reason. 2. This breaks if any of the four callers of fb_register_client() are built-in while CONFIG_FB_NOTIFY is set to =m: $ git grep -w fb_register_client arch/arm/mach-pxa/am200epd.c: fb_register_client(&am200_fb_notif); drivers/leds/trigger/ledtrig-backlight.c: ret = fb_register_client(&n->notifier); drivers/video/backlight/backlight.c: return fb_register_client(&bd->fb_notif); drivers/video/backlight/lcd.c: return fb_register_client(&ld->fb_notif); Somewhat related but not directly addressing your patch, I wonder if Android itself could migrate to using FB_CORE=m FB=n FB_NOTIFY=n instead and use simpledrm for the console in place of the legacy fbdev layer. Arnd