Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp5634851imm; Tue, 26 Jun 2018 15:04:00 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIB4J+KwhLmdmquuyF4IQdRUwrTJdo6dQ//+PNZx9310uJWgnh/sRS4F3UuODRmZw94RPUt X-Received: by 2002:a17:902:1682:: with SMTP id h2-v6mr3308235plh.327.1530050640328; Tue, 26 Jun 2018 15:04:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530050640; cv=none; d=google.com; s=arc-20160816; b=BNYKjrYNpnmiLW/So/ctIXRE43sEq4FLroLaimK4/Urld8jhVRaJlSG+2PWxxntzSK IMRU+fYhpgKQLrRuxfR7mdv74qdUKH2dVGRnENiGOFi3n3CDiQrzN0IZfEd9Az91m/vS NGe+JpoxhsMKt1tcHloSmGSIsktrEoCwnrc1bqJjf0J0UBSYJfvxzMnKlADVpplw9HAr JLhazwAXF1Ql2zwLCDnL5PE6oiRGFiUEQ0R6G+z2CGZ71gDUgggwP9Kwye1JLz5dzVvK fzFM1HbiTlp4pTYtwC0b/oPgNKxc/j2ezIS5WJjCEB482lF7UNvfBmy8VYMGHqt3ncYM Mc0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=x4wL6b6YsxX6mdmE2Xy/8a7J3K3VkavEv8eY6FFv8kk=; b=oTzy288Lnh0WwYMZokK17ECFOvlvEZJ5WLT9ogvJSyjCFqnl8Tyd00/F1dgyn4A15+ 2OiATdxwWJFPYkHqIGWDoHDt1n7wJXdkX9GOCC8N6DJ4MEEb0CsJAlnP3JHPPVc6InKS WyZpJFPA3ozODIPXemPbCiqZpmvx8Z4wZ2+oHpVvlaC5NendoYsylsiucTFNEK5hY71F FhYcjw05H0OYnLKeN+++Vj0HjOvMYKVGnKkQDPKP1a+LluHCSw4xYE36IwfLWT2fIT0u QJGB9lbODPsZ9rAC6O/AE9H/dTO2zgHZIEaga/1+TABpJ6CigfflOngV/bYLEzFw8Vtb 5zqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=uQPV0hdn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a143-v6si2631464pfd.258.2018.06.26.15.03.31; Tue, 26 Jun 2018 15:04:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=uQPV0hdn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932671AbeFZRMY (ORCPT + 99 others); Tue, 26 Jun 2018 13:12:24 -0400 Received: from mail-vk0-f68.google.com ([209.85.213.68]:46593 "EHLO mail-vk0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932080AbeFZRMV (ORCPT ); Tue, 26 Jun 2018 13:12:21 -0400 Received: by mail-vk0-f68.google.com with SMTP id b134-v6so10469634vke.13; Tue, 26 Jun 2018 10:12:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=x4wL6b6YsxX6mdmE2Xy/8a7J3K3VkavEv8eY6FFv8kk=; b=uQPV0hdnn/DJo8li1CFX3cg/cQMx0xwV3OblEfvK7T/6g98i0+3bZLxU8jSBZDIRPE hemou6aSC/nYKSyl6OxkC4hL4Vjo1mjlZ5Esoc0pcElmHocKoQPDUqwtMkoFcXjaCo8t Xsg3MwZMo5dgrKFZ9wtOFyRGYLurb6Uq/VcYu4cOUeDLcBETApt+CqqEYjufikIixq95 NJyDhQY59XmcStOVdl5qqLR5W2OI5isimDJHdxUgOo9dO2mXf+41u4Kq8eaH6W15Hp9K 4lK2onNq7cdvva6819LoRx8xj7f/FWFqMHxhJOxZEQsPrmayOpS2HL6/aGQiXhD46lVX Pt0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=x4wL6b6YsxX6mdmE2Xy/8a7J3K3VkavEv8eY6FFv8kk=; b=EIs7pAhksQ489PIOwmREYyVFThBywJkUyqMA/nxCJa70yYeYWGQvx/tgH4dV6cSsqX MxTgeW3s48yLAJwPSK4b411NjVzbIJiT/lCrK07nvOpYNvJC6/PzRynwA4WQV/Rb4u1/ H8MetCsT7H0T/xNmASvPFO5w6re/Nkzml0Nrv7t2Mqy2cxXZfwzeqhfMET7/Wop3pgWv R0PN7ZMv47YdueZRF1gT1nxfm58J7ue7eCKoTIUwTa66DVbX+/a3IAKWB6G6Y/QCPXOl crOCv2NH9/U11YhKAsgKAmqmJcoLcLZZY0eZqCtm/flIbQkmTweaf8zWEoULbSZ68rIp lDrw== X-Gm-Message-State: APt69E2ywpJLqFE8byVIgXHLyuCD1YMY9NkCY70JqBMpeq2wd3mwHYJD 3jDWwtuCn/uvUzV3HGpCJnmVJW/88rBGGeINCVk= X-Received: by 2002:a1f:860b:: with SMTP id i11-v6mr1513030vkd.15.1530033141099; Tue, 26 Jun 2018 10:12:21 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a67:8b02:0:0:0:0:0 with HTTP; Tue, 26 Jun 2018 10:12:20 -0700 (PDT) In-Reply-To: <20180626135535.2990-4-hdegoede@redhat.com> References: <20180626135535.2990-1-hdegoede@redhat.com> <20180626135535.2990-4-hdegoede@redhat.com> From: Andy Shevchenko Date: Tue, 26 Jun 2018 20:12:20 +0300 Message-ID: Subject: Re: [PATCH v3 3/3] console/fbcon: Add support for deferred console takeover To: Hans de Goede Cc: Bartlomiej Zolnierkiewicz , Petr Mladek , Sergey Senozhatsky , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, Steven Rostedt , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 26, 2018 at 4:55 PM, Hans de Goede wrote: > Currently fbcon claims fbdevs as soon as they are registered and takes over > the console as soon as the first fbdev gets registered. > > This behavior is undesirable in cases where a smooth graphical bootup is > desired, in such cases we typically want the contents of the framebuffer > (typically a vendor logo) to stay in place as is. > > The current solution for this problem (on embedded systems) is to not > enable fbcon. > > This commit adds a new FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER config option, > which when enabled defers fbcon taking over the console from the dummy > console until the first text is displayed on the console. Together with the > "quiet" kernel commandline option, this allows fbcon to still be used > together with a smooth graphical bootup, having it take over the console as > soon as e.g. an error message is logged. > + for (i = 0; i < FB_MAX; i++) { > + if (registered_fb[i]) > + fbcon_fb_registered(registered_fb[i]); > + } Simple git grep shows that we perhaps do #define for_each_registered_fbcon(i) ... (As an example see for_each_pci_bridge() how it's done there) -- With Best Regards, Andy Shevchenko