lkml.org 
[lkml]   [2009]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [origin tree build failure] [PATCH] Re: [git pull] drm tree.

>
> there's a new build failure:
>
> drivers/built-in.o: In function `drm_irq_uninstall':
> (.text+0xb719e): undefined reference to `vga_client_register'
> drivers/built-in.o: In function `drm_irq_install':
> (.text+0xb7309): undefined reference to `vga_client_register'
> drivers/built-in.o: In function `radeon_device_fini':
> (.text+0xe400f): undefined reference to `vga_client_register'
> drivers/built-in.o: In function `radeon_device_init':
> (.text+0xe455b): undefined reference to `vga_client_register'
>
> with the attached config, introduced with upstream merge 44040f1.
>
> At first sight it appears to be due to CONFIG_DRM_RADEON relying on
> VGA_ARB facilities but this is not expressed in the Kconfig rules. The
> patch below solves this - but this is just a quick patch, i have not
> investigated any deeper.
>
> Review of the code suggests that i915 has a similar dependency problem -
> i fixed that too.

The way it should work is VGA ARB should be enabled on any platforms we
have PCI unless EMBEDDED turns it off, since arbitration of VGA isn't
reliant on a drm device, I'm not sure what Kconfig magic this would
require, and where it would need to be. This patch should at least allow
builds to work until I figure out any Kconfig magic.

From 8a874578cbf8b07b988e666c15fa0ba767f3c1cb Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Tue, 22 Sep 2009 13:53:00 +1000
Subject: [PATCH] vgaarb: wrap the client register API so we can disable VGA ARB.

This provides an dummy register function so everything builds
if VGA arb is turned off.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
include/linux/vgaarb.h | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h
index e81c64a..b0feb79 100644
--- a/include/linux/vgaarb.h
+++ b/include/linux/vgaarb.h
@@ -41,7 +41,7 @@
* interrupts at any time.
*/
extern void vga_set_legacy_decoding(struct pci_dev *pdev,
- unsigned int decodes);
+ unsigned int decodes);

/**
* vga_get - acquire & locks VGA resources
@@ -193,8 +193,17 @@ static inline int vga_conflicts(struct pci_dev *p1, struct pci_dev *p2)
* They driver will get a callback when VGA arbitration is first used
* by userspace since we some older X servers have issues.
*/
+#if defined(CONFIG_VGA_ARB)
int vga_client_register(struct pci_dev *pdev, void *cookie,
void (*irq_set_state)(void *cookie, bool state),
unsigned int (*set_vga_decode)(void *cookie, bool state));
+#else
+static inline int vga_client_register(struct pci_dev *pdev, void *cookie,
+ void (*irq_set_state)(void *cookie, bool state),
+ unsigned int (*set_vga_decode)(void *cookie, bool state));
+{
+ return 0;
+}
+#endif

#endif /* LINUX_VGA_H */
--
1.6.0.6


\
 
 \ /
  Last update: 2009-09-22 05:59    [W:0.091 / U:0.348 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site