From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD8CA330301 for ; Thu, 15 Jan 2026 08:21:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768465295; cv=none; b=LyJRIMQW2Eq2XgRveiLNuOnBmvCI/Luo75jvSilsfxzY7yh58CB3o8QVAJC+lXECtxzMyv4URB5Vk4OY3RDEoAxr7xK/aiJXl+znJLoR7kMiSVUb3noYZJqGns+mYfLgmu6z+S280bDCZz5rAO9jPCo4BPA3AV0m604Cm3Jf61A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768465295; c=relaxed/simple; bh=JdIZUb/ShpPOPonDvjmI/lbjheQ4/aFTKZ5+Rp9obGs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Huyy22/PJh6oWanZPzRQ3skf3hiHpNOnqiz4kOF2CyCkl5a2BD+iLfvafGHygrFG3OvZHzfmHpK3oI5o4JYHtWEBoc0WRSphCQs4XHCZU8vTxVFAiN0VTELdFEZmiIH7qC0GMrnZ5zIlW4MTWoAzuK2VfEkVy2Y5S/JqDWpTh5U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=YxqG+nbH; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=waK1tnt4; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=YxqG+nbH; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=waK1tnt4; arc=none smtp.client-ip=195.135.223.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="YxqG+nbH"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="waK1tnt4"; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="YxqG+nbH"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="waK1tnt4" Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 62CB6336AC; Thu, 15 Jan 2026 08:21:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1768465292; 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=1DBneb3s2nrkwFFOZ3uPchgRpc+BTIv4ygaa47RQKwE=; b=YxqG+nbHf/H5mu+80IbSCWmVcpGALi8p7psI2FSQZD/luMpjn1tY1QC2E6F9USTMuKpy5M nYIeymQeY3dJ/qOk7FIWkCHpBhbkqDxfiHomzlbSXmg/rlL5hq8hN7x7XGVeF1VLikRVT/ A6UASLqiFUQhd28z7g5884xTdml9cCY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1768465292; 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=1DBneb3s2nrkwFFOZ3uPchgRpc+BTIv4ygaa47RQKwE=; b=waK1tnt4nUic7oVI7oYdRQzR/cEpkzkdQyKZYoU954zsEyEo7fr3qBiKlXdxrLD5ljO9s+ goIuH2zVQjY27SDA== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1768465292; 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=1DBneb3s2nrkwFFOZ3uPchgRpc+BTIv4ygaa47RQKwE=; b=YxqG+nbHf/H5mu+80IbSCWmVcpGALi8p7psI2FSQZD/luMpjn1tY1QC2E6F9USTMuKpy5M nYIeymQeY3dJ/qOk7FIWkCHpBhbkqDxfiHomzlbSXmg/rlL5hq8hN7x7XGVeF1VLikRVT/ A6UASLqiFUQhd28z7g5884xTdml9cCY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1768465292; 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=1DBneb3s2nrkwFFOZ3uPchgRpc+BTIv4ygaa47RQKwE=; b=waK1tnt4nUic7oVI7oYdRQzR/cEpkzkdQyKZYoU954zsEyEo7fr3qBiKlXdxrLD5ljO9s+ goIuH2zVQjY27SDA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 05D7E3EA65; Thu, 15 Jan 2026 08:21:32 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id ONY8AIyjaGkjBQAAD6G6ig (envelope-from ); Thu, 15 Jan 2026 08:21:32 +0000 From: Thomas Zimmermann To: tzungbi@kernel.org, briannorris@chromium.org, jwerner@chromium.org, javierm@redhat.com, samuel@sholland.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@gmail.com, simona@ffwll.ch Cc: chrome-platform@lists.linux.dev, dri-devel@lists.freedesktop.org, Thomas Zimmermann , Hans de Goede , linux-fbdev@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH v2 01/12] firmware: google: framebuffer: Do not unregister platform device Date: Thu, 15 Jan 2026 08:57:11 +0100 Message-ID: <20260115082128.12460-2-tzimmermann@suse.de> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260115082128.12460-1-tzimmermann@suse.de> References: <20260115082128.12460-1-tzimmermann@suse.de> Precedence: bulk X-Mailing-List: linux-fbdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; FREEMAIL_TO(0.00)[kernel.org,chromium.org,redhat.com,sholland.org,linux.intel.com,gmail.com,ffwll.ch]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_TWELVE(0.00)[15]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,suse.de:email]; FROM_EQ_ENVFROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_TLS_ALL(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com] X-Spam-Flag: NO X-Spam-Score: -2.80 X-Spam-Level: The native driver takes over the framebuffer aperture by removing the system- framebuffer platform device. Afterwards the pointer in drvdata is dangling. Remove the entire logic around drvdata and let the kernel's aperture helpers handle this. The platform device depends on the native hardware device instead of the coreboot device anyway. When commit 851b4c14532d ("firmware: coreboot: Add coreboot framebuffer driver") added the coreboot framebuffer code, the kernel did not support device-based aperture management. Instead native driviers only removed the conflicting fbdev device. At that point, unregistering the framebuffer device most likely worked correctly. It was definitely broken after commit d9702b2a2171 ("fbdev/simplefb: Do not use struct fb_info.apertures"). So take this commit for the Fixes tag. Earlier releases might work depending on the native hardware driver. Signed-off-by: Thomas Zimmermann Fixes: d9702b2a2171 ("fbdev/simplefb: Do not use struct fb_info.apertures") Cc: Thomas Zimmermann Cc: Javier Martinez Canillas Cc: Hans de Goede Cc: linux-fbdev@vger.kernel.org Cc: # v6.3+ --- drivers/firmware/google/framebuffer-coreboot.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/drivers/firmware/google/framebuffer-coreboot.c b/drivers/firmware/google/framebuffer-coreboot.c index c68c9f56370f..4e9177105992 100644 --- a/drivers/firmware/google/framebuffer-coreboot.c +++ b/drivers/firmware/google/framebuffer-coreboot.c @@ -81,19 +81,10 @@ static int framebuffer_probe(struct coreboot_device *dev) sizeof(pdata)); if (IS_ERR(pdev)) pr_warn("coreboot: could not register framebuffer\n"); - else - dev_set_drvdata(&dev->dev, pdev); return PTR_ERR_OR_ZERO(pdev); } -static void framebuffer_remove(struct coreboot_device *dev) -{ - struct platform_device *pdev = dev_get_drvdata(&dev->dev); - - platform_device_unregister(pdev); -} - static const struct coreboot_device_id framebuffer_ids[] = { { .tag = CB_TAG_FRAMEBUFFER }, { /* sentinel */ } @@ -102,7 +93,6 @@ MODULE_DEVICE_TABLE(coreboot, framebuffer_ids); static struct coreboot_driver framebuffer_driver = { .probe = framebuffer_probe, - .remove = framebuffer_remove, .drv = { .name = "framebuffer", }, -- 2.52.0