ChangeLog file for thinkpad device drivers ========================================== Changes to the debian/ subdirectory are logged in debian/changelog. TODO ---- - Use MODULE_ALIAS macro in thinkpad driver instead of including /etc/modprobe.d/thinkpad - Add /proc interface for some commonly used functions? - Submit drivers for inclusion into kernel tree: Merge smapi with mwave Merge superio with char drivers Merge rtcmosram with rtc - Better support newer ThinkPads HELP WOULD BE WELCOME 5.9 changes from 5.8 -------------------- 6Feb2005 JDTH : Eliminate thinkpadpm : Remove non-ASCII characters and extra spaces from SUPPORTED-MODELS file 5.8 changes from 5.7 -------------------- 19Sep2004 JDTH : thinkpadpm: Switch from unsigned long to cpumask_t. Thanks to Stefan Seyfried for the clue. 5.7 changes from 5.6 -------------------- 18Sep2004 TT/JDTH : Fix compilation failure under Linux 2.6.9. Thanks to Ari Pollak and Theodore Ts'o for patches. 5.6 changes from 5.5 -------------------- 15Aug2004 ER/JDTH : Fix Makefile bug. Thanks to Eric Raymond for the fix. 5.5 changes from 5.2 -------------------- 30Apr2004 D/JDTH : Change name of miscdevice to "thinkpad" from the former "thinkpad/thinkpad". Thanks to the Deuce for the fix. 5.2 changes from 5.1 -------------------- 29Apr2004 D/JDTH : Add asmlinkage attribute to SMAPI_BIOS_do() declaration. This makes the smapi module not oops Linux 2.6.4. Thanks to the Deuce for the fix. 27Feb2004 JDTH : Update SUPPORTED-MODELS with information re: R40 graciously provided by Meik Hellmund 5.1 changes from 5.0 -------------------- 02Feb2004 JDTH : Remove deb and tarball targets from the Makefile : uninstall_modules: Delete files more safely and don't fail if modules can't be removed 5.0 changes from 4.7 -------------------- 14Jan2004 MH,BZ/JDTH : Bring the 2.6 drivers' Makefile up to date Thanks a lot to Michael Hagemann, Bernd Zeimetz and Philipp Hahn for providing patches. JDTH : Rip out devfs support 4.7 changes from 4.6 -------------------- 18Aug2003 JDTH : Improvements to Debian maintainer scripts Use "chown nm:grp" instead of "chown nm.grp" as per POSIX 4.6 changes from 4.4 -------------------- 24Jun2003 JDTH : Move modutils material from tpctl README to thinkpad README : Move drivers and include under "2.6" subdir now that we know that that is the number of the next Linux release. Linux 2.6 is NOT YET SUPPORTED. 4.4 changes from 4.3 -------------------- 21Mar2003 CK/JDTH : Update README with better explanation of how to use Debian's make-kpkg 24Mar2003 CK/JDTH : Documentation fixes thanks to Charles Kaufman 4.3 changes from 4.2 -------------------- 21Mar2003 PN/JDTH : Surround MODULE_* declarations in current and 2.4 drivers with #ifdef MODULE...#endif. This makes it easier to include the drivers in the kernel tree. Thanks to Planel Nicolas for the patch. 10Mar2003 JDTH : Update README 4.2 changes from 4.1 -------------------- 30Nov2002 JDTH : Fix drivers/Makefile so that it works nicely with user CFLAGS. 4.1 changes from 4.0 -------------------- 27Nov2002 JDTH : Update README: Explain how to compile for Linux 2.4 and 2.2. 19Nov2002 JDTH : Copy drivers to 2.4 directory and start hacking on the drivers to support Linux 2.5: : save_flags(flags); cli(); => local_irq_save(flags) restore_flags(flags); => local_irq_restore(flags) : Change Debian packaging scripts. (See changelog.) : Update SUPPORTED-MODELS 4.0 changes from 3.7 -------------------- 17Oct2002 JDTH : Bump major version because the use of misc_register as we now do requires a very recent 2.4 kernel. : Remove unused ETHINKPAD_EXECUTION : Use C99 style named initialisers : Change ETHINKPAD_* error codes: eliminate ambiguity : Eliminate devfs interface code from thinkpad -- just use misc_register(). Correct functioning requires Linux 2.4.19 or later. : Update README : Update man page : Update Debian packaging -- See the Debian changelog : thinkpadpm_init now aborts if APM is disabled, thus preventing an oops if ACPI is being used. 3.7 changes from 3.6 -------------------- 7Aug2002 JDTH : Don't clobber KSRC in Makefiles : Modify README to mention need for modversions.h 3.6 changes from 3.3 -------------------- 13Apr2002 JDTH : Update README : Bump smapi driver version (forgot to do it in 3.1) 3.3 changes from 3.2 -------------------- 27Mar2002 JDTH : Update thinkpad.4 man page 3.2 changes from 3.1 -------------------- 9Mar2002 JDTH : Add thinkpad.4 man page : Update docs 3.1 changes from 3.0 -------------------- 28Feb2002 JDTH : Add debian directory : Reduce frequency of reports of differing SMAPI return codes : Include 2.2 directory containing drivers from 1.0 which work with Linux 2.2 18Feb2002 JDTH : Add A30 to SUPPORTED-MODELS ------------------------------------------------------------- Note that post 3.0 this is the ChangeLog for thinkpad only. In 3.0 and earlier, tpctl and thinkpad had a common ChangeLog ------------------------------------------------------------- 3.0 changes from 2.5 -------------------- 10Feb2002 JDTH : Releases renamed '3.0' 3Feb2002 JDTH : Release thinkpad 3.0pre7 3Feb2002 JDTH : Simplified proc read functions 23Dec2001 JDTH : Release thinkpad 3.0pre6 23Dec2001 JDTH : Put #ifdefs around MODULE_LICENSE so that the modules can be used with kernels < 2.4.10 7Dec2001 JDTH : Release thinkpad 3.0pre5 7Dec2001 JDTH : Change instructions on configuring devfsd in the README file, to reflect recent changes in devfs 14Nov2001 JDTH : Release tpctl 3.0pre4 14Nov2001 JDTH : Janitorial work: Make type of all flags in tpctl flag_t I hope the janitor didn't break anything : Tweak --pra handling to reflect the fact that appointments are made either for every day or for every century. Tweak printf, scanf formats. 26Oct2001 JDTH : Release 3.0pre3 24Oct2001 JDTH : Update thinkpad README file 24Oct2001 JDTH : Change module parameter names to omit "thinkpad" prefix which isn't necessary if we simply make the parameter variables static. This reverts a change made for 2.5. Sorry!! 24Oct2001 JDTH : Sync thinkpadpm code with the apm driver code from which it was copied 22Oct2001 JDTH : Update TROUBLESHOOTING file again 18Oct2001 JDTH : Release 3.0pre2 18Oct2001 JDTH : Improve device file handling code; provide more useful error messages when file not found, etc. 17Oct2001 JDTH : Append TODO to README 6Oct2001 JDTH : Note in thinkpad README that drivers are compatible with certain Linux kernels 5Oct2001 JDTH : Revise TROUBLESHOOTING file 4Oct2001 JDTH : Release 3.0pre1 18Sep2001 JDTH : Move proc files under /proc/driver subdirectory : Add devfs support to superio, thinkpadpm, rtcmosram 28Aug2001 JDTH : Add devfs support to ntpctl as I did to tpctl : Update TODO 27Jul2001 JDTH : Added devfs support to thinkpad and smapi modules : Cleaned up driver init and exit functions : Modified tpctl so it checks /dev/thinkpad/thinkpad : Split into two packages: thinkpad -- device drivers tpctl -- tpctl and kindred binaries and lib : Eliminate Makefile-common 2.5 changes from 2.4 -------------------- 25Jul2001 JDTH : Added reference to new ed. of Linux Device Drivers : Change module options enable_* -> thinkpad_enable_* : Introduce a global variable "thinkpad_ppde" so that other modules will require thinkpad module in order to load, thus preventing corruption of proc fs. This eliminates the needs for "below" statements in /etc/modules.conf. Updated README accordingly. : Eliminate *_MOD_USE_COUNT etc. in favour of kernel's automatic ref counting 17Jul2001 JDTH : Change rtcmosram to use rtc_lock spinlock instead of disabling interrupts. : Eliminate proc fs optionalness : Update README for devfs users 27Apr2001 JDTH : Fixed comments in several header files 16Apr2001 JDTH : Add INFO-BIOS file to tarball 2.4 changes from 2.3 -------------------- 27Feb2001 JDTH : No changes, except version increased to deal with FUBAR upload of 2.3 to SourceForge 2.3 changes from 2.2 -------------------- 23Feb2001 JDTH : Update TODO, README 23Feb2001 JDTH : Fixed bug in superio PnP mode detection fn 18Feb2001 JDTH : Make tpctl 2.x work nicely with 1.0 modules. 11Feb2001 JDTH : tpctl now does a sync() before sedating 10Feb2001 JDTH : Update man pages for tpctl and ntpctl 2.2 changes from 2.1 -------------------- 6Feb2001 JDTH : Make names and version strings "const" variables. 6Feb2001 JDTH : Clean up printouts at init time and in /proc/thinkpad 6Feb2001 JDTH : Copy APM BIOS interface from APM driver to thinkpadpm.c so that no kernel patch is required. 5Feb2001 JDTH : Correct README, TODO, ChangeLog files. 2.1 changes from 2.0 -------------------- 4Feb2001 JDTH : Eliminate unnecessary explicit dereference of function variable names in thinkpad.c 2Feb2001 JDTH : Update TECHNOTES, TODO, README, ChangeLog, etc. 31Jan2001 JDTH : Change tpctl --rx print outs, including order of items ... I hope this doesn't annoy anyone. 27Jan2001 JDTH : Clean up --- use recommended Linux 2.4.x API 27Jan2001 JDTH : Add thinkpadpm module to control subsystem power. 27Jan2001 JDTH : Remove use of unneeded global fReady flags 23Jan2001 JDTH : Install man in /usr/share/man not /usr/man 23Jan2001 JDTH : Remove cOpen from thinkpad.c; use MOD_IN_USE 22Jan2001 JDTH : Change all versions to 2.1 22Jan2001 JDTH : Rename thinkpad_mod_defines.h to thinkpad_module.h 22Jan2001 JDTH : Remove VIAGRA #ifdef ... #endif since hw access seems safe enough 22Jan2001 JDTH : Remove old proc filesystem code: NEW_PROC is king 22Jan2001 JDTH : Remove POWER_SERIAL code: module will do the work 2.0 changes from 1.0 -------------------- 20Jan2001 JDTH : Move tpctlir up out of contrib/ directory 20Jan2001 DS/JDTH : Added apmiser to the package 22Dec2000 JDTH : Use /lib/modules/xyz/build as path to kernel src 22Dec2000 JDTH : Clean up Makefiles 12Dec2000 JDTH : Install under /usr, not under /usr/local 12Dec2000 JDTH : Port drivers to Linux 2.4 API 1.0 changes from 0.8.9 ---------------------- 26Oct2000 JDTH : Remove '*' from lcall in smapi_call.s 16Oct2000 JDTH : Create BUGS file 14Oct2000 JDTH : Change --pra code so that selecting a daily app't does not overwrite the date of the non-daily app't 14Oct2000 JDTH : Standardize date and time display and input formats (thanks to Marc Joosen for the suggestion) 14Oct2000 JDTH : Add "-Wno-uninitialized" to CFLAGS for compiling tpctl 11Oct2000 JDTH : Update docs 7Oct2000 JDTH : Change tpctl and ntpctl Makefiles to link to smapidev in the same way 7Oct2000 JDTH : Add SUPPORTED-MODELS file 7Oct2000 JDTH : Update README 7Oct2000 JDTH : Remove tpctlify; config now to be done by hand because there were too many problems with automated installation. 7Oct2000 JDTH : Rename VGA_MODES file to "VGA-MODES" 7Oct2000 JDTH : Remove plug-n-play check from superio init 0.8.9 changes from 0.8.8 ------------------------ 1July2000 JDTH : Add kdist_clean target to Makefile to make make-kpkg happy 6July2000 AB/JDTH : Rename libsmapidev.so to libsmapidev.so.1 and add symlinks 6July2000 JDTH : Update AUTHORS file 17July2000 JDTH : Remove ioctl_thinkpad(), ioctl_superio() and ioctl_rtcmosram() from smapidev since these have nothing to do with SMAPI; move them into tpctl.c. 17July2000 JDTH : Change display of parallel port mode so that it is the same as what you have to input to change the mode. 17July2000 JDTH : Remove sound-related cruft from thinkpad driver 17July2000 JDTH : Add support for switching serial port on and off at the same time as the port is enabled or disabled. At present this requires a patch to the kernel: see tpctl/README. 18July2000 JDTH : Display interpretative strings for numerical values consistently. 18July2000 JDTH : Update TROUBLESHOOTING, README and TODO files 0.8.8 changes from 0.8.7 ------------------------ 25May2000 JDTH : Add COPYING file 25May2000 JDTH : Streamline some of the tpctl code 0.8.7 changes from 0.8.6 ------------------------ 28Apr2000 JDTH : Remove other_tools/ubswap 0.8.6 changes from 0.8.5 ------------------------ 26Apr2000 JDTH : Remove hdparm patch from other_tools/ubswap since the patch has been incorporated into the standard hdparm source 13Mar2000 JDTH : Update TODO file 0.8.5 changes from 0.8.4 ------------------------ 3Mar2000 JDTH : Removed superfluous legacy-mode (i.e., superio non-pnp mode) config information from tpctl -rx outputs 17Feb2000 FB/JDTH : create_proc_read_entry() appeared in the linux-2.3.25 kernel and not in 2.3.0; changed #if in thinkpad_mod_defines.h 19Jan2000 MF : ntpctl -- open device RDONLY if can't open RDWR 15Jan2000 JDR/JDTH : Call depmod and modprobe by full path name 0.8.4 changes from 0.8.3 ------------------------ 11Jan2000 AB : Added man pages for ntpctl, ubswap, tpctlir Thanks to Adrian Bridgett! 0.8.3 changes from 0.8.2 ------------------------ 9Jan2000 JDTH : (Experimental) Added ability to select SPP/EPP/ECP 0.8.2 changes from 0.8.1 ------------------------ 6Jan2000 JDTH : Send '/lib/modules/`uname -r`' to tpctlify as module path argument instead of /lib/modules/`uname -r` 0.8.1 changes from 0.8.0 ------------------------ 5Jan2000 JDTH : Tested with 2.2.14 kernel. A-OK. 5Jan2000 RB/JDTH : Implemented TP570_KLUDGE 5Jan2000 MS/JDTH : Send path arguments to tpctlify 4Jan2000 HV/JDTH : Kernel path now selectable via a Makefile variable 3Jan2000 JDTH : Improved byte_of_bcd8() error message 3Jan2000 MS/JDTH : Added "install_modules" target to Makefile so that modules can be installed separately from the other stuff 3Jan2000 AB/JDTH : tpctlir now fails gracefully if not run by root 3Jan2000 JDTH : Fixed typo in heading for 'tpctl --pdZ' output 3Jan2000 AB/JDTH : Fixed typo in heading for 'tpctl --ip' output 0.8.0 changes from 0.7.6 ------------------------ 31Dec99 JDTH : Man path now selectable via a Makefile variable 29Dec99 JDTH : Documentation corrections 0.7.6 changes from 0.7.5 ------------------------ 27Dec99 DD/JDTH : Added tpctl man page. Thanks to Dave Davey! 25Dec99 AG/JDTH : Modified drivers to work with 2.3.x kernels' /proc filesystem interface. Thanks to Anders Gustafsson! 0.7.5 changes from 0.7.4 ------------------------ 13Dec99 JDTH : No longer install tpctlify 0.7.4 changes from 0.7.3 ------------------------ 11Dec99 JDTH : Fixed nasty bug in Makefile that caused /lib/modules to be wiped out on install. DO NOT INSTALL 0.7.3 ! 11Dec99 JDTH : Eliminated RPM-related stuff. Will release only tarballs from now on. 11Dec99 JDTH : Changed modules installation directory to: /lib/modules//thinkpad 0.7.3 changes from 0.7.2 ------------------------ 8Dec99 JDTH : Added "other_tools" directory with two nifty tools: tpctlir -- enables/disables infrared subsystem on ThinkPads with Programmable Option Select ubswap -- allows hot swapping of UltraBay devices 7Dec99 JDTH : Added IOCTL_SND_REINIT to the thinkpad module Created the tpreinitsnd program to call the new ioctl 1Dec99 JDTH : Tweaked ntpctl menus for greater consistency with tpctl 0.7.2 changes from 0.7.1 ------------------------ 30Nov99 JDTH : Integrated ntpctl into the package Moved files into subdirectories 0.7.1 changes from 0.7.0 ------------------------ 13Nov99 JDTH : Added GetPowerExpenditureMode, SetPowerExpenditureMode to libsmapidev 17Oct99 JDTH : Updated my email address 0.7.0 changes from 0.6.1 ------------------------ 31Jul99 JDTH : Update TROUBLESHOOTING re: kernel compatibility 31Jul99 JDTH : Move /proc entries under /proc/thinkpad 31Jul99 JDTH : Fiddled with tpctlify 0.6.1 changes from 0.6.0 ------------------------ 30Jul99 JDTH : (Build 3) Eliminate some warnings from byte_of_bcd8() 29Jul99 JDTH : Change handling of error codes so that it does not rely upon ioctl() returning positive error codes to the user. Such reliance is not portable. 0.6.0 changes from 0.5.10 ------------------------- 29Jul99 JDTH : Change highlighting to "bold" and use the curses library to get the appropriate terminal control strings. 0.5.10 changes from 0.5.9 ------------------------- 28Jul99 JDTH : (Build 2+) Allow rtcmosram module to load even if ioports are occupied. 28Jul99 JDTH : Complete modularization: modules are now automatically and independently loadable and unloadable. When tpctl is run, thinkpad.o is loaded by the module loader as per instructions in /etc/modules.conf. The thinkpad module, in turn, requests the loading of the other modules as they are needed to perform ioctl requests. Loading of a module is inhibited by setting "enable_" to zero, which can be done at load time or via ioctl(). See README. 27Jul99 JDTH : Simplify "SIZE_..._MAX" macros 28Jul99 JDTH : Change '--silent' to '--quiet' since the switch doesn't make tpctl completely silent. 0.5.9 changes from 0.5.8 ------------------------ 27Jul99 JDTH : Use more standard error messaging 27Jul99 JDTH : Hive off smapi, superio and rtcmosram as distinctly loadable modules. 27Jul99 JDTH : Fix bug in smapi:locate_smb_header() 27Jul99 JDTH : Fix bug in --pra output 27Jul99 JDTH : Abandon "variants" idea of 0.5.8 since it doesn't solve the problem that it was meant to solve 27Jul99 JDTH : Add /proc/* entries for each enabled submodule 27Jul99 JDTH : Add module parameters to thinkpad.o to govern enabling of the subordinate modules 27Jul99 JDTH : Make superio mod more careful about interrupt cli/restore 27Jul99 JDTH : Clean up module code a lot: make it much more kernelifically correct and fault tolerant 0.5.8 changes from 0.5.7 ------------------------- 25Jul99 JDTH : Package rpm with both modversions and non-modversions variants 25Jul99 JDTH : (release 5:) and install these in /lib/modules/thinkpad/thinkpad and symlink /lib/modules/thinkpad/thinkpad.o to the right one 25Jul99 JDTH : Fix bug in Usage output 25Jul99 JDTH : Require write access for writing to CMOS RAM 0.5.7 changes from 0.5.6 ------------------------- 24Jul99 JDTH : Added rtcmosram module 24Jul99 JDTH : Added --sst option 24Jul99 JDTH : Added --ic option 24Jul99 JDTH : Renamed --ic option as '--ip' 0.5.6 changes from 0.5.5 ------------------------- 22Jul99 JDTH : Added "--silent" option 22Jul99 JDTH : Changed highlighting code to make it disablable using the "--dull" option 0.5.5 changes from 0.5.4 ------------------------- 22Jul99 JDTH : Added info about confuring serial ports to README 22Jul99 JDTH : Tried to make superio more kosher with its ioport usage 22Jul99 JDTH : Made checking for Super I/O chip a little more careful. 0.5.4 changes from 0.5.3 ------------------------- 22Jul99 JDTH : Display appointment info all on one line 22Jul99 JDTH : Changed tpctlify to check for perl before invoking it Also, make it more verbose 22Jul99 JDTH : Changed so that print formatting is nicer when many arguments are given. Highlighting option improved and enabled for binary distribution. Options added: --pdZh --pdZu --x --sx --px etc. Option names changed: --iu --> --iU --state-* --> --setup-* I hope this didn't break anything. 22Jul99 JDTH : Allow thinkpad to initialize even if superio doesn't 22Jul99 JDTH : Update TROUBLESHOOTING file (outdate ref to 10:168 <- wrong) 21Jul99 JDTH : Add PS2.EXE/tpctl comparison to TODO 0.5.3 changes from 0.5.2 ------------------------- 21Jul99 JDTH : (build 2) Change Makefile: remove -D switch which is new to version 4.0 of install and do mkdirs instead 21Jul99 JDTH : (build 2) Change tpctlify to add /usr/local/lib to the ld path if it's not already there 21Jul99 JDTH : Cleaned up superio.c code 21Jul99 JDTH : Fixed bug in tpctlify script -- didn't abort 21Jul99 JDTH : Removed '--verbose' options from Makefile commands 0.5.2 changes from 0.5.1 ------------------------- 21Jul99 JDTH : Added 'rpm' target 21Jul99 JDTH : Compiler warning messages ("implicit declaration") eliminated *This should solve some kernel compatibility problems!* 21Jul99 JDTH : Rest of par and ser configuration options implemented 21Jul99 JDTH : Make module init function a bit safer 20Jul99 JDTH : Changed device number to 10:170 by order of the device number czar 0.5.1 changes from 0.5.0 ------------------------- 20Jul99 JDTH : Fixed version printout formatting 20Jul99 JDTH : Print actual IRQs used 0.5.0 changes from 0.3.7 ------------------------- 20Jul99 JDTH : --rs* functionality augmented 19Jul99 JDTH : --im folded into --ib 19Jul99 JDTH : Install script is now '/usr/local/sbin/tpctlify' 19Jul99 JDTH : Kernel module is now called 'thinkpad' 19Jul99 JDTH : Device file is now called /dev/thinkpad (dev. number 10:168) 19Jul99 JDTH : Widespread changes in the code structure