2005-03-15 17:22:53

by Joel Schopp

[permalink] [raw]
Subject: [PATCH] matroxfb compile error


This patch fixes this compile error by causing the object that
contains the referenced function to be built:

drivers/built-in.o(.text+0x26db8): In function `.initMatrox2':
: undefined reference to `.mac_vmode_to_var'

Signed-off-by: Joel Schopp <[email protected]>
---


diff -puN drivers/video/Makefile~matrox drivers/video/Makefile
--- 2.6.11-bk10/drivers/video/Makefile~matrox 2005-03-15 11:08:44.000000000 -0600
+++ 2.6.11-bk10-jschopp/drivers/video/Makefile 2005-03-15 11:12:08.000000000 -0600
@@ -26,7 +26,7 @@ obj-$(CONFIG_FB_CYBER2000) += cyb
obj-$(CONFIG_FB_PM2) += pm2fb.o
obj-$(CONFIG_FB_PM3) += pm3fb.o

-obj-$(CONFIG_FB_MATROX) += matrox/
+obj-$(CONFIG_FB_MATROX) += matrox/ macmodes.o
obj-$(CONFIG_FB_RIVA) += riva/ vgastate.o
obj-$(CONFIG_FB_NVIDIA) += nvidia/
obj-$(CONFIG_FB_ATY) += aty/
_


Attachments:
matrox.patch (859.00 B)

2005-03-16 23:20:14

by [email protected]

[permalink] [raw]
Subject: Re: [PATCH] matroxfb compile error

It is already fixed the patch just hasn't made it in yet.

--
Jon Smirl
[email protected]

Fix link error for PPC-based drivers that also use functions in macmodes.c.

Signed-off-by: Antonino Daplas <[email protected]>
---

Kconfig | 16 ++++++++++++++++
Makefile | 9 +++++----
macmodes.c | 9 ++++++---
3 files changed, 27 insertions(+), 7 deletions(-)

diff -Nru a/drivers/video/Kconfig b/drivers/video/Kconfig
--- a/drivers/video/Kconfig 2005-03-05 07:56:36 +08:00
+++ b/drivers/video/Kconfig 2005-03-14 06:50:28 +08:00
@@ -74,6 +74,11 @@
This is used by drivers that don't provide their own (accelerated)
version.

+config FB_MACMODES
+ tristate
+ depends on FB
+ default n
+
config FB_MODE_HELPERS
bool "Enable Video Mode Handling Helpers"
depends on FB
@@ -323,6 +328,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES
help
Say Y if you want support with Open Firmware for your graphics
board.
@@ -334,6 +340,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES
help
This driver supports a frame buffer for the graphics adapter in the
Power Macintosh 7300 and others.
@@ -345,6 +352,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES
help
This driver supports a frame buffer for the "platinum" graphics
adapter in some Power Macintoshes.
@@ -356,6 +364,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES
help
This driver supports a frame buffer for the "valkyrie" graphics
adapter in some Power Macintoshes.
@@ -384,6 +393,7 @@
depends on (FB = y) && PCI
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES if PPC
help
The IMS Twin Turbo is a PCI-based frame buffer card bundled with
many Macintosh and compatible computers.
@@ -436,6 +446,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES

