mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-27 12:30:43 +00:00
Removal of kernel 2.0 and 2.1 compatibility: pass three
Modified mkpatch and documentation git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@706 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
888d32f50b
commit
83d5845df5
5 files changed
+8
-201
No files matched your search
@@ -13,6 +13,9 @@ ask CVS about it:
|
||||
for example:
|
||||
cvs diff -r V2-0-0 -r V2-0-1 -u
|
||||
|
||||
2.5.0 (200001??)
|
||||
Dropped all kernel 2.0 and 2.1 compatibility
|
||||
|
||||
2.4.5 (20000116)
|
||||
Introduced DESTDIR installation prefix
|
||||
Module lm80: fixes, temperature now read and set correctly
|
||||
|
||||
@@ -14,8 +14,6 @@ has its own strong points. They are:
|
||||
|
||||
Each of these ways will be described below in detail.
|
||||
|
||||
NOTE: OPTION 2 WILL CURRENTLY NOT WORK FOR 2.0 AND OLDER 2.1 KERNELS!
|
||||
|
||||
NOTE: IN EACH CASE, YOU WILL HAVE TO GET AND INSTALL THE I2C PACKAGE FIRST!
|
||||
SET COMPILE_KERNEL TO 0 IN THE MAIN MAKEFILE FOR OPTION 2, UNLESS
|
||||
YOU NEED ALPHA OR BETA DRIVERS (SEE BELOW)
|
||||
@@ -241,7 +239,7 @@ Patching the kernel (compilation option 2)
|
||||
==========================================
|
||||
|
||||
There is a special script which should be able to generate diffs against
|
||||
any 2.0, 2.1, 2.2 and 2.3 kernel. Please report any problems to our
|
||||
any 2.2 or 2.3 kernel. Please report any problems to our
|
||||
mailinglist. Note that it may fail, and probably silently, if you have
|
||||
applied other patches to your kernel tree, or for very new kernels.
|
||||
It *is* safe to run it if your kernel already has the lm_sensors drivers.
|
||||
|
||||
@@ -9,6 +9,10 @@ modules for general SMBus access and hardware monitoring. There are quite
|
||||
a few changes compared with 1.x.y versions; they are now officially
|
||||
unsupported.
|
||||
|
||||
WARNING! Starting with lm_sensors version 2.5.0, only kernels 2.2.0 and
|
||||
later are supported. Use lm_sensors version 2.4.5 if you use an older
|
||||
kernel.
|
||||
|
||||
WARNING! If you downloaded this package through our CVS archive, you walk
|
||||
the cutting edge. Things may not even compile! On the other hand, you will
|
||||
be the first to profit from new drivers and other changes. Have fun!
|
||||
|
||||
@@ -58,9 +58,3 @@ files were already present in the kernel, but had to be patched. Because
|
||||
they can change between kernel versions, I had to scan them by hand to
|
||||
find where the new code should be inserted. Each file has documented
|
||||
what actually happens.
|
||||
|
||||
One special other thing is done for each of the files specified in FILES.
|
||||
The include-file `compat.h' is removed from each source file, and explicit
|
||||
compatibility statements are added. The files are scanned for that, to
|
||||
see what compatibility statements are needed. In a future version, you
|
||||
will be able to specify which of those you want.
|
||||
@@ -762,198 +762,6 @@ sub main
|
||||
eval $sedscript;
|
||||
if (m@#\s*include\s*"version.h"@) {
|
||||
print OUTPUT $version_string;
|
||||
} elsif (m@#\s*include\s*"compat.h"@) {
|
||||
print OUTPUT << 'EOF';
|
||||
|
||||
/* --> COMPATIBILITY SECTION FOR OLD (2.0, 2.1) KERNELS */
|
||||
|
||||
#ifdef MODULE
|
||||
#include <linux/module.h>
|
||||
#endif /* def MODULE */
|
||||
#ifndef MODULE_AUTHOR
|
||||
#define MODULE_AUTHOR(noone)
|
||||
#endif
|
||||
#ifndef MODULE_DESCRIPTION
|
||||
#define MODULE_DESCRIPTION(none)
|
||||
#endif
|
||||
#ifndef MODULE_PARM
|
||||
#define MODULE_PARM(no,param)
|
||||
#endif
|
||||
#ifndef MODULE_PARM_DESC
|
||||
#define MODULE_PARM_DESC(no,description)
|
||||
#endif /* def MODULE */
|
||||
|
||||
EOF
|
||||
|
||||
if (`grep THIS_MODULE "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,13)
|
||||
/* This is safe, because we won't use it for any kernels below 2.3.27 */
|
||||
#define THIS_MODULE NULL
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep KERNEL_VERSION "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#include <linux/version.h>
|
||||
#ifndef KERNEL_VERSION
|
||||
#define KERNEL_VERSION(a,b,c) (((a) << 16) | ((b) << 8) | (c))
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep EXPORT_NO_SYMBOLS "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)
|
||||
#define EXPORT_NO_SYMBOLS
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep EXPORT_SYMBOL "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)
|
||||
#define EXPORT_SYMBOL(noexport)
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep 'copy_from_user\\|copy_to_user\\|get_user_data' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
/* copy_from/to_usr is called memcpy_from/to_fs in 2.0 kernels
|
||||
get_user was redefined in 2.1 kernels to use two arguments, and returns
|
||||
an error code */
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,1,4))
|
||||
#define copy_from_user memcpy_fromfs
|
||||
#define copy_to_user memcpy_tofs
|
||||
#define get_user_data(to,from) ((to) = get_user(from),0)
|
||||
#else
|
||||
#include <asm/uaccess.h>
|
||||
#define get_user_data(to,from) get_user(to,from)
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep 'schedule_timeout' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
/* Add a scheduling fix for the new code in kernel 2.1.127 */
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,1,127))
|
||||
#define schedule_timeout(x) ( current->timeout = jiffies + (x), schedule() )
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep 'pci_' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
/* If the new PCI interface is not present, fall back on the old PCI BIOS
|
||||
interface. We also define some things to unite both interfaces. Not
|
||||
very nice, but it works like a charm.
|
||||
device is the 2.1 struct pci_dev, bus is the 2.0 bus number, dev is the
|
||||
2.0 device/function code, com is the PCI command, and res is the result. */
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,1,54))
|
||||
#define pci_present pcibios_present
|
||||
#define pci_read_config_byte_united(device,bus,dev,com,res) \
|
||||
pcibios_read_config_byte(bus,dev,com,res)
|
||||
#define pci_read_config_word_united(device,bus,dev,com,res) \
|
||||
pcibios_read_config_word(bus,dev,com,res)
|
||||
#define pci_write_config_byte_united(device,bus,dev,com,res) \
|
||||
pcibios_write_config_byte(bus,dev,com,res)
|
||||
#define pci_write_config_word_united(device,bus,dev,com,res) \
|
||||
pcibios_write_config_word(bus,dev,com,res)
|
||||
#else
|
||||
#define pci_read_config_byte_united(device,bus,dev,com,res) \
|
||||
pci_read_config_byte(device,com,res)
|
||||
#define pci_read_config_word_united(device,bus,dev,com,res) \
|
||||
pci_read_config_word(device,com,res)
|
||||
#define pci_write_config_byte_united(device,bus,dev,com,res) \
|
||||
pci_write_config_byte(device,com,res)
|
||||
#define pci_write_config_word_united(device,bus,dev,com,res) \
|
||||
pci_write_config_word(device,com,res)
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep 'ioremap\\|iounmap' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
/* I hope this is always correct, even for the PPC, but I really think so.
|
||||
And yes, the kernel version is exactly correct */
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0))
|
||||
#include <linux/mm.h>
|
||||
#define ioremap vremap
|
||||
#define iounmap vfree
|
||||
#endif
|
||||
|
||||
EOF
|
||||
}
|
||||
if (`grep 'init_MUTEX' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,1))
|
||||
#define init_MUTEX(s) do { *(s) = MUTEX; } while(0)
|
||||
#endif
|
||||
EOF
|
||||
}
|
||||
if (`grep '__init' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,53)
|
||||
#include <linux/init.h>
|
||||
#else
|
||||
#define __init
|
||||
#define __initdata
|
||||
#endif
|
||||
EOF
|
||||
}
|
||||
if (`grep 'PCI_DEVICE_ID_VIA_82C586_3' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,0,34))
|
||||
#define PCI_DEVICE_ID_VIA_82C586_3 0x3040
|
||||
#endif
|
||||
EOF
|
||||
|
||||
}
|
||||
if (`grep 'PCI_DEVICE_ID_AL_M7101' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,0,34))
|
||||
#define PCI_DEVICE_ID_AL_M7101 0x7101
|
||||
#endif
|
||||
EOF
|
||||
}
|
||||
if (`grep 'PCI_DEVICE_ID_INTEL_82371AB_3' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,0,31))
|
||||
#define PCI_DEVICE_ID_INTEL_82371AB_3 0x7113
|
||||
#endif
|
||||
EOF
|
||||
}
|
||||
if (`grep 'PCI_VENDOR_ID_APPLE' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,0,31))
|
||||
#define PCI_VENDOR_ID_APPLE 0x106b
|
||||
#endif
|
||||
EOF
|
||||
}
|
||||
if (`grep 'PCI_DEVICE_ID_APPLE_HYDRA' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,0,31))
|
||||
#define PCI_DEVICE_ID_APPLE_HYDRA 0x000e
|
||||
#endif
|
||||
EOF
|
||||
}
|
||||
if (`grep 'PCI_DEVICE_ID_INTEL_82801AA_3\\|PCI_DEVICE_ID_INTEL_82801AB_3' "$package_root/$package_file"`) {
|
||||
print OUTPUT << 'EOF';
|
||||
#ifndef PCI_DEVICE_ID_INTEL_82801AA_3
|
||||
#define PCI_DEVICE_ID_INTEL_82801AA_3 0x2413
|
||||
#endif
|
||||
#ifndef PCI_DEVICE_ID_INTEL_82801AB_3
|
||||
#define PCI_DEVICE_ID_INTEL_82801AB_3 0x2423
|
||||
#endif
|
||||
EOF
|
||||
}
|
||||
print OUTPUT << 'EOF';
|
||||
|
||||
/* --> END OF COMPATIBILITY SECTION */
|
||||
|
||||
EOF
|
||||
} else {
|
||||
print OUTPUT;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user