Message ID | 20240304095512.742348-1-jani.nikula@intel.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-90360-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1318532dyc; Mon, 4 Mar 2024 01:55:47 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVbNFtAPlGJJVJGqK9YrBokfeglO1/BTo0+4Qf5eKo1rDQ/6qxw/UqoTHNY+CG12e2/gaIjqZMnAbsUk0mD1Okt7MjgyA== X-Google-Smtp-Source: AGHT+IHVpjP0V/Ml2tLcuzfmWnegWhcvIVIfaHCPKnjYYqu7cVJU6jLYAFrxHRNOe4GDrPH5xRsH X-Received: by 2002:a05:6a21:9999:b0:1a1:5000:225b with SMTP id ve25-20020a056a21999900b001a15000225bmr1726499pzb.11.1709546147598; Mon, 04 Mar 2024 01:55:47 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709546147; cv=pass; d=google.com; s=arc-20160816; b=ukSLdf82yUnuIGHe4Q+GXGM/e0BBlVkS+RabKk+bOaJdgY3IVbxogBq+fC4Ifyl1tk UufN6lCuWOgxKv42PXjvX2hRZyzqSnUNhNTeNol1n/xswbAD8mRchBKzyO2C1ehvY3Hh RUR7QCcPY5Ju+DKWBT+i54hoIhMwkQwifnKwBVqB/bfiLfc3E0w8hS7IB/9WCfWuyvW3 54aAQNcuFQQ3jY7Qd2Ltt5hmgOeKUStRIsxaOuF2wGkjPq8owLFZG2ERHW4ZgVSVtRFJ QjoNzCE8jzfjqnVoI2wbJPPHPKkcj5IUIwrItoaDw/X+rdGjmMcAn3gpudnkr+L7jPes Zz9w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:organization:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=bIZb+9doiAVgfW5t97B0esaoiKVaC7xP1RdQFqzq6ok=; fh=+G70RdJ/ILv6OQInjtz/xY65xbVVlvug0n5Y8NdQS1s=; b=u+NFzTDzRafct1mS0R886Q6Cs5eQwlFsmkrtzLnHJjKpDOFWD/wkPYhkgadVpAoNom LfCclsoYebl6Uhmk7v0WTdDtOc5CoHqrhlZlag8bV/+fLEAhky5ppGVGpbentjWpuo9l LnjI0GgdnV4L/7+O6tKAuKTlCnb5+lLNjfLngjRSbRgB/lzHVBXwkflAeB6qai0sb02H I4cE15iVZbC5+4F3cltAV/85rK0xAyQ/BvrH/AXRiIm5JuvEQOPt+23I0AZvJdCN6HBf gFk0S4rB76nlvp1MuD1uXv8Buy2M5Fj3D6SnpX7B0iFFTBeN8uHjac27d1idPYbj3GQ9 alag==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=C8v3+ZIp; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90360-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90360-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id d17-20020a17090ac25100b0029a9d702915si10091266pjx.188.2024.03.04.01.55.47 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 01:55:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90360-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=C8v3+ZIp; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90360-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90360-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com 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 6ABEE281CBB for <ouuuleilei@gmail.com>; Mon, 4 Mar 2024 09:55:47 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BBBFC224F9; Mon, 4 Mar 2024 09:55:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="C8v3+ZIp" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (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 F1E68208A2; Mon, 4 Mar 2024 09:55:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709546131; cv=none; b=KcFNo6xINQv33OLT7DMJS6H5OKNjp2ya/T4kuXbwZAQtGiTUDkiWyOgGPgxmO3PKchuFLFlE5OAi6qCa6Z0rhOT4Btq+QEjy4wc5205Gj5MwYE/py3yCRNSFJGLhf9e4SelLEHV75cvHSFtX1umSXZU+3h0q0+FWS23roPal0Ag= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709546131; c=relaxed/simple; bh=tGGIjtvf2OqUUpfEvU1EyE4HH8U209KvVuAbHYsXd6A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OP2a4+G+8rl7GS7Lhtxe0jZeKcvbC6IgQA2EvtqH68PjOqKs40va/RVJeSQCe8hS4BQ94HDiXOSoWRTHR8nw1CyFH6+Gfpil4MEj5fMKwyzVlr1A9im7x9qcdqUBZQDqCewjOUZ4Lr1DeEJN0VOLRHkv87DtdILP2sz3tfkOvBg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=C8v3+ZIp; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709546129; x=1741082129; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tGGIjtvf2OqUUpfEvU1EyE4HH8U209KvVuAbHYsXd6A=; b=C8v3+ZIp8FldoJsjrciDDtKs1srhE/DgqU2INnEKQty6DM9IvBrs0z8/ Nd/rzDZwkfAvlQ0dABF1pyUawGwkuEmf/pMkYDNX4gON3JB7sacJnsA4u gfOXzXidGT1FqJJ3k4Q3Ns2w2+2T1NpRFlPiRo3fZd48caMuJJ5OWGI4v CjUkS5li04bjZr+2WCIKJM+Cxpi2z5eKEIMqe50Am+kdPp9sa+coYNBbd 40Zzbz4qokcKbs4Lc+d3av/sw41zvHh+GbQ98dkznS9HbL+gkzV1+AR88 9BL/fOXcMyax+TqD/K4AdgxvEGoLGm6LL1TGpa2jN80Le7ki2aNsSS3xN w==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7799078" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7799078" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2024 01:55:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="39934272" Received: from syakovle-mobl1.ger.corp.intel.com (HELO localhost) ([10.252.51.3]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2024 01:55:24 -0800 From: Jani Nikula <jani.nikula@intel.com> To: Michael Ellerman <mpe@ellerman.id.au>, linuxppc-dev@lists.ozlabs.org Cc: jani.nikula@intel.com, dri-devel@lists.freedesktop.org, lkft-triage@lists.linaro.org, linux-kernel@vger.kernel.org, Naresh Kamboju <naresh.kamboju@linaro.org>, Thomas Zimmermann <tzimmermann@suse.de>, Helge Deller <deller@gmx.de>, linux-fbdev@vger.kernel.org Subject: [PATCH] powerpc: include linux/backlight.h from asm/backlight.h Date: Mon, 4 Mar 2024 11:55:12 +0200 Message-Id: <20240304095512.742348-1-jani.nikula@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFXTU75YiueA@mail.gmail.com> References: <CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFXTU75YiueA@mail.gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792589061445898467 X-GMAIL-MSGID: 1792589061445898467 |
Series |
powerpc: include linux/backlight.h from asm/backlight.h
|
|
Commit Message
Jani Nikula
March 4, 2024, 9:55 a.m. UTC
Removal of the backlight include from fb.h uncovered an implicit
dependency in powerpc asm/backlight.h. Add the explicit include.
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Closes: https://lore.kernel.org/r/CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFXTU75YiueA@mail.gmail.com
Fixes: 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Not even compile tested!
---
arch/powerpc/include/asm/backlight.h | 1 +
1 file changed, 1 insertion(+)
Comments
On Mon, 04 Mar 2024, Jani Nikula <jani.nikula@intel.com> wrote: > Removal of the backlight include from fb.h uncovered an implicit > dependency in powerpc asm/backlight.h. Add the explicit include. > > Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org> > Closes: https://lore.kernel.org/r/CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFXTU75YiueA@mail.gmail.com > Fixes: 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header") > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Helge Deller <deller@gmx.de> > Cc: linux-fbdev@vger.kernel.org > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > --- > > Not even compile tested! Naresh, please try this patch! Michael, if this is fine by you, ack to merge via the drm subsystem along with the regressing commit? BR, Jani. > --- > arch/powerpc/include/asm/backlight.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h > index 1b5eab62ed04..275d5bb9aa04 100644 > --- a/arch/powerpc/include/asm/backlight.h > +++ b/arch/powerpc/include/asm/backlight.h > @@ -10,6 +10,7 @@ > #define __ASM_POWERPC_BACKLIGHT_H > #ifdef __KERNEL__ > > +#include <linux/backlight.h> > #include <linux/fb.h> > #include <linux/mutex.h>
Hi Am 04.03.24 um 10:55 schrieb Jani Nikula: > Removal of the backlight include from fb.h uncovered an implicit > dependency in powerpc asm/backlight.h. Add the explicit include. > > Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org> > Closes: https://lore.kernel.org/r/CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFXTU75YiueA@mail.gmail.com > Fixes: 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header") > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Helge Deller <deller@gmx.de> > Cc: linux-fbdev@vger.kernel.org > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > --- > > Not even compile tested! That's one of the cases that's hard to catch unless you get the config right. > --- > arch/powerpc/include/asm/backlight.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h > index 1b5eab62ed04..275d5bb9aa04 100644 > --- a/arch/powerpc/include/asm/backlight.h > +++ b/arch/powerpc/include/asm/backlight.h > @@ -10,6 +10,7 @@ > #define __ASM_POWERPC_BACKLIGHT_H > #ifdef __KERNEL__ > > +#include <linux/backlight.h> Thanks, but I think this should go directly into chipsfb.c. I would have provided a patch already, if our mail server didn't have issues this morning. Let me try again. Best regards Thomas > #include <linux/fb.h> > #include <linux/mutex.h> >
Am 04.03.24 um 11:32 schrieb Thomas Zimmermann: [...] >> --- >> arch/powerpc/include/asm/backlight.h | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/powerpc/include/asm/backlight.h >> b/arch/powerpc/include/asm/backlight.h >> index 1b5eab62ed04..275d5bb9aa04 100644 >> --- a/arch/powerpc/include/asm/backlight.h >> +++ b/arch/powerpc/include/asm/backlight.h >> @@ -10,6 +10,7 @@ >> #define __ASM_POWERPC_BACKLIGHT_H >> #ifdef __KERNEL__ >> +#include <linux/backlight.h> > > Thanks, but I think this should go directly into chipsfb.c. I would > have provided a patch already, if our mail server didn't have issues > this morning. Let me try again. Posted at https://lore.kernel.org/dri-devel/20240304103820.16708-1-tzimmermann@suse.de/T/#u > > Best regards > Thomas > >> #include <linux/fb.h> >> #include <linux/mutex.h> >
Hi Jani and Benjamin, On Mon, 4 Mar 2024 at 15:31, Jani Nikula <jani.nikula@intel.com> wrote: > > On Mon, 04 Mar 2024, Jani Nikula <jani.nikula@intel.com> wrote: > > Removal of the backlight include from fb.h uncovered an implicit > > dependency in powerpc asm/backlight.h. Add the explicit include. > > > > Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org> > > Closes: https://lore.kernel.org/r/CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFXTU75YiueA@mail.gmail.com > > Fixes: 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header") > > Cc: Thomas Zimmermann <tzimmermann@suse.de> > > Cc: Helge Deller <deller@gmx.de> > > Cc: linux-fbdev@vger.kernel.org > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > > > --- > > > > Not even compile tested! > > Naresh, please try this patch! Thanks for the proposed fix patch. Steps to reproduce: # tuxmake --runtime podman --target-arch powerpc --toolchain gcc-13 --kconfig ppc6xx_defconfig --kconfig-add CONFIG_PMAC_BACKLIGHT=y config debugkernel dtbs kernel modules xipkernel # Applying patch set Applying: fbdev/chipsfb: Include <linux/backlight.h> The reported build regression is fixed but build failed with below errors. My two cents, I should have copied the full build error log in the morning. Few more build errors on powerpc builds, ------------------ drivers/macintosh/via-pmu-backlight.c: In function '__pmu_backlight_update_status': drivers/macintosh/via-pmu-backlight.c:74:21: error: implicit declaration of function 'backlight_get_brightness'; did you mean 'pmu_backlight_get_level_brightness'? [-Werror=implicit-function-declaration] 74 | int level = backlight_get_brightness(bd); | ^~~~~~~~~~~~~~~~~~~~~~~~ | pmu_backlight_get_level_brightness drivers/macintosh/via-pmu-backlight.c: At top level: drivers/macintosh/via-pmu-backlight.c:108:21: error: variable 'pmu_backlight_data' has initializer but incomplete type 108 | static const struct backlight_ops pmu_backlight_data = { | ^~~~~~~~~~~~~ drivers/macintosh/via-pmu-backlight.c:109:10: error: 'const struct backlight_ops' has no member named 'update_status' 109 | .update_status = pmu_backlight_update_status, | ^~~~~~~~~~~~~ drivers/macintosh/via-pmu-backlight.c:109:27: warning: excess elements in struct initializer 109 | .update_status = pmu_backlight_update_status, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/macintosh/via-pmu-backlight.c:109:27: note: (near initialization for 'pmu_backlight_data') drivers/macintosh/via-pmu-backlight.c: In function 'pmu_backlight_init': drivers/macintosh/via-pmu-backlight.c:136:37: error: storage size of 'props' isn't known 136 | struct backlight_properties props; | ^~~~~ drivers/macintosh/via-pmu-backlight.c:154:34: error: invalid application of 'sizeof' to incomplete type 'struct backlight_properties' 154 | memset(&props, 0, sizeof(struct backlight_properties)); | ^~~~~~ drivers/macintosh/via-pmu-backlight.c:155:22: error: 'BACKLIGHT_PLATFORM' undeclared (first use in this function) 155 | props.type = BACKLIGHT_PLATFORM; | ^~~~~~~~~~~~~~~~~~ drivers/macintosh/via-pmu-backlight.c:155:22: note: each undeclared identifier is reported only once for each function it appears in drivers/macintosh/via-pmu-backlight.c:157:14: error: implicit declaration of function 'backlight_device_register'; did you mean 'root_device_register'? [-Werror=implicit-function-declaration] 157 | bd = backlight_device_register(name, NULL, NULL, &pmu_backlight_data, | ^~~~~~~~~~~~~~~~~~~~~~~~~ | root_device_register drivers/macintosh/via-pmu-backlight.c:166:19: error: invalid use of undefined type 'struct backlight_device' 166 | level = bd->props.max_brightness; | ^~ drivers/macintosh/via-pmu-backlight.c:176:35: error: invalid use of undefined type 'struct backlight_device' 176 | bd->props.max_brightness / 15); | ^~ drivers/macintosh/via-pmu-backlight.c:179:11: error: invalid use of undefined type 'struct backlight_device' 179 | bd->props.brightness = level; | ^~ drivers/macintosh/via-pmu-backlight.c:180:11: error: invalid use of undefined type 'struct backlight_device' 180 | bd->props.power = FB_BLANK_UNBLANK; | ^~ drivers/macintosh/via-pmu-backlight.c:181:9: error: implicit declaration of function 'backlight_update_status'; did you mean 'pmu_backlight_update_status'? [-Werror=implicit-function-declaration] 181 | backlight_update_status(bd); | ^~~~~~~~~~~~~~~~~~~~~~~ | pmu_backlight_update_status drivers/macintosh/via-pmu-backlight.c:136:37: warning: unused variable 'props' [-Wunused-variable] 136 | struct backlight_properties props; | ^~~~~ drivers/macintosh/via-pmu-backlight.c: At top level: drivers/macintosh/via-pmu-backlight.c:108:35: error: storage size of 'pmu_backlight_data' isn't known 108 | static const struct backlight_ops pmu_backlight_data = { | ^~~~~~~~~~~~~~~~~~ drivers/macintosh/via-pmu-backlight.c:108:35: error: storage size of 'pmu_backlight_data' isn't known cc1: some warnings being treated as errors make[5]: *** [scripts/Makefile.build:244: drivers/macintosh/via-pmu-backlight.o] Error 1 Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> > Michael, if this is fine by you, ack to merge via the drm subsystem > along with the regressing commit? > > BR, > Jani. > > > --- > > arch/powerpc/include/asm/backlight.h | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h > > index 1b5eab62ed04..275d5bb9aa04 100644 > > --- a/arch/powerpc/include/asm/backlight.h > > +++ b/arch/powerpc/include/asm/backlight.h > > @@ -10,6 +10,7 @@ > > #define __ASM_POWERPC_BACKLIGHT_H > > #ifdef __KERNEL__ > > > > +#include <linux/backlight.h> > > #include <linux/fb.h> > > #include <linux/mutex.h> > > -- > Jani Nikula, Intel -- Linaro LKFT https://lkft.linaro.org
diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h index 1b5eab62ed04..275d5bb9aa04 100644 --- a/arch/powerpc/include/asm/backlight.h +++ b/arch/powerpc/include/asm/backlight.h @@ -10,6 +10,7 @@ #define __ASM_POWERPC_BACKLIGHT_H #ifdef __KERNEL__ +#include <linux/backlight.h> #include <linux/fb.h> #include <linux/mutex.h>