Commit Graph
45 Commits
Author SHA1 Message Date
Philip Edelbrock 3855d1aeea (Phil) Beginning of Voodoo3 I2C bus and BT869 driver are working!
Voodoo3 I2C notes (or short commings):

* only one type of read supported: type 'byte' (no 'command')

* only one type of write supported: type 'byte_data'

(The two above are more the limitation of the BT869 rather than
the I2C bus.)

* I used the SMBus 'model' rather than the 'bit' model because
  I thought it was easier this way.

* failed bus transactions yeild 0xFF, not an error!  So, this means
  that many drivers instantly latch onto this adapter because all
  reads and writes succeed without error.  Without the datasheet for
  the chip, I can't do much to fix this. (Amazing I got this far!)


BT869/868 notes:

* the BT869 has lots and lots of registers (~50), but can
  only read 3 (fairly uninteresting) status registers(!).  Right
  now all three status registers are read through the 'status' file,
  but I haven't decided on the best method for writing to the rest
  of the registers.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@448 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-06 05:52:24 +00:00
Philip Edelbrock 6a83949e74 (Phil) Beginnings of Voodoo3 I2C support and BT869 driver.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@447 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-06 05:12:36 +00:00
Frodo Looijaard 5ffe4834e5 Made i2c-hydra.o 2.0.x kernel compatible
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@442 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-02 21:00:24 +00:00
Frodo Looijaard 1ade24f919 Geert's PPC support and Hydra driver
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@430 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-28 18:18:12 +00:00
Frodo Looijaard 08377964d2 Synchronised the texts appearing in /proc/ioports for all bus
drivers.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@357 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-02 22:46:02 +00:00
Frodo Looijaard c0aac1c8da Changed forcibly enabled stuff to insmod parameters.
There are now two new insmod parameters, and the #define has disappeared

force: if set to anything but zero, this enables the PIIX4 as the old
       #define did.
force_addr: This first sets a new I/O port address for the PIIX4, and
       afterwards enables it. Supercedes 'force'.

Note that using force_addr is very, very dangerous if you do not know
what you are doing. On the other hand, it was very easy to add, and can
be a big help if your BIOS doesn't set correct addresses.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@353 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-02 22:37:00 +00:00
Kyosti Malkki 669686ff1c (Kyösti)
* Removed unnecessary MOD_INC/DEC_USE_COUNT in host adapter drivers
  (i2c-via bit-lp bit-velle)

You can now rmmod adapters even when they have registered clients.
Without this, you would have to detach the clients first. Only way of doing
this is to rmmod the client drivers, but the same drivers might be used to
access clients behind other hosts.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@347 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-28 14:49:54 +00:00
Mark D. Studebaker d3693e2f13 add 'static' to get rid of offending results of 'nm --extern --defined'.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@344 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-26 23:54:56 +00:00
Mark D. Studebaker 4f12241758 updated block read/write code.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@310 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-14 00:39:19 +00:00
Mark D. Studebaker 47b1c6d57f added 'i2c-' prefix to module names in all printk's to match new module names.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@300 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-10 00:10:42 +00:00
Frodo Looijaard 089481f07d Two insignificant patches to remove 2.0.x kernel compile warnings.
It compiles now cleanly against kernel 2.0.36; I checked, double-checked and
cross-checked.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@247 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-18 14:31:54 +00:00
Frodo Looijaard d4ae94bf20 Huh? My ALI patch did not take?!? Let's try again...
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@245 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-18 13:19:29 +00:00
Frodo Looijaard d78cd0cb5f Removed some compiler warnings
All our own code (ie. anything not in the i2c directory) compiles now without
warnings, even with WARN=1 (which sets -Wall -Wstrict-prototypes -Wshadow
-Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wnested-externs
-Winline). There is one exception: the lex code (conf-lex.l) complains about
unused functions. That's flex' fault, not ours!

The i2c code still emits many warnings with the above flags; that's Simon's
problem.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@233 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-16 21:59:05 +00:00
Mark D. Studebaker 071877a923 shortened the comments a little since we have a file in the doc directory.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@221 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-12 06:13:34 +00:00
Philip Edelbrock 25a196faf1 (Phil) Added Mark D. Studebaker's (<mds@eng.paradyne.com>) bus driver
for the SMBus host on Acer Labs Inc. (ALI) M1541 and M1543C South Bridges.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@211 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-10 04:33:01 +00:00
Frodo Looijaard 24792039f6 Adrian's copyright patch applied
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@207 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-08 22:50:29 +00:00
Kyosti Malkki 79aed13889 (Kyösti) Support for the sensor hardware in SiS 5595. This has an
integrated LM78, so the driver is only a customized copy of lm78.c
This southbridge can also do i2c, but this not enough documented in
the datasheet. So i2c is currently not supported.

Some cosmetic changes for VIA driver and documentation.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@196 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-06 12:04:48 +00:00
Frodo Looijaard b9b60a0195 Automatically delete old kernel modules on a 'make install'
It tries to delete bit-via.o, bit-mb.o, isa.o and piix4.o in the module
install directory.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@194 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-05 13:25:49 +00:00
Kyosti Malkki 4928c0d7bc (Kyösti) : Via driver and related documentation moved under
lm_sensors2 source tree. Improvements in VIA driver,
            now checks revision code and refuses to load the
            module if bit_test (in algo-bit) fails.
            (Also fixes previous unsuccessfull CVS commit)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@187 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-31 22:55:35 +00:00
