running make, it gives me a lot of output, something like this (cutted down becouse was too long)
Code: Select all
[.......]
idevice.c:442: warning: excess elements in scalar initializer
idevice.c:442: warning: (near initialization for `bad_disks[15]')
idevice.c:442: warning: excess elements in scalar initializer
idevice.c:442: warning: (near initialization for `bad_disks[15]')
idevice.c:442: warning: excess elements in scalar initializer
idevice.c:442: warning: (near initialization for `bad_disks[15]')
idevice.c:446: warning: data definition has no type or storage class
idevice.c: In function `check_bad_disk':
idevice.c:459: warning: assignment from incompatible pointer type
idevice.c:459: error: `BadModeList' undeclared (first use in this function)
idevice.c:459: error: increment of pointer to unknown structure
idevice.c:459: error: arithmetic on pointer to an incomplete type
idevice.c:460: error: dereferencing pointer to incomplete type
idevice.c:460: error: dereferencing pointer to incomplete type
idevice.c: In function `seagate_hdd_fix':
idevice.c:500: error: dereferencing pointer to incomplete type
In file included from ichip.c:97,
from hpt.c:55:
ihpt3xx.c: In function `SetHpt3xxClk':
ihpt3xx.c:206: error: dereferencing pointer to incomplete type
ihpt3xx.c:207: error: dereferencing pointer to incomplete type
ihpt3xx.c:265: error: dereferencing pointer to incomplete type
ihpt3xx.c:265: error: dereferencing pointer to incomplete type
In file included from hpt.c:57:
vdevice.c: In function `fResetBootMark':
vdevice.c:46: error: dereferencing pointer to incomplete type
vdevice.c: In function `fRegisterVDevices':
vdevice.c:59: error: increment of pointer to unknown structure
vdevice.c:59: error: arithmetic on pointer to an incomplete type
vdevice.c:61: error: dereferencing pointer to incomplete type
vdevice.c:61: error: dereferencing pointer to incomplete type
vdevice.c:62: error: dereferencing pointer to incomplete type
vdevice.c:63: error: dereferencing pointer to incomplete type
vdevice.c:63: error: dereferencing pointer to incomplete type
vdevice.c:66: error: dereferencing pointer to incomplete type
vdevice.c:69: error: dereferencing pointer to incomplete type
vdevice.c:76: error: dereferencing pointer to incomplete type
vdevice.c:79: error: dereferencing pointer to incomplete type
vdevice.c:80: error: dereferencing pointer to incomplete type
vdevice.c: In function `UnregisterVDevice':
vdevice.c:101: error: dereferencing pointer to incomplete type
vdevice.c: In function `fOsDiskFailed':
vdevice.c:113: error: dereferencing pointer to incomplete type
vdevice.c: In function `fCheckBootable':
vdevice.c:125: error: dereferencing pointer to incomplete type
vdevice.c:127: error: dereferencing pointer to incomplete type
vdevice.c:128: error: dereferencing pointer to incomplete type
vdevice.c:132: error: dereferencing pointer to incomplete type
vdevice.c:139: error: dereferencing pointer to incomplete type
vdevice.c:143: error: dereferencing pointer to incomplete type
vdevice.c: At top level:
vdevice.c:206: warning: type mismatch with previous implicit declaration
channel.c:91: warning: previous implicit declaration of `GetCommandFromQueue'
vdevice.c:206: warning: `GetCommandFromQueue' was previously implicitly declared to return `int'
vdevice.c: In function `GetCommandFromQueue':
vdevice.c:208: error: dereferencing pointer to incomplete type
vdevice.c:209: error: dereferencing pointer to incomplete type
vdevice.c:210: error: dereferencing pointer to incomplete type
vdevice.c:211: error: dereferencing pointer to incomplete type
vdevice.c:213: error: dereferencing pointer to incomplete type
vdevice.c:214: error: dereferencing pointer to incomplete type
vdevice.c: At top level:
vdevice.c:219: warning: type mismatch with previous implicit declaration
channel.c:62: warning: previous implicit declaration of `PickCommandFromQueue'
vdevice.c:219: warning: `PickCommandFromQueue' was previously implicitly declare d to return `int'
vdevice.c: In function `PickCommandFromQueue':
vdevice.c:220: error: dereferencing pointer to incomplete type
vdevice.c:221: error: dereferencing pointer to incomplete type
vdevice.c: At top level:
vdevice.c:225: warning: type mismatch with previous implicit declaration
device.c:26: warning: previous implicit declaration of `PutCommandToQueue'
vdevice.c:225: warning: `PutCommandToQueue' was previously implicitly declared t o return `int'
vdevice.c: In function `PutCommandToQueue':
vdevice.c:226: error: dereferencing pointer to incomplete type
vdevice.c:227: error: dereferencing pointer to incomplete type
vdevice.c: In function `fShutdownVDev':
vdevice.c:274: error: dereferencing pointer to incomplete type
vdevice.c:274: error: dereferencing pointer to incomplete type
vdevice.c:275: error: dereferencing pointer to incomplete type
In file included from hpt.c:58:
init.c: In function `fGetDeviceTable':
init.c:96: error: dereferencing pointer to incomplete type
init.c: In function `OsReturnTable':
init.c:101: error: dereferencing pointer to incomplete type
hpt.c: At top level:
entry.c:857: warning: `hpt_scsi_unregister_module' defined but not used
make: *** [hpt.o] Error 1
Code: Select all
2. Build the driver
---------------------
1) Install kernel source package and building tools.
You shall use same configuration for the kernel and the driver.
Otherwise the driver may be unable to load or work abnormally.
Please refer to the documents in your Linux distribution for kernel
configuration.
If the kernel contains built-in IDE support for HPT302 controller,
you must disable the kernel support before using this driver. You can
either rebuild a kernel without HPT302 support, or use boot parameters
like "hdx=noprobe" to disable the built-in driver.
2) Extract the driver files to somewhere.
3) Make the symbol link /usr/src/linux to point to your kernel source
directory.
4) Build the driver:
# make
Available make options:
BOOT=1
Define __BOOT_KERNEL_BOOT.
SMP=1
Define __BOOT_KERNEL_SMP for SMP kernels.
ATHLON=1
Build driver for Red Hat Linux athlon kernel.
3. Using the driver
---------------------
1) Load module "scsi_mod" and "sd_mod" if they are not built into kernel:
# modprobe sd_mod
2) Load the driver.
# insmod ./hpt302.o
thank you in advance,
michele
ps: is there any kernel that already supports this controller?
