this is rather annoying, now i have to pull either an iso (assuming i can find it or get into the site) or wait until it appears at a computer fair, somehow i don't think that will happen by tomorrow. if the mirror was up, at least it would probably have only been 100m or so (optimist that i am) change, mind you from a final beta to production, a 15-20% change seems a bit worrying :-) and excessive. btw, why does pci_read_config_word return a populated 64bits now ? byte is still 8bits, word 16, long word 32 isn't it ? see prior post....attached :-) srp
the following code segment seems to give me different answers static int adc_count = 0; int init_module (void) { PCI_Device_T *PCI_Device = NULL; unsigned short VendorID = 0; unsigned short DeviceID = 0; unsigned long int subsystem_id = 0; u32 subsys_id; // what we're looking for VendorID = 0x10b5; DeviceID = 0x9050; while ( (PCI_Device = pci_find_device( VendorID, DeviceID, PCI_Device)) ) { subsystem_id = pci_read_config_word( PCI_Device, (u8)PCI_SUBSYSTEM_ID, (u32)(&subsys_id) ); printk( KERN_CRIT "class %xH\n", PCI_Device->class); printk( KERN_CRIT "subsystem_id %xH\n", subsystem_id); printk( KERN_CRIT "subsys_id %xH\n", subsys_id); if (subsys_id == 0x0605 ) { /* arcom value from manual */ adc_count++; printk( KERN_CRIT "Card %d PC-ADADIO\n", adc_count+1); } } //bits removed, {} may not balance } helios [root@work adc]# cc -v Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/pgcc-2.91.66/specs gcc version pgcc-2.91.66 19990314 (egcs-1.1.2 release) [root@work adc]# uname -a Linux work.flat3 2.2.13-22mdk #2 SMP Thu Jan 6 08:42:33 GMT 2000 i686 unknown [root@work adc]#make all rm -f *.o *~ core gcc -D__KERNEL__ -I/usr/src/linux/include -I../include/ -DMODULE -Wall -O2 -c adc.c -o adc.o adc.c:84: warning: initialization makes pointer from integer without a cast adc.c:85: warning: initialization makes pointer from integer without a cast adc.c:88: warning: initialization makes pointer from integer without a cast adc.c:90: warning: initialization makes pointer from integer without a cast adc.c:92: warning: initialization makes pointer from integer without a cast adc.c: In function nit_module': adc.c:183: warning: passing arg 3 of ci_read_config_word' makes pointer from integer without a cast adc.c:186: warning: unsigned int format, long unsigned int arg (arg 2) cp ./adc.o /lib/modules [root@work adc]# [root@work adc]# insmod ./adc.o class 68000H subsystem_id 0H subsys_id 605H Card 1 PC-ADADIO chan 0 64 chan 1 64 chan 2 80 chan 3 64 chan 4 64 chan 5 0 chan 6 0 chan 7 0 chan 8 0 chan 9 0 chan 10 0 chan 11 0 chan 12 672 chan 13 768 chan 14 864 chan 15 2048 class 68000H subsystem_id 0H subsys_id 591H [root@work adc]# helios using 2.2.14 [root@work adc]# uname -a Linux work.flat3 2.2.14-13mdk #6 SMP Wed Jan 12 15:46:20 GMT 2000 i686 unknown [root@work adc]# cc -v Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/pgcc-2.91.66/specs gcc version pgcc-2.91.66 19990314 (egcs-1.1.2 release) [root@work adc]# [root@work adc]# insmod ./adc.o class 68000H subsystem_id 0H subsys_id 605H Card 1 PC-ADADIO chan 0 80 chan 1 64 chan 2 64 chan 3 48 chan 4 64 chan 5 0 chan 6 0 chan 7 0 chan 8 0 chan 9 0 chan 10 0 chan 11 16 chan 12 640 chan 13 720 chan 14 816 chan 15 2000 class 68000H subsystem_id 0H subsys_id 591H [root@work adc]# M7.0b3 using 2.2.13-22mdk [root@localhost adc]# uname -a Linux localhost.localdomain 2.2.13-22mdk #6 SMP Wed Jan 12 15:08:37 GMT 2000 i686 unknown [root@localhost rig]# cc -v Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/specs gcc version 2.95.2 19991024 (release) [root@localhost rig]# gcc -D__KERNEL__ -I/usr/src/linux/include -I../include/ -DMODULE -Wall -O2 -c adc.c -o adc.o adc.c:84: warning: initialization makes pointer from integer without a cast adc.c:85: warning: initialization makes pointer from integer without a cast adc.c:88: warning: initialization makes pointer from integer without a cast adc.c:90: warning: initialization makes pointer from integer without a cast adc.c:92: warning: initialization makes pointer from integer without a cast adc.c: In function nit_module': adc.c:183: warning: passing arg 3 of ci_read_config_word' makes pointer from integer without a cast adc.c:186: warning: unsigned int format, long unsigned int arg (arg 2) adc.c:187: warning: unsigned int format, pointer arg (arg 2) cp ./adc.o /lib/modules class 68000H subsystem_id 0H subsys_id c63aff38H class 68000H subsystem_id 0H subsys_id c63aff38H M7.0b3 2.2.14-13mdk [root@localhost adc]# uname -a Linux localhost.localdomain 2.2.14-13mdk #3 SMP Tue Jan 11 09:05:48 GMT 2000 i686 unknown [root@localhost adc]# cc -v Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/specs gcc version 2.95.2 19991024 (release) [root@localhost adc]# [root@localhost adc]# make all rm -f *.o *~ core gcc -D__KERNEL__ -I/usr/src/linux/include -I../include/ -DMODULE -Wall -O2 -c adc.c -o adc.o adc.c:84: warning: initialization makes pointer from integer without a cast adc.c:85: warning: initialization makes pointer from integer without a cast adc.c:88: warning: initialization makes pointer from integer without a cast adc.c:90: warning: initialization makes pointer from integer without a cast adc.c:92: warning: initialization makes pointer from integer without a cast adc.c: In function nit_module': adc.c:183: warning: passing arg 3 of ci_read_config_word' makes pointer from integer without a cast adc.c:186: warning: unsigned int format, long unsigned int arg (arg 2) cp ./adc.o /lib/modules [root@localhost adc]# [root@localhost adc]# insmod ./adc.o class 68000H subsystem_id 0H subsys_id 8050605H class 68000H subsystem_id 0H subsys_id 8050591H [root@localhost adc]# values i require are the lower 16bits could someone please tell me whats going on ?