Kyosti Malkki e2f85d427e (Kyösti) : Via driver and related documentation moved under
lm_sensors2 source tree. Improvement in VI


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@186 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-31 21:29:53 +00:00
Frodo Looijaard 634cb32ac0 Update to the latest (mod-19990118) kernel archive
I really hope I did not forget an add or remove. If strange things happen
when you compile, please let me know.

There may still be problems with the EXPORT_* stuff; it seems to work now
for kernel 2.0.36pre19, but it may give trouble for earlier kernels. We
need to check that.

Some i2c modules may be a bit verbose at this moment.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@184 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-29 13:40:25 +00:00
Frodo Looijaard 065e52c2b1 Changed all isa.h references to i2c-isa.h
vi `find -type f|xargs grep -l isa.h` worked like a charm :-)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@182 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-29 00:17:11 +00:00
Frodo Looijaard f31a1f45f2 Makefile tweaks for the new kernel directory structure
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@179 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-28 14:45:20 +00:00
Philip Edelbrock ce7aea9a5a (Phil) Made slight adjustments so the new file arrangement will build.
I added two new make file 'includes': busses/Module.mk and chips/Module.mk
Frodo- You may want to review the makefile structure to make sure that
the system works as you intended.

Note: The docs still need to be updated to reflect the new file arrangement,
but at least it builds!


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@176 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-27 06:10:00 +00:00
Frodo Looijaard 90627a9461 More better DEBUG stuff for piix4, removed compile warning for sensors.c
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@157 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-11 17:06:18 +00:00
Frodo Looijaard 6330b7018a Slightly better debug logs
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@156 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-11 17:02:01 +00:00
Frodo Looijaard 1d12298e93 New file CHANGES
Read the intro; it describes how you can use CVS to diff between old releases.

Stupid copyright typo in piix4.c fixed


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@146 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-06 00:23:42 +00:00
Frodo Looijaard 750e0d00aa Slightly better copyright messages, now telling what the file belongs
to.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@96 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-20 17:04:11 +00:00
Frodo Looijaard 83d433dce9 Last changes for 2.0.2
* Fixed FORCE_PIIX4_ENABLE bus (misspelled function call)
* Added Kyösti's mail about the VIA chipset to the doc directory, as
  temporary placeholder


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@78 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-15 03:22:20 +00:00
Frodo Looijaard a8ee0243ad Some small bug fixes
* Somehow, i2c-proc did not yet use the i2c_adapter_id call. This must have
  slipped through.
* isa.o and smbus.o changes I made to make them less noisy had a small
  error (no return value), which caused strange device detections.
* Added /proc/bus/i2c module-count monitoring - somehow, this slipped
  through, too.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@68 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-11 15:07:29 +00:00
Frodo Looijaard ea315df1c3 Made the ISA/SMBus code shut up if DEBUG is off and things try to
access unimplementable functionality. And removed a #if which could never
become true anyway from i2c-proc.c.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@67 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-11 02:16:59 +00:00
Frodo Looijaard 4aa9c6376c Corrected small bug in isa.c and smbus.c which caused faulty lm75
chips to be registered on the ISA bus now that the I2C emulation code was
triggered.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@44 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-06 23:10:20 +00:00
Frodo Looijaard ce0521ba13 LM75 data correctly readable now!
* 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
1998-12-06 15:21:29 +00:00
Frodo Looijaard e0484650ef Fixed some more bugs
* 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
1998-12-05 16:36:47 +00:00
Frodo Looijaard 61d74f13e0 Minor fixes
* /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
1998-12-05 16:12:47 +00:00
Philip Edelbrock 279eb7c5c0 (Phil) Fixed a couple 2.1.x issues:
- The schedule() and timeout issue (since 2.1.127 I think)

- A syntax error in piix4 (pci func 3 sensing code Frodo wrote)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@37 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-05 04:23:52 +00:00
Frodo Looijaard 6b510ea008 Last fixes in piix4.o
* 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
1998-12-05 01:03:03 +00:00
Frodo Looijaard f18d210815 PIIX4 update
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
1998-12-05 00:47:22 +00:00
Philip Edelbrock 36d4745b0d (Phil) OK, here is the first shot at integrating PIIX4 support in the new
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
1998-12-04 03:49:32 +00:00
Frodo Looijaard cbf518d36e Fixes to make code compile with 2.1 kernels
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
1998-12-02 17:25:53 +00:00
Frodo Looijaard c26eff1184 Start of i2c-bus, a module for displaying i2c bus information in /proc
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
1998-11-27 00:26:51 +00:00
Frodo Looijaard 45d6e40e75 Example lm_sensors-2 driver
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
1998-11-26 10:16:08 +00:00
Frodo Looijaard 4d29df9f32 isa module added, some bugfixes
'isa.o' is roughly what was called 'sensor.o' in doc/design.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@12 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-11-23 22:34:34 +00:00
Frodo Looijaard ed7e4c3001 Makefile enhancements, printk enhancements
* 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
1998-11-22 21:36:52 +00:00
Frodo Looijaard 9f4acd58b1 piix4.c basic skeleton
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
1998-11-19 15:14:01 +00:00