Bug 76811 - Kernel doesn't compile with CONFIG_BLK_DEV_OPTI621=y
Summary: Kernel doesn't compile with CONFIG_BLK_DEV_OPTI621=y
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.3
Hardware: i586
OS: Linux
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
Depends On:
TreeView+ depends on / blocked
Reported: 2002-10-27 07:01 UTC by Juha Saarinen
Modified: 2007-03-27 03:58 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2003-06-08 19:24:35 UTC

Attachments (Terms of Use)
patch to opti621.c from kernel source 2.4.18-26.7.x so it compiles (257 bytes, patch)
2003-03-07 10:40 UTC, Steffen Kluge
no flags Details | Diff

Description Juha Saarinen 2002-10-27 07:01:18 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 

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:

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-
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 
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.

Comment 1 Steffen Kluge 2003-03-07 10:40:56 UTC
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.


Comment 2 Alan Cox 2003-06-08 19:24:35 UTC
Fixed in the base kernel now

Note You need to log in before you can comment on or make changes to this bug.