| 1 | LM-Sensors TODO list |
|---|
| 2 | Contact us if you have comments or wish to help. |
|---|
| 3 | ------------------------------------------------ |
|---|
| 4 | |
|---|
| 5 | I2C CODE CHANGES |
|---|
| 6 | ================ |
|---|
| 7 | |
|---|
| 8 | See TODO in the i2c package. |
|---|
| 9 | |
|---|
| 10 | |
|---|
| 11 | KERNEL MODULES |
|---|
| 12 | ============== |
|---|
| 13 | |
|---|
| 14 | * Assistance on how to fix module refcounting is welcome. |
|---|
| 15 | To my understanding, it does not handle client->adapter->owner |
|---|
| 16 | correctly now, and it is possible to rmmod adapter while one of its |
|---|
| 17 | clients is in use. |
|---|
| 18 | |
|---|
| 19 | * mkpatch. Trace back Configure changes from 2.5 tree and |
|---|
| 20 | have it make clean diffs. |
|---|
| 21 | Applies to both i2c and sensors. |
|---|
| 22 | |
|---|
| 23 | * ACPI and SMBus host |
|---|
| 24 | - ACPI subsystem may access SMBus host too. Locks? |
|---|
| 25 | - On my ancient board using i2c-via, suspend and power switch status |
|---|
| 26 | seems to be in the same register with SCL and SDA. |
|---|
| 27 | |
|---|
| 28 | * Suspend-to-disk, losing Vcc |
|---|
| 29 | - Reset i2c client to avoid alarms and SCI interrupts. Currently |
|---|
| 30 | sensors do not create interrupt with alarms. |
|---|
| 31 | |
|---|
| 32 | * Return from suspend |
|---|
| 33 | - Reinitialize i2c client. |
|---|
| 34 | |
|---|
| 35 | * 2.4 / 2.5 cleanup |
|---|
| 36 | See adm1021, lm75, i2c-amd756, and i2c-amd8111 in kernel 2.5.54 for examples |
|---|
| 37 | - Remove inc_use and dec_use in adapters and chips, convert to owner. |
|---|
| 38 | Modules shouldn't adjust their own refcounts. |
|---|
| 39 | - Convert PCI drivers to use pci_driver structs, |
|---|
| 40 | registration, etc. |
|---|
| 41 | - Use module_init and module_exit |
|---|
| 42 | - Check return value of request_region(), don't use check_region() |
|---|
| 43 | - C99 initializers |
|---|
| 44 | - Remove excess #includes |
|---|
| 45 | - interrupts/locking |
|---|
| 46 | - Remove #ifdef MODULE, THIS_MODULE, MODULE_LICENSE, etc. |
|---|
| 47 | - Remove EXPORT_NO_SYMBOLS |
|---|
| 48 | - Remove other 2.1/2.2 #ifdefs |
|---|
| 49 | |
|---|
| 50 | * Handle -1 returns from i2c layer rather than just delivering 0xFF to |
|---|
| 51 | /proc and libsensors; report errors through /proc 'alarms' or |
|---|
| 52 | new 'fail' entry? |
|---|
| 53 | * Add string function in sensors.o |
|---|
| 54 | * ALL: cleanup_module is void; check also that cleaning up is done |
|---|
| 55 | properly, now we know that the module will be unloaded whatever we |
|---|
| 56 | do. |
|---|
| 57 | * ALL chip drivers: add a readonly insmod option so we don't cause APM/ACPI |
|---|
| 58 | to go insane. |
|---|
| 59 | * gl518sm: using iterate==2 causes a tread to be started. this thread remains |
|---|
| 60 | even after setting iterate==1 and/or removing the gl518sm module |
|---|
| 61 | <koenig@uranus.tat.physik.uni-tuebingen.de> |
|---|
| 62 | * LM78 detection: Tom Webster has proven that the reset bit in the |
|---|
| 63 | id register can be one (strange!) |
|---|
| 64 | * maxilife.c: Introduce new insmod variables |
|---|
| 65 | * maxilife.c: Round REG_TO_VID correctly |
|---|
| 66 | * icspll.c: Rewrite. The current implementation simply can't work at all. |
|---|
| 67 | It needs i2c-level access (too bad for SMBus-only adapters). |
|---|
| 68 | * w83781d: Some features are still unsupported for the W8378[23]. |
|---|
| 69 | Also, alarms seem to give strange results |
|---|
| 70 | sometimes, and there are some other minor problems, as indicated by |
|---|
| 71 | Jonathan Bradshaw <jonathan@NrgUp.Com> |
|---|
| 72 | * Support 10-bit addresses. At this moment, they are supported nowhere, except |
|---|
| 73 | in Simon Vogl's i2c modules. |
|---|
| 74 | * Better general locking, or at least a once-over to check no race-conditions |
|---|
| 75 | remain. This is part of the SMP-safeness, and can better be done at once. |
|---|
| 76 | * adm9240: check whether the current voltage computations are correct. |
|---|
| 77 | Probably not, as they are different from the datasheet specifications. |
|---|
| 78 | Also check for the supported dallas chip. |
|---|
| 79 | * lm80: Check how OS alarms work. At page 17 of the sheet, it tells |
|---|
| 80 | something completely different from the description at page 25. |
|---|
| 81 | * gl518sm: Assume that new values are close to old values, so start with |
|---|
| 82 | trying to use a small range near the old values (already partially done) |
|---|
| 83 | * lm77: Add detection in lm75.c and sensors-detect to distinguish from |
|---|
| 84 | an lm75. Add support for the two new registers. |
|---|
| 85 | * Add MTP006F chip: http://www.myson.com/Pcd/MTP006/Mtp006.pdf |
|---|
| 86 | gfiala@s.netic.de (Guido Fiala) has one on his mainboard |
|---|
| 87 | |
|---|
| 88 | |
|---|
| 89 | LIBRARY |
|---|
| 90 | ======= |
|---|
| 91 | |
|---|
| 92 | * reload does not work (Bison/Flex problem?). |
|---|
| 93 | * Some library routines are pretty inefficient right now. |
|---|
| 94 | * Library should be split in more separate files, for better linking |
|---|
| 95 | behaviour. |
|---|
| 96 | * Some adm9240 labels start with a digit; change this, it leads to confusing |
|---|
| 97 | syntax in the conf file (they have to be quoted) |
|---|
| 98 | |
|---|
| 99 | |
|---|
| 100 | PROGRAMS |
|---|
| 101 | ======== |
|---|
| 102 | |
|---|
| 103 | * Sensors program needs to print a + before lm75 temperatures |
|---|
| 104 | * Sensors program needs to be extended for many new chips |
|---|
| 105 | |
|---|
| 106 | |
|---|
| 107 | OTHERS |
|---|
| 108 | ====== |
|---|
| 109 | |
|---|
| 110 | * Examine watchdog-4.3 or later of meskes@debian.org (Michael Meskes) |
|---|
| 111 | tsx-11.mit.edu /pub/linux/sources/sbin or |
|---|
| 112 | sunsite.unc.edu /pub/linux/system/daemons/watchdog |
|---|
| 113 | |
|---|