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

From: Randy Dunlap
Date: Wed May 20 2009 - 17:27:20 EST


Woody Suwalski wrote:
> Randy Dunlap wrote:
>> Woody Suwalski wrote:
>>
>>> 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@xxxxxxxxx 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...
>>>
>>
>> Please post your troublesome kernel .config file.
>>
>> Thanks,
>>
> Certainly...
> Here it is inlined:

Thanks. If Len's patch is moved to apply to DRM_I915 instead of to
DRM_I915_KMS, it works for me, but I'll leave it to Len to decide
if that's the right or wrong thing to do.

---


From: Len Brown <len.brown@xxxxxxxxx>
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@xxxxxxxxx>
Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
---
drivers/gpu/drm/Kconfig | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

--- lnx-2630-rc6.orig/drivers/gpu/drm/Kconfig
+++ lnx-2630-rc6/drivers/gpu/drm/Kconfig
@@ -67,12 +67,18 @@ config DRM_I830
will load the correct one.

config DRM_I915
+ tristate "i915 driver"
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB
select FRAMEBUFFER_CONSOLE if !EMBEDDED
- tristate "i915 driver"
+ # i915 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 have a system that has Intel 830M, 845G,
852GM, 855GM 865G or 915G integrated graphics. If M is selected, the



--
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon
http://linuxplumbersconf.org/2009/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/