diff mbox

[i915] Kernel does not compile when set to use i915 kernel mode-setting per default (CONFIG_DRM_I915_KMS=y)

Message ID 20090518121140.d0bacafd.randy.dunlap@oracle.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Randy Dunlap May 18, 2009, 7:11 p.m. UTC
On Mon, 18 May 2009 21:01:06 +0200 Rafael J. Wysocki wrote:

> Adding CCs.
> 
> On Monday 18 May 2009, you wrote:
> > (First post, so please CC to zorael@gmail.com in case it doesn't automatically.)
> > 
> > 
> > I'm trying to compile 2.6.30-rc6 to enable kernel mode-setting *per
> > default*, for my Intel 945GME video chipset. Alas, when compiling, it
> > halts with the following tidbit:
> > 
> > ...
> >   LD      .tmp_vmlinux1
> > drivers/built-in.o: In function `intel_opregion_free':
> > /usr/src/linux/drivers/gpu/drm/i915/i915_opregion.c:422: undefined
> > reference to `acpi_video_exit'
> > drivers/built-in.o: In function `intel_opregion_init':
> > /usr/src/linux/drivers/gpu/drm/i915/i915_opregion.c:393: undefined
> > reference to `acpi_video_register'
> > make[1]: *** [.tmp_vmlinux1] Error 1
> > make[1]: Leaving directory `/usr/src/linux-2.6.29'
> > make: *** [debian/stamp/build/kernel] Error 2
> > 
> > 
> > grepping acpi_video_register recursively I see it's defined as an
> > empty function in ./include/acpi/video.h, and as a more proper
> > function in ./drivers/acpi/video.c. Does somehow setting it to use KMS
> > per default via CONFIG_DRM_I915_KMS=y stop it from reading those
> > files?
> > 
> > I used to run with KMS by default in the early -30rc*s, but at some
> > point (rc2?), it stopped compiling succesfully. If I don't enable it
> > per default, it *does* compile, though I don't know how to explicitly
> > enable it at boot-time. So I'm living without KMS for the time being.
> > Woe.
> > 
> > Anything obvious I'm doing wrong?


Len posted a patch for this.  It's below.
Len, do you have this patch queued for Linus?

---
From: Len Brown <len.brown@intel.com>
Subject: [PATCH] ACPI, i915: build fix

drivers/built-in.o: In function `intel_opregion_init':
(.text+0x9d540): undefined reference to `acpi_video_register'

Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/gpu/drm/Kconfig |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Comments

Rafael Wysocki May 18, 2009, 7:59 p.m. UTC | #1
On Monday 18 May 2009, Randy Dunlap wrote:
> On Mon, 18 May 2009 21:01:06 +0200 Rafael J. Wysocki wrote:
> 
> > Adding CCs.
> > 
> > On Monday 18 May 2009, you wrote:
> > > (First post, so please CC to zorael@gmail.com in case it doesn't automatically.)
> > > 
> > > 
> > > I'm trying to compile 2.6.30-rc6 to enable kernel mode-setting *per
> > > default*, for my Intel 945GME video chipset. Alas, when compiling, it
> > > halts with the following tidbit:
> > > 
> > > ...
> > >   LD      .tmp_vmlinux1
> > > drivers/built-in.o: In function `intel_opregion_free':
> > > /usr/src/linux/drivers/gpu/drm/i915/i915_opregion.c:422: undefined
> > > reference to `acpi_video_exit'
> > > drivers/built-in.o: In function `intel_opregion_init':
> > > /usr/src/linux/drivers/gpu/drm/i915/i915_opregion.c:393: undefined
> > > reference to `acpi_video_register'
> > > make[1]: *** [.tmp_vmlinux1] Error 1
> > > make[1]: Leaving directory `/usr/src/linux-2.6.29'
> > > make: *** [debian/stamp/build/kernel] Error 2
> > > 
> > > 
> > > grepping acpi_video_register recursively I see it's defined as an
> > > empty function in ./include/acpi/video.h, and as a more proper
> > > function in ./drivers/acpi/video.c. Does somehow setting it to use KMS
> > > per default via CONFIG_DRM_I915_KMS=y stop it from reading those
> > > files?
> > > 
> > > I used to run with KMS by default in the early -30rc*s, but at some
> > > point (rc2?), it stopped compiling succesfully. If I don't enable it
> > > per default, it *does* compile, though I don't know how to explicitly
> > > enable it at boot-time. So I'm living without KMS for the time being.
> > > Woe.
> > > 
> > > Anything obvious I'm doing wrong?
> 
> 
> Len posted a patch for this.  It's below.
> Len, do you have this patch queued for Linus?

Ah, it's commit ecb4aed78dcf09e48c8c34c8c2fa7f5c69344be6, which went in
slightly after -rc6.  So it should be fixed.

Zorael, please test the current Linus' tree.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Woody Suwalski May 20, 2009, 7:30 p.m. UTC | #2
Rafael J. Wysocki wrote:
> On Monday 18 May 2009, Randy Dunlap wrote:
>   
>> On Mon, 18 May 2009 21:01:06 +0200 Rafael J. Wysocki wrote:
>>
>>     
>>> Adding CCs.
>>>
>>> On Monday 18 May 2009, you wrote:
>>>       
>>>> (First post, so please CC to zorael@gmail.com in case it doesn't automatically.)
>>>>
>>>>
>>>> I'm trying to compile 2.6.30-rc6 to enable kernel mode-setting *per
>>>> default*, for my Intel 945GME video chipset. Alas, when compiling, it
>>>> halts with the following tidbit:
>>>>
>>>> ...
>>>>   LD      .tmp_vmlinux1
>>>> drivers/built-in.o: In function `intel_opregion_free':
>>>> /usr/src/linux/drivers/gpu/drm/i915/i915_opregion.c:422: undefined
>>>> reference to `acpi_video_exit'
>>>> drivers/built-in.o: In function `intel_opregion_init':
>>>> /usr/src/linux/drivers/gpu/drm/i915/i915_opregion.c:393: undefined
>>>> reference to `acpi_video_register'
>>>> make[1]: *** [.tmp_vmlinux1] Error 1
>>>> make[1]: Leaving directory `/usr/src/linux-2.6.29'
>>>> make: *** [debian/stamp/build/kernel] Error 2
>>>>
>>>>
>>>> grepping acpi_video_register recursively I see it's defined as an
>>>> empty function in ./include/acpi/video.h, and as a more proper
>>>> function in ./drivers/acpi/video.c. Does somehow setting it to use KMS
>>>> per default via CONFIG_DRM_I915_KMS=y stop it from reading those
>>>> files?
>>>>
>>>> I used to run with KMS by default in the early -30rc*s, but at some
>>>> point (rc2?), it stopped compiling succesfully. If I don't enable it
>>>> per default, it *does* compile, though I don't know how to explicitly
>>>> enable it at boot-time. So I'm living without KMS for the time being.
>>>> Woe.
>>>>
>>>> Anything obvious I'm doing wrong?
>>>>         
>> Len posted a patch for this.  It's below.
>> Len, do you have this patch queued for Linus?
>>     
>
> Ah, it's commit ecb4aed78dcf09e48c8c34c8c2fa7f5c69344be6, which went in
> slightly after -rc6.  So it should be fixed.
>
> Zorael, please test the current Linus' tree.
>
>   
Len's patch idea does not work for me - if ACPI is build as a module, I 
have no way to force acpi-video to be built in.
And kernel with i915 built-in breaks...
So to summarize: acpi=m with i915=y is broken...

For now I am simply commenting-out the i915 acpi-video calls, but that 
is not a good way...
We need to move the core acpi-video to the main kernel...

Thanks, Woody
diff mbox

Patch

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 3a22eb9..f33d252 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -83,6 +83,12 @@  config DRM_I915
 config DRM_I915_KMS
 	bool "Enable modesetting on intel by default"
 	depends on DRM_I915
+	# i915 KMS depends on ACPI_VIDEO when ACPI is enabled
+	# but for select to work, need to select ACPI_VIDEO's dependencies, ick
+	select VIDEO_OUTPUT_CONTROL if ACPI
+	select BACKLIGHT_CLASS_DEVICE if ACPI
+	select INPUT if ACPI
+	select ACPI_VIDEO if ACPI
 	help
 	  Choose this option if you want kernel modesetting enabled by default,
 	  and you have a new enough userspace to support this. Running old