# bool ' Apple DAFB display support' CONFIG_FB_DAFB
config FB_HP300
@@ -753,6 +764,7 @@
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_TILEBLITTING
+ select FB_MACMODES if PPC_PMAC
---help---
Say Y here if you have a Matrox Millennium, Matrox Millennium II,
Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
@@ -892,6 +904,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES if PPC
help
Choose this option if you want to use an ATI Radeon graphics card as
a framebuffer device. There are both PCI and AGP versions. You
@@ -909,6 +922,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES if PPC_OF
help
Choose this option if you want to use an ATI Radeon graphics card as
a framebuffer device. There are both PCI and AGP versions. You
@@ -947,6 +961,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES if PPC_PMAC
help
This driver supports graphics boards with the ATI Rage128 chips.
Say Y if you have such a graphics board and read
@@ -962,6 +977,7 @@
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
+ select FB_MACMODES if PPC
help
This driver supports graphics boards with the ATI Mach64 chips.
Say Y if you have such a graphics board.
diff -Nru a/drivers/video/Makefile b/drivers/video/Makefile
--- a/drivers/video/Makefile 2005-03-12 23:22:36 +08:00
+++ b/drivers/video/Makefile 2005-03-14 06:55:07 +08:00
@@ -16,6 +16,7 @@
obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o
obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o
obj-$(CONFIG_FB_SOFT_CURSOR) += softcursor.o
+obj-$(CONFIG_FB_MACMODES) += macmodes.o

# Hardware specific drivers go first
obj-$(CONFIG_FB_RETINAZ3) += retz3fb.o
@@ -41,9 +42,9 @@
obj-$(CONFIG_FB_NEOMAGIC) += neofb.o vgastate.o
obj-$(CONFIG_FB_VIRGE) += virgefb.o
obj-$(CONFIG_FB_3DFX) += tdfxfb.o
-obj-$(CONFIG_FB_CONTROL) += controlfb.o macmodes.o
-obj-$(CONFIG_FB_PLATINUM) += platinumfb.o macmodes.o
-obj-$(CONFIG_FB_VALKYRIE) += valkyriefb.o macmodes.o
+obj-$(CONFIG_FB_CONTROL) += controlfb.o
+obj-$(CONFIG_FB_PLATINUM) += platinumfb.o
+obj-$(CONFIG_FB_VALKYRIE) += valkyriefb.o
obj-$(CONFIG_FB_CT65550) += chipsfb.o
obj-$(CONFIG_FB_IMSTT) += imsttfb.o
obj-$(CONFIG_FB_S3TRIO) += S3triofb.o
@@ -61,7 +62,7 @@
obj-$(CONFIG_FB_SGIVW) += sgivwfb.o
obj-$(CONFIG_FB_ACORN) += acornfb.o
obj-$(CONFIG_FB_ATARI) += atafb.o
-obj-$(CONFIG_FB_MAC) += macfb.o macmodes.o
+obj-$(CONFIG_FB_MAC) += macfb.o
obj-$(CONFIG_FB_HGA) += hgafb.o
obj-$(CONFIG_FB_IGA) += igafb.o
obj-$(CONFIG_FB_APOLLO) += dnfb.o
diff -Nru a/drivers/video/macmodes.c b/drivers/video/macmodes.c
--- a/drivers/video/macmodes.c 2005-03-12 23:23:12 +08:00
+++ b/drivers/video/macmodes.c 2005-03-14 06:50:30 +08:00
@@ -19,6 +19,7 @@
#include <linux/errno.h>
#include <linux/fb.h>
#include <linux/string.h>
+#include <linux/module.h>

#include "macmodes.h"

@@ -281,7 +282,7 @@
var->vmode = mode->vmode;
return 0;
}
-
+EXPORT_SYMBOL(mac_vmode_to_var);

/**
* mac_var_to_vmode - convert var structure to MacOS vmode/cmode pair
@@ -326,7 +327,7 @@
}
return -EINVAL;
}
-
+EXPORT_SYMBOL(mac_var_to_vmode);

/**
* mac_map_monitor_sense - Convert monitor sense to vmode
@@ -348,7 +349,7 @@
break;
return map->vmode;
}
-
+EXPORT_SYMBOL(mac_map_monitor_sense);

/**
* mac_find_mode - find a video mode
@@ -384,3 +385,5 @@
return fb_find_mode(var, info, mode_option, db, dbsize,
&mac_modedb[DEFAULT_MODEDB_INDEX], default_bpp);
}
+EXPORT_SYMBOL(mac_find_mode);
+