root/lm-sensors/tags/i2c-2-8-km2/TODO

Revision 1703, 4.7 kB (checked in by mds, 6 years ago)

add suggestion on libsensors for unknown chips

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
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 * Easier use of /proc and libsensors without knowing the chip type
93   At the moment a programmer wishing to use the lm_sensors package needs to know
94   what chips are supported and needs to add all those chips into his package.
95   If you were to add a field or function to your structures to the effect of
96   sensor-function a programmer could use the package a lot more simply.
97   For values you could do something like -
98     enum sensor-type { volt, fan, temp, volt_min, volt_max, fan_div, fan_min,
99     temp_over, temp_hyst }
100
101 * reload does not work (Bison/Flex problem?).
102 * Some library routines are pretty inefficient right now.
103 * Library should be split in more separate files, for better linking
104   behaviour.
105 * Some adm9240 labels start with a digit; change this, it leads to confusing
106   syntax in the conf file (they have to be quoted)
107
108
109 PROGRAMS
110 ========
111
112 * Sensors program needs to print a + before lm75 temperatures
113 * Sensors program needs to be extended for many new chips
114
115
116 OTHERS
117 ======
118
119 * Examine watchdog-4.3 or later of meskes@debian.org (Michael Meskes)
120   tsx-11.mit.edu /pub/linux/sources/sbin or
121   sunsite.unc.edu /pub/linux/system/daemons/watchdog
122
Note: See TracBrowser for help on using the browser.