i2c CHANGES file ----------------------- This is a list of the most important changes between 2.x versions. It is by no means complete, listing only user-visible changes which are interesting. The ultimate way to know what has changed is to run diff, or even neater, ask CVS about it: * Checkout the archive (see doc/cvs for how you can do this) * Determine which tags are valid, by running this command from the project root directory: cvs status -v -l Makefile Valid tags are usually like form V2-1-0 for version 2.1.0 * Ask cvs for the difference between two versions: cvs diff -r TAG1 -r TAG2 DIFF-OPTIONS for example: cvs diff -r V2-0-0 -r V2-0-1 -u ----------------------------------------------------------------------------- 2.7.0 (200212??) drivers (several): C99 initializers (sync w/ kernel 2.5.49); HZ fixes i2c.h: Add I2C_M_IGNORE_NAK, I2C_M_NO_RD_ACK to flags. i2c-algo-bit.c: Support I2C_M_IGNORE_NAK. Use time_after() with jiffies. Debug message improvements. Fix clock high time in sclhi(). i2c-algo-8xx.c: Several updates and cleanups i2c-algo-ibm_ocp.[ch], i2c-adap-ibm_ocp.c: Rename i2c_iic_[add,del]_bus to i2c_ocp... to avoid duplicate with i2c-algo-ite in kernel i2c-core.c: Fix emulated i2c block writes i2c-dev.c: Remove data copy limit i2c-id.h: Add driver IDs for smart battery, IPMI, BMC, FS451, AMD8111, SCx200 i2c-proc.h: Add SENSORS_INSMOD_8; add naming for new dummy adapters mkpatch: Fix export-objs doc/i2c-protocol: Comment new client flags, fix I2C_M_NOSTART samples. Makefile: Take kernel source location from /lib/modules/x.x.x/build; add flags for x86_64 compiles 2.6.5 (20020915) mkpatch: Fix i2c-algo-8xx.o target causing kernel to not compile; add doc/i2c-old-porting, i2c-algo-8xx.[ch], i2c-adap-ibm_ocp.c, i2c-algo-ibm_ocp.[ch], i2c-frodo, i2c-rpx, i2c-pport, i2c-pcf-epp. i2c-adap-ibm_ocp.c, i2c-elektor.c, i2c-pcf-epp.c : Replaced deprecated cli() and sti() with spin_lock_irq(&driver_lock); and spin_unlock_irq(&driver_lock); Added spinlock_t driver_lock = SPIN_LOCK_UNLOCKED i2c-adap-ibm_ocp.c, i2c-elektor.c, i2c-pcf-epp.c : Moved driver_lock to module level and renamed to irq_driver_lock to avoid conflict with driver_lock semaphore in i2c-core. i2c-algo-8xx.c: Replaced deprecated save_flags(flags); cli() with local_irq_save(flags); and restore_flags(flags) with local_irq_restore(flags); i2c-core.c: Remove buffer size limit in i2cproc_bus_read(); add initializations for modules added to mkpatch. i2c-id.h: Add driver IDs for MPC824X, SIS630, SIS645 2.6.4 (20020719) (in kernel 2.5.32) doc/i2c-old-porting: New i2c.h: Add defines for SMBus 2.0 i2c-algo-8xx.[ch]: Compile updates, Add GPL i2c-algo-bit.c: Wait for clock low extension by slow devices; add cond_resched() for 2.5 kernels i2c-algo-ibm_ocp.[ch], i2c-adap-ibm_ocp.c: renamed from *ppc405*, rewritten to support the ppc4xx kernel and multiple 4xx devices i2c-core.c: Add SMBus 2.0 PEC and Block Process Call support; change back to 'old' CONFIG names; fix i2c emulated process call i2c-dev.c: Add SMBus 2.0 PEC and Block Process Call support i2c-dev.h: Add SMBus 2.0 Block Process Call support i2c-frodo.c: New. Support for I2C on Frodo (2d3D, Inc. SA-1110 Dev Board). i2c-id.h: Add driver IDs for Savage 4, smbus-arp, smbus-alert, DS1307, SA-1110, SMSC47M1, ADV717x, ZR36067, ZR36120, VT1211, LM92, Frodo. i2c-pcf-epp.c: Remove compile warning i2c-proc.c: Check kmalloc() return code (sync with kernel 2.4.18) i2c-rpx.c: Compile updates mkpatch: Change back to 'old' CONFIG names Makefiles: For 2.4+ kernels, modules now install in kernel/drivers/i2c , not misc/ , and removes old versions in misc/ . Don't compile i2c-philips-par if no CONFIG_PARPORT. Change back to 'old' CONFIG names. 2.6.3 (20020322) (in kernel 2.5.24) TODO: Many updates Config.in: i2c-proc requires sysctl doc/i2c-velleman: New drivers (all): Add message loglevels to printk's i2c.h: Add defines for 2-byte address block reads/writes, SAA7108 i2c-core.c, i2c-dev.h: Add SMBus emluated i2c block reads i2c-core.c: Increase max buffer size for /proc/bus/i2c-x handler i2c-pcf-epp.c: Fix so it compiles i2c-philips-par.c: Check return code of parport_claim_or_block() i2c-proc.[ch]: Change i2c_sysctl_real 3rd arg to unsigned for kernel 2.2.19; printk if no sysctl support in kernel mkpatch: Sync with kernel 2.4.15 (Configure.help) Module.mk: Add i2c-pcf-epp 2.6.2 (20011118) drivers (all): Add version to printk drivers (all): sync with kernel 2.4.11 (Add MODULE_LICENSE("GPL")) i2c-algo-8xx.c: Fix nasty cache problem i2c-algo-pcf.c: Fix detection for some boards (PIN bit) i2c-core.c: Don't redefine init_MUTEX() for kernels 2.2.18+; fix CONFIG_xxx inconsistencies for i2c-elektor, i2c-elv, i2c-philips-par, i2c-velleman i2c-elektor.c: Fix segfault when module not inserted, and small IRQ issue. i2c-id.h: Add device IDs for Fujitsu-Siemens Poseidon and Scylla; sync with kernel 2.4.10 (ITE IIC id's); add SAA7134 ID; add PCF8591 ID. mkpatch: Fix CONFIG_xxx inconsistencies for i2c-elektor, i2c-elv, i2c-philips-par, i2c-velleman 2.6.1 (20010830) (in kernel 2.4.13) drivers (all): Sync with kernel 2.4.2 (malloc.h -> slab.h) i2c-core.c: Fix iteration bug in i2c_get_client(); initialize i2c-proc if built-in. i2c-dev.c: Sync with kernel 2.4.9 (i2cdev_lseek -> no_llseek) i2c-id.h: Add device ID for Chrontel 700X driver; add ID for primitive parallel port driver. i2c-pport.c: New - not mkpatched by default mkpatch/Config.in: PPC405 fix 2.6.0 (20010612) Makefile: Added support for alpha architecture i2c.h: Add #defines from lm_sensors i2c-isa.h i2c-algo-8xx.[ch]: New - not built or mkpatched by default i2c-algo-pcf.c: Increase I2C clock speed from 6.25 kHz to 50 kHz; add detect code; remove test_bus function; add support for multiple messages (proper generation of stop/repstart sequences) i2c-algo-ppc405.[ch]: New - not built or mkpatched by default i2c-dev.c: Fix cleanup i2c-elektor.c: Add Alpha detection; add support for memory mapped 8584 behind a PCI bridge on Alphas; set interrupt bit correctly i2c-elektor.h: Comment out unused structure for now i2c-id.h: Add device ID's from lm_sensors sensors.h; add DEC Tsunami; added ID's for VPX32XX, DRP3510, SP5055, STV0030. i2c-ppc405.[ch]: New - not built or mkpatched by default i2c-ppc405adap.h: New i2c-proc.[ch]: New, from lm_sensors sensors.[ch] i2c-rpx.c: New - not built or mkpatched by default mkpatch: Add support for i2c-proc.[ch] 2.5.5 (20010115) (in kernel 2.4.0-prerelease) mkpatch no longer supports 2.3 kernels i2c-core.c: Fix SMBus emulated i2c block writes 2.5.4 (20001012) i2c-id.h: Add VES1893, VES1820, SAA7113, TDA8444 i2c-pcf-epp.c: New (no .h file, not compiled or patched to kernel) 2.5.3 (20001008) i2c-dev.c: Fix bug that MOD_COUNT was incremented instead of decremented on close; add devfs support. i2c-id.h: Add algorithms for ACPI and ACCESS.bus i2c-id.h: Add smart battery devices i2c-id.h: Add ALI 1535 device i2c-core.c, i2c-dev.c, i2c-dev.h, i2c.h: Add i2c block write support 2.5.2 (20000709) i2c-philips-par: Now compiles on all 2.2 kernels i2c-core: Corrected some SMBus block commands-related stuff i2c-core: Much better error checking in (de)registering functions i2c-core: Saner and now even documented handling of dummy drivers 2.5.1 (20000618) and older: No data available