Show
Ignore:
Timestamp:
12/05/98 01:47:22 (14 years ago)
Author:
frodo
Message:

PIIX4 update

It compiles now for 2.0 kernels; I hope it still compiles for 2.1 kernels :-)

Changes:
* The non-BIOS PCI interface was introduced in kernel 2.1.54, so I changed

all #ifdef statements to use that kernel as starting point

* I integrated everything in piix4.h into piix4.c; as no other module will

ever need to know about anything PIIX4-specific, we do not need a
separate header file (same went for lm78.c and lm75.c)

* In piix4_setup, both the 2.0 and 2.1 versions continue seeking for PCI

devices until they have found 'function 3' of the PIIX4. This is the
'function' we need for SMBus access.

* At some places in piix4_setup, even for 2.1 kernels the PCI BIOS code was

used. This was seemingly needed, probably because the wrong 'function'
was accessed. I have removed this; if there are troubles with the PIIX4 on
kernels newer than 2.1.53, we need to introduce it again.

* Renamed global things to start uniformly with piix4_
* Changed printk statements to start with piix4.o:
* Pasted in missing part of piix4_access
* No need to lock the adapter on access; this is already done by the

smbus_access function in smbus.c. I corrected a locking bug there too,
by the way.

* Added a few include files needed by 2.0 at least
* Replaced the call to schedule_timeout() in piix4_do_pause with the old

code; schedule_timeout seems to be defined nowhere?!? Phil, was this
your addition, and if so, what should it read?

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/kernel/compat.h

    r22 r34  
    5050#endif 
    5151 
     52/* If the new PCI interface is not present, fall back on the old PCI BIOS 
     53   interface. We also define some things to unite both interfaces. Not 
     54   very nice, but it works like a charm.  
     55   device is the 2.1 struct pci_dev, bus is the 2.0 bus number, dev is the 
     56   2.0 device/function code, com is the PCI command, and res is the result. */ 
     57#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,1,54)) 
     58#define pci_present pcibios_present 
     59#define pci_read_config_byte_united(device,bus,dev,com,res) \ 
     60                            pcibios_read_config_byte(bus,dev,com,res); 
     61#define pci_read_config_word_united(device,bus,dev,com,res) \ 
     62                            pcibios_read_config_word(bus,dev,com,res); 
     63#define pci_write_config_byte_united(device,bus,dev,com,res) \ 
     64                            pcibios_write_config_byte(bus,dev,com,res); 
     65#define pci_write_config_word_united(device,bus,dev,com,res) \ 
     66                            pcibios_write_config_word(bus,dev,com,res); 
     67#else 
     68#define pci_read_config_byte_united(device,bus,dev,com,res) \ 
     69                            pci_read_config_byte(device,com,res); 
     70#define pci_read_config_word_united(device,bus,dev,com,res) \ 
     71                            pci_read_config_word(device,com,res); 
     72#define pci_write_config_byte_united(device,bus,dev,com,res) \ 
     73                            pci_write_config_byte(device,com,res); 
     74#define pci_write_config_word_united(device,bus,dev,com,res) \ 
     75                            pci_write_config_byte(device,com,res); 
     76#endif 
     77 
    5278 
    5379#endif /* SENSORS_COMPAT_H */