From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705) Description of problem: See summary; Alan Cox says "it builds in the base kernel and in my kernel". I've tried building a 2.4.18-17.7 kernel on two different systems, but the compilation bombs out if you add the driver for OPTi 621x. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.make menuconfig or config or whatever 2.ensure that you have CONFIG_BLK_DEV_OPTI621=y in .config 3.make dep && make bzImage Actual Results: make[3]: Entering directory `/usr/src/linux-2.4.18- 17.7.x/drivers/ide' gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-17.7.x/include -Wall -Wstrict- prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame- pointer -pipe -mpreferred-stack-boundary=2 -march=i586 -nostdinc - I /usr/lib/gcc-lib/i386-redhat-linux/2.96/include -DKBUILD_BASENAME=opti621 - c -o opti621.o opti621.c opti621.c: In function `fixup_device_opti621': opti621.c:326: dereferencing pointer to incomplete type opti621.c:326: `PCI_DEVICE_ID_OPTI_82C558' undeclared (first use in this function) opti621.c:326: (Each undeclared identifier is reported only once opti621.c:326: for each function it appears in.) opti621.c:327: warning: implicit declaration of function `PCI_FUNC' opti621.c:327: dereferencing pointer to incomplete type opti621.c:332: dereferencing pointer to incomplete type opti621.c:332: dereferencing pointer to incomplete type make[3]: *** [opti621.o] Error 1 make[3]: Leaving directory `/usr/src/linux-2.4.18-17.7.x/drivers/ide' make[2]: *** [first_rule] Error 2 make[2]: Leaving directory `/usr/src/linux-2.4.18-17.7.x/drivers/ide' make[1]: *** [_subdir_ide] Error 2 make[1]: Leaving directory `/usr/src/linux-2.4.18-17.7.x/drivers' make: *** [_dir_drivers] Error 2 Expected Results: A beautiful new kernel of the highest order. Additional info: The OPTi driver isn't compiled into the standard kernel: Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx OPTI621X: IDE controller on PCI bus 00 dev a0 OPTI621X: detected chipset, but driver not compiled in! OPTI621X: chipset revision 48 OPTI621X: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:pio, hdb:pio So that kind of sucks.
Created attachment 90507 [details] patch to opti621.c from kernel source 2.4.18-26.7.x so it compiles Seeing that this issue is still around in kernel-source-2.4.18-26.7.x I thought I propose the attached simple patch. opti621.c doesn't compile because PCI_DEVICE_ID_OPTI_82C558 is undefined. It gets defined in pci_ids.h. Many ide drivers seem to include pci.h which pulls in pci_ids.h, so I just included it in the opti driver in the same fashion. HTH Steffen.
Fixed in the base kernel now