From patchwork Mon Nov 7 10:49:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Zimmermann X-Patchwork-Id: 622742 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 615DAC433FE for ; Mon, 7 Nov 2022 10:49:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231667AbiKGKtp (ORCPT ); Mon, 7 Nov 2022 05:49:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53064 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231439AbiKGKto (ORCPT ); Mon, 7 Nov 2022 05:49:44 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3834E2671 for ; Mon, 7 Nov 2022 02:49:41 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id E8EAF1F8A4; Mon, 7 Nov 2022 10:49:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1667818179; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=drCyNvKa+Y4NR4/QyyO8MKqGtOLzo79FahMi21hNijA=; b=aO4mkGKlMMAOVoNT3FT2YBP0C14JaPzORrClGJn26jip6+qMxtjgao7UVKMKGXIl3Iwy83 NLkaBZhsJVxfTdNJvZXkLSoIzpSR5ZgbDyLmXaDh4rZwt6reC9RseLto6XE4DJ6YPqTnlD W3Puan9MLPSZRuwlPYTBcDcw9HxKb8g= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1667818179; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=drCyNvKa+Y4NR4/QyyO8MKqGtOLzo79FahMi21hNijA=; b=Q1oWKAxPuQPfgtu/w2Jt+2UToq0+aU5NFU9d0HxaFBqTrTYDwTDPklMhgXNPHuMz1DW/gQ KAkXv7RYpNAEX3Dw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B396613494; Mon, 7 Nov 2022 10:49:39 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id gGAcK8PiaGPkewAAMHmgww (envelope-from ); Mon, 07 Nov 2022 10:49:39 +0000 From: Thomas Zimmermann To: deller@gmx.de, daniel@ffwll.ch, javierm@redhat.com Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Thomas Zimmermann Subject: [PATCH 2/2] fbdev: Add support for the nomodeset kernel parameter Date: Mon, 7 Nov 2022 11:49:16 +0100 Message-Id: <20221107104916.18733-3-tzimmermann@suse.de> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221107104916.18733-1-tzimmermann@suse.de> References: <20221107104916.18733-1-tzimmermann@suse.de> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org Support the kernel's nomodeset parameter for all PCI-based fbdev drivers that use aperture helpers to remove other, hardware-agnostic graphics drivers. The parameter is a simple way of using the firmware-provided scanout buffer if the hardware's native driver is broken. The same effect could be achieved with per-driver options, but the importance of the graphics output for many users makes a single, unified approach worthwhile. With nomodeset specified, the fbdev driver module will not load. This unifies behavior with similar DRM drivers. In DRM helpers, modules first check the nomodeset parameter before registering the PCI driver. As fbdev has no such module helpers, we have to modify each driver individually. The name 'nomodeset' is slightly misleading, but has been chosen for historical reasons. Several drivers implemented it before it became a general option for DRM. So keeping the existing name was preferred over introducing a new one. Signed-off-by: Thomas Zimmermann Reviewed-by: Javier Martinez Canillas --- drivers/staging/sm750fb/Kconfig | 1 + drivers/staging/sm750fb/sm750.c | 4 +++ drivers/video/fbdev/Kconfig | 37 ++++++++++++++++++++ drivers/video/fbdev/arkfb.c | 6 ++++ drivers/video/fbdev/asiliantfb.c | 5 +++ drivers/video/fbdev/aty/aty128fb.c | 6 ++++ drivers/video/fbdev/aty/atyfb_base.c | 6 ++++ drivers/video/fbdev/aty/radeon_base.c | 6 ++++ drivers/video/fbdev/carminefb.c | 5 +++ drivers/video/fbdev/chipsfb.c | 5 +++ drivers/video/fbdev/cirrusfb.c | 6 ++++ drivers/video/fbdev/cyber2000fb.c | 6 ++++ drivers/video/fbdev/geode/Kconfig | 3 ++ drivers/video/fbdev/geode/gx1fb_core.c | 7 ++++ drivers/video/fbdev/geode/gxfb_core.c | 7 ++++ drivers/video/fbdev/geode/lxfb_core.c | 7 ++++ drivers/video/fbdev/gxt4500.c | 5 +++ drivers/video/fbdev/hyperv_fb.c | 5 +++ drivers/video/fbdev/i740fb.c | 6 ++++ drivers/video/fbdev/i810/i810_main.c | 8 +++++ drivers/video/fbdev/imsttfb.c | 7 ++++ drivers/video/fbdev/intelfb/intelfbdrv.c | 5 +++ drivers/video/fbdev/kyro/fbdev.c | 6 ++++ drivers/video/fbdev/matrox/matroxfb_base.c | 5 +++ drivers/video/fbdev/mb862xx/mb862xxfbdrv.c | 5 +++ drivers/video/fbdev/neofb.c | 6 ++++ drivers/video/fbdev/nvidia/nvidia.c | 7 ++++ drivers/video/fbdev/pm2fb.c | 6 ++++ drivers/video/fbdev/pm3fb.c | 6 ++++ drivers/video/fbdev/pvr2fb.c | 7 ++++ drivers/video/fbdev/riva/fbdev.c | 7 ++++ drivers/video/fbdev/s3fb.c | 6 ++++ drivers/video/fbdev/savage/savagefb_driver.c | 5 +++ drivers/video/fbdev/sis/sis_main.c | 7 ++++ drivers/video/fbdev/skeletonfb.c | 7 ++++ drivers/video/fbdev/sm712fb.c | 5 +++ drivers/video/fbdev/sstfb.c | 4 +++ drivers/video/fbdev/sunxvr2500.c | 5 +++ drivers/video/fbdev/sunxvr500.c | 5 +++ drivers/video/fbdev/tdfxfb.c | 6 ++++ drivers/video/fbdev/tgafb.c | 6 ++++ drivers/video/fbdev/tridentfb.c | 6 ++++ drivers/video/fbdev/vermilion/vermilion.c | 7 ++++ drivers/video/fbdev/via/via-core.c | 5 +++ drivers/video/fbdev/vt8623fb.c | 6 ++++ 45 files changed, 288 insertions(+) diff --git a/drivers/staging/sm750fb/Kconfig b/drivers/staging/sm750fb/Kconfig index 8c0d8a873d5b0..acb6c08d09dce 100644 --- a/drivers/staging/sm750fb/Kconfig +++ b/drivers/staging/sm750fb/Kconfig @@ -6,6 +6,7 @@ config FB_SM750 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select VIDEO_NOMODESET help Frame buffer driver for the Silicon Motion SM750 chip with 2D accelearion and dual head support. diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 168ae2e9005d7..d6f89dd3f59ba 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -17,6 +17,7 @@ #include #include #include +#include