* Changed test in lm75 setup code to 'read/write returns < 0' instead of
(old) 'read/write returns 0xff'. Nowadays, we can see the difference
between an error and a 0xff result, after all.
* Introduced constants used by PIIX4 for transaction types. These are
*not* the same as those in smbus.h.
* Some small code optimalizations in piix4.o.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@40 7894878c-1315-0410-8ee3-d5d059ff63e0
* PIIX4: better names in /proc files
* sensors.c: fixed bug which prevented registration of non-ISA clients
Status:
* lm75 inserts happily and interacts with the PIIX4 correctly
* lm75 readings are still wrong (all 0xff)
* lm75 insertion with ISA bus present causes oops
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@39 7894878c-1315-0410-8ee3-d5d059ff63e0
* /proc/bus/i2c printed garbage if more than one adapter was registered
* There was a double line in piix4.c in the delay function
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@38 7894878c-1315-0410-8ee3-d5d059ff63e0
* Cleanup bug (ioports were not deregistered)
* PIIX4 search (it seems that for function 3, we must seek for a slightly
different device, too).
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@35 7894878c-1315-0410-8ee3-d5d059ff63e0
It compiles now for 2.0 kernels; I hope it still compiles for 2.1 kernels :-)
Changes:
* The non-BIOS PCI interface was introduced in kernel 2.1.54, so I changed
all #ifdef statements to use that kernel as starting point
* I integrated everything in piix4.h into piix4.c; as no other module will
ever need to know about anything PIIX4-specific, we do not need a
separate header file (same went for lm78.c and lm75.c)
* In piix4_setup, both the 2.0 and 2.1 versions continue seeking for PCI
devices until they have found 'function 3' of the PIIX4. This is the
'function' we need for SMBus access.
* At some places in piix4_setup, even for 2.1 kernels the PCI BIOS code was
used. This was seemingly needed, probably because the wrong 'function'
was accessed. I have removed this; if there are troubles with the PIIX4 on
kernels newer than 2.1.53, we need to introduce it again.
* Renamed global things to start uniformly with piix4_
* Changed printk statements to start with piix4.o:
* Pasted in missing part of piix4_access
* No need to lock the adapter on access; this is already done by the
smbus_access function in smbus.c. I corrected a locking bug there too,
by the way.
* Added a few include files needed by 2.0 at least
* Replaced the call to schedule_timeout() in piix4_do_pause with the old
code; schedule_timeout seems to be defined nowhere?!? Phil, was this
your addition, and if so, what should it read?
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@34 7894878c-1315-0410-8ee3-d5d059ff63e0
If your LM78/78-J/79 is still not detected, please recompile lm78.o with
DEBUG=1 and mail the output of dmesg. Same for Winbonds.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@33 7894878c-1315-0410-8ee3-d5d059ff63e0
The inode list that is used to determine which i2c-? file is accessed,
was not initialized for 2.1 kernels due to a #endif statement that
was one line too low :-(
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@32 7894878c-1315-0410-8ee3-d5d059ff63e0
lm_sensors2 project. It was *very* easy to copy-and-paste it in, so I'm
hoping that it won't include any new bugs. It builds and compiles, but
I wasn't able to test it (under 2.1.131) until we get some compatibility
problems solved. There is probably a little cleaning up to do yet, but
everything looks like it is happy. Test it under 2.0.x and let me know
what happens.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@31 7894878c-1315-0410-8ee3-d5d059ff63e0
lm_sensors2 project. It was *very* easy to copy-and-paste it in, so I'm
hoping that it won't include any new bugs. It builds and compiles, but
I wasn't able to test it (under 2.1.131) until we get some compatibility
problems solved. There is probably a little cleaning up to do yet, but
everything looks like it is happy. Test it under 2.0.x and let me know
what happens.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@30 7894878c-1315-0410-8ee3-d5d059ff63e0
Well, it should work. But until we have implemented the remaining parts of
piix4.o, we won't be able to test it. Anybody?
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@29 7894878c-1315-0410-8ee3-d5d059ff63e0
I moved a large part of the proc and sysctl call-back functions into
sensors.c. The result saved about 100 lines in lm78.c; it now uses only
2 pages according to lsmod, instead of 3! Also, other modules can use
the same functions, saving coding efforts and keeping them small.
I also fixed a fan_div display error.
Expect more code to be moved to sensors.c: I am writing lm75.c, and
most things which are in both modules (and so probably general purpose)
will be moved to sensors.c.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@28 7894878c-1315-0410-8ee3-d5d059ff63e0
* LM78, LM78-J and LM79 now all supported
* Chip type reflected in /proc/bus/i2c-?, /proc/.../sensors/* and
/proc/ioports.
* VID initialises IN0 and IN1, except if it is 3.50 V (then it falls back to
2.80 V)
* Slightly better ISA detection (but still not good enough)
* Temperature now in tenth of degrees, instead of whole degrees (for better
compatibility)
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@27 7894878c-1315-0410-8ee3-d5d059ff63e0
If people want access to the CVS archive, you can send them this document,
instead of having to type it all over again each time.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@25 7894878c-1315-0410-8ee3-d5d059ff63e0
Everything now compiles cleanly (except for warnings in kernel header files)
against 2.1.122. As I do not run 2.1 kernels, loading them could not be
tested.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@22 7894878c-1315-0410-8ee3-d5d059ff63e0
* 'cvs admin -ko i2c' should disable all RCS keyword substitutions from now
on
* Put all EXPORT stuff between #ifdef LM_SENSORS #endif statements.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@21 7894878c-1315-0410-8ee3-d5d059ff63e0
Yes, our first chip driver is now fully operative. Some parts of it can
still be moved to sensors.o and reused by other drivers, but this can be
done later.
Bug fixes:
* i2c-core.c: Corrected previous patch (a client was now unloaded twice,
which caused problems, as could be expected).
* lm78.c, sensors.c: some minor typos, which caused the crashes
* lm78.c: FAN_DIV only has two fields (fan 3 is not changable)
* sensors.c: ISA/SMBus addresses are prefixed with zeros in directory names
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@20 7894878c-1315-0410-8ee3-d5d059ff63e0
* Some Makefile changes. doc/makefiles documents most of them.
* The lm78 module now compiles, but it will still crash.
* New module sensors, with general code usable by chip driver modules
* i2c-core: added function i2c_adapter_id(), which returns a (low)
unique i2c-bus ID.
* lm78.h stuff moved into lm78.c or sensors.h
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@19 7894878c-1315-0410-8ee3-d5d059ff63e0
When you insert i2c-proc.o, you will find some files in /proc/bus (which
is first created for 2.0 kernels). Currently, the following files are
implemented:
* /proc/bus/i2c
A list of i2c/smbus adapters. If DEBUG was true when you compiled this
module, you will also see the ISA pseudo-adapter (if isa.o is loaded).
* /proc/bus/i2c-?
For each adapter in /proc/bus/i2c, a list of registered clients.
If DEBUG was true when you compiled this module, you will also see
the i2c-proc pseudo client.
Of course, these entries are modified when adapters are added/removed.
Kernel 2.1.x users are encouraged to test this module, as /proc entries
are somewhat different beginning with kernel 2.1.29.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@18 7894878c-1315-0410-8ee3-d5d059ff63e0
* i2c-bus is renamed to i2c-proc
* small patch in i2c-core.c (see correspondence with Simon Vogl)
* sensors.h contains i2c constants
* It seems lm78.[ch] was not yet committed?!?
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@16 7894878c-1315-0410-8ee3-d5d059ff63e0
Nothing much here yet, except some code to create /proc/bus/i2c. Should work
for kernels 2.0 and 2.1 (please test).
Other notable things:
printk statements in all modules made to have to same 'look'.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@15 7894878c-1315-0410-8ee3-d5d059ff63e0
Though it is called the LM78 driver, there is not too much LM78 specific
code in it; it can better be seen as an example code skeleton for other
drivers. Right now, it creats a file /proc/sensors-test, which contains
a list of busses it registered itself on. Stupid, but very useful for
testing purposes!
You need a 2.0 kernel for lm78.o to insert (or hack the /proc system
specific parts; see lm78.c of lm_sensors version 1 how to do this).
Other parts of lm_sensors-2 are not tested for 2.1 kernels either, but
I am certain it won't work in this case :-).
See the TODO list to get some idea what is left to do, choose something
and implement it. Or not :-). But please, send a note to the mailing
list when you start on something, to avoid duplicate work...
Other notable changes:
the smbus_access routines now use (the more logical) i2c_adapter
structure, instead of smbus_adapter.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@13 7894878c-1315-0410-8ee3-d5d059ff63e0
* Modules now print their version number and date on insertion
* Some printk statements missed a \n
* 'make clean' now works, even if some .d (dependency) files contain garbage.
Note that *only* 'make clean' helps in that case; 'make clean all', for
example, will fail! There is really no nice way to solve that.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@11 7894878c-1315-0410-8ee3-d5d059ff63e0
The real PIIX4 access code must still be written; perhaps somebody else could
do this? Most of it could be copied from the old piix4.c. But check carefully
what you are doing, as some things *have* changed (like the SMBUS_{BYTE,...}
variables!).
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@9 7894878c-1315-0410-8ee3-d5d059ff63e0
effect anything in an adverse way (except possibly messing up the
name-space a bit :'). But, it compiles and *should* link OK. Testers???
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@7 7894878c-1315-0410-8ee3-d5d059ff63e0
The i2c modules now compile and insert without any problem. If I only had
a VIA mainboard...
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@6 7894878c-1315-0410-8ee3-d5d059ff63e0
Please examine the Makefile before extending it, as its approach is
completely new. It should be very modular now, though. Makefile fragments
are called Module.mk.
The Module.mk in i2c does not handle dependencies yet.
There are some patches to bit-mb.c to make it compile with 2.0 kernels.
They have been sent to Simon Vogl (author of the i2c module).
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4 7894878c-1315-0410-8ee3-d5d059ff63e0
README.directories contains a description of the directories I created;
read it if you have questions about them.
doc/design is the design document I sent before through email.
doc/useful_addresses.html contains links to I2C, SMBus and sensors
information.
Note that we may have to change minor i2c things, like Makefiles; this
is why I put it in the archive too (we should, of course, send important
changes to Simon Vogl).
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@3 7894878c-1315-0410-8ee3-d5d059ff63e0