We currenly have several outside repositorys, we need to verify where and
how the source will be handled.
IBM HDAPS Source Download
Jens Axboe's HD park script. The normal usage is ./head_park /dev/hda
You can download it from Here
Main First release after being worked from the versions.
ibm_hdaps-dave-0.02 on 07/07/2005
- introduce __get_latch() helper
- move debugging printk into __wait_latch(), to centralize it
- introduce a spinlock to protect all port I/O to the device
- check for T42 return value from 0x1611
- reorganize the wait loop
- modify mod_timer() interfaces to something that Nish (who works on kernel janitor tasks) said would be easier to clean
up in the future
- make lots of things static
- Redid read() to make it simpler and more intuitive behavior.
The previous throttling and use of offsets was insane. The new
read() does no throttling and always returns exactly one
- Added sysfs files for all configuration points, allowing both
show and store, and the x/y position.
- Redid mousdev_enable/mousedev_disable, adding working disable
support, into a single mousedev file. Read or write one or zero
- Redid the structure. No __packed__ attribute. Better
ordering for a naturally aligned layout. Moved it to a header.
- sparse annotations.
- remove some of the printks.
- open the device in nonseekable mode.
- better global variable names.
- rename the module and device node to hdaps.
- use likely/unlikely.
- copy_to_user's return value needs to be checked and
- Updated and fixed Makefile.
- Fixed all remaining TODO items (except the 'absolute input
event driver' -- need to discuss that).
- Add lots of comments.
- Coding style and other misc. cleanup./
- Other bug fixes.
- Remove all of the device node stuff.
- Remove "x" and "y" sysfs files.
- Add "temp", "position", and "variance" file.
- Sleep for only 100us, not 500us. The IBM doc says 50us works,
but the old driver used 500us. My original from scratch
driver used 100us and it worked, but that was only a guess.
The shorter, the better, so let's try this.
- Add resume support (Murillo Bernardes).
- Add complete device model support (Murillo Bernardes).
- Use spinlocks in accelerometer_init, if for nothing else than
to disable preemption.
- fix "make install" if the install path does not exist
- Rename hdaps_mousedev_fuzz to hdaps_mousedev_threshold and
the sysfs file from fuzz to mousedev_threshold.
- Cleanup the printk()'s.
- Remove hdaps.h
- Other stuff I am forgetting.
- add module parameter "mousedev" to enable the input
device on module load (Murillo Bernardes)
- always calibrate on input device enable
- fix sleep-while-atomic due to msleep in
- fix double-lock-acquire in accelerometer_init()
- calibrate sysfs file should be 0200, not 0644
- rename "poll_interval_ms" to "mousedev_poll_ms"
- more unlikely() directives.
- misc. stuff
- some misc. cleanup, particularly in accelerometer_init(), and a reduction from a 100s (bug!) to a 4s total wait.
- In the user-space tool, there was one small but important change: I flipped how we calculate (x,y), before we subtracted the calibrated base from the read values, now we subtract the read values from the calibrated base. This is, obviously, the right way to do it but it means that THE OUTPUT FROM PIVOT IS GOING TO BE INVERTED FROM NOW
ibm-hdaps-bsd-0.1 on 08/16/2005
- Tested with FreeBSD 7.0 CURRENT
- IBM Thinkpad T42 M1G
For your Distro