This patch fixes a race condition in the lm85 driver and adds support for the
SMC EMC6D100 and EMC6D101. The EMC6D100 and 101 chips have some additional
features that *are not* currently implemented in the driver, but the chip is
detected (by sensors-detect and the lm85 driver).
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1740 7894878c-1315-0410-8ee3-d5d059ff63e0
Christian Hammers <ch@laathspell.de> wrote:
> Hello
>
> I always got the following error when compiling lm_sensors-2.7.0:
>
>
>> gcc -DMODVERSIONS -include /lib/modules/2.4.20-bigvideo-1/build/include/linux/modversions.h -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -fomit-frame-pointer -I. -Ikernel/include -I/usr/local/include -I/lib/modules/2.4.20-bigvideo-1/build/include -O2 -c kernel/busses/i2c-amd8111.c -o kernel/busses/i2c-amd8111.o
>
>
>
>>> kernel/busses/i2c-amd8111.c:26:2: #error Your i2c is too old - i2c-2.7.0 or greater required!
>
>
>
> This is a compile problem as the include files of 2.7.0 are in
> /usr/local/include/linux/. gcc-3.2.3 just puts /usr/local/include at the
> end of the list although it is first on the command line and the info
> page says the list is scanned left to right.
>
>> GNU CPP version 3.2.3 20030316 (Debian prerelease) (cpplib)
>> (i386 Linux/ELF)
>> GNU C version 3.2.3 20030316 (Debian prerelease) (i386-linux)
>> compiled by GNU C version 3.2.3 20030316 (Debian prerelease).
>> ignoring nonexistent directory "/usr/i386-linux/include"
>> ignoring duplicate directory "/usr/local/include"
>> as it is a non-system directory that duplicates a system directory
>> #include "..." search starts here:
>> #include <...> search starts here:
>> .
>> kernel/include
>> /usr/local/include
>> /usr/lib/gcc-lib/i386-linux/3.2.3/include
>> /usr/include
>> /lib/modules/2.4.20-bigvideo-1/build/include
>
>
>
> As a fix I suggest:
>
> # diff -u Makefile.orig Makefile
> --- Makefile.orig 2003-03-19 18:20:38.000000000 +0100
> +++ Makefile 2003-03-19 18:21:08.000000000 +0100
> @@ -178,7 +178,7 @@
> # PROGCPPFLAGS/PROGCFLAGS is to create non-kernel object files (which are linked into executables).
> # ARCPPFLAGS/ARCFLAGS are used to create archive object files (static libraries).
> # LIBCPPFLAGS/LIBCFLAGS are for shared library objects.
> -ALL_CPPFLAGS := -I. -Ikernel/include -I$(I2C_HEADERS) -I$(LINUX_HEADERS)
> +ALL_CPPFLAGS := -I. -Ikernel/include -I$(I2C_HEADERS) -idirafter $(LINUX_HEADERS)
> ALL_CFLAGS := -O2
> ifeq ($(DEBUG),1)
>
>
>
> bye,
>
> -christian-
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1735 7894878c-1315-0410-8ee3-d5d059ff63e0
Copy sysctl enums to chip drivers from sensors.h for now,
as seen in drivers included in 2.5 tree. File no longer included
from kernel side.
Apply i2c-proc change in CVS tagged -km2.
Partial clean and sort of includes everywhere.
Add i2c-dev.h, as a partial copy from i2c.
Add to sensors.h from i2c-proc.h to compile things.
Remove i2c-isa.h.
Reflect header file changes to lib/ and prog/.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1705 7894878c-1315-0410-8ee3-d5d059ff63e0
Module refcounting using .owner, removing of inc/dec_use.
These require (yet unreleased) i2c 2.8.0+.
Named initializers everywhere. Unified namespace.
Cleanup for 2.5, remove EXPORT_NO_SYMBOLS, declare everything
static. Apply initcalls.
PCI device registration changes for busses started, replicating
from i2c-amd*. While everything does compile, nothing really
works. Well, maybe i2c-amd* ported back from 2.5 tree.
After updating your work directory, run
> cvs diff -u -r LAST-PRE-2-8-I2C > lm-2.8-patches-1
BEWARE: I have not even insmoded any of these yet.
To compile, you need i2c from cvs too.
For 2.4 kernel :
> cvs co -r lk2-4 i2c
For 2.5 kernel :
> cvs co i2c
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1698 7894878c-1315-0410-8ee3-d5d059ff63e0