📄 changes
字号:
i2c CHANGES file-----------------------This is a list of the most important changes between 2.x versions. It is byno 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.10.0 (20060214) doc/functionality: Fix I2C_FUNC_PROTOCOL_MANGLING description (Hideki Iwamoto) doc/writing-clients: New memory allocation model Drop empty command implementation example i2c-core: Fix logic error in SMBus Write Word transaction with software PEC (Hideki Iwamoto) Fix temporary buffer size for SMBus Block Write transaction with software PEC (Hideki Iwamoto) Fix buffer overrun in SMBus Block Write and Block Process Call transactions (Hideki Iwamoto) Rewrite software PEC implementation (2.6 backport) Improve debugging in i2c_transfer (2.6 backport) i2c-dev: Drop empty command implementation (2.6 backport, Laurent Riffard) i2c.h: Fix union i2c_smbus_data definition Delete 2 out-of-date, colliding ioctl defines Drop I2C_FUNC_SMBUS_*_PEC (2.6 backport) Drop I2C_SMBUS_*_PEC (2.6 backport)2.9.2 (20050906) Makefile: Do not compile i2c-algo-biths by default Detect 2.6+ kernels and stop i2c-core, i2c-proc: Fix cast warnings on gcc 3.3 i2c.h: Drop additional members of struct i2c_msg, so as to restore the binary compatibility with Linux 2.4 i2c-dev.h: Fix compilation problem (missing include) i2c-algo-bit: Drop Linux 2.5+ compatibility code2.9.1 (20050412) Interface changes - Restore binary compatibility with Linux 2.4 Makefile: Revert the header install removal Support sparc64 (Nicolas Boullis) Support mips and sparc32 (Aurelien Jarno) Use -fno-strict-aliasing on all architectures i2c-core: Unhide i2c_get_client Fix force parameter loop iteration i2c-id.h: Add ID for Marvell 64xxx Sync IDs with Linux 2.6 i2c.h: Drop 2.4.9 compatibility define of MODULE_LICENSE Fix defines lacking parentheses (Corey Minyard) i2c-algo-bit, i2c-algo-biths, i2c-algo-pcf: Declare I2C_FUNC_I2C as being supported i2c-algo-biths: Replace assembly code by C (Aurelien Jarno)2.9.0 (20041228) Interface changes - Struct i2c_adapter: restore inc_use() and dec_use(), remove owner - Struct i2c_algorithm: remove owner - Struct i2c_driver: restore inc_use() and dec_use(), remove owner - Restore controlling_mod argument in i2c_register_entry() These changes restore compatibility with pre-2.8.0 i2c, in particular with the version of i2c present in the Linux 2.4 kernels. Makefile: Do not export any kernel header i2c-id.h: Add IDs for virtual adapter, lpc47b397 i2c-proc.c: Increase SENSORS_ENTRY_MAX to 24 i2c-proc.c: Fix a bug in the real parsing code mkpatch: Generate diffs for drivers/i2c/Config.in and drivers/i2c/Makefile again2.8.8 (20041007) Makefile: Do not export i2c-dev.h i2c-pport.c: Code cleanups Do not test lines, i2c-algo-bit already does i2c-proc.c: Do not rely on procname but instead on ctl_name to determine sysctl table lengths. (Louis-Martin Cote)2.8.7 (20040611) Makefile: Do not run depmod on staged installs (Peter Breitenlohner) i2c-id.h: Add IDs for MAX6900, PCILYNX, SIBYTE, SGI_VINO, SGI_MACE i2c-proc.c: Fail to compile if kernel lacks sysctl supportNOTE: there was no 2.8.5 or 2.8.6 release2.8.4 (20040207) i2c-id.h: Add IDs for the OV511 project i2c-philips-par.c: Fix bus reset with type!=02.8.3 (20040115) File i2c-rh.spec: Updated Makefile: Update Alpha CMODFLAGS (Daniel Nilsson) Makefiles: Remove -o and -g arguments to install i2c.h: Add I2C_M_RECV_LEN and I2C_M_RECV_PEC i2c-algo-bit.c: Add SMBus block read and block process call emulation i2c-core.c: Add SMBus block read and block process call emulation2.8.2 (20031211) Makefiles: Fail if no kernel .config file exists i2c-algo-bit: Fix sclhi() for adapters that do not have getscl(); Enable bit_test for adapters that do not have getscl(); Mostly rewrite test_bus(), cleaner and probably faster. i2c-id.h: Add IDs for FSC Hermes, usbvision, and drivers found in the Linux 2.4.22 kernel.2.8.1 (20031005) Modules (various): Fix includes for compilation on alpha i2c.h: Add utility function i2c_delay(1) i2c-algo-8xx.h: Header fix (Richard Laing) i2c-core.c: Trivial bugfix to i2c_check_addr() i2c-dev.c: Ioctl fixes: user/kernel bug, memory leak (Robert T. Johnson, Sergey Vlasov) i2c-elektor.c: Fix memory mapped I/O i2c-id.h: Add IDs for the LM90, ASB100, Radeon, Xeon, MAX66502.8.0 (20030714) Interface changes: - File i2c-dev.h: remove all userspace code, moved to i2c-dev.h in lm_sensors2 package - Struct i2c_adapter: remove inc_use() and dec_use(), add owner, remove client_count, replace semaphore lock with semaphores bus and list. - Struct i2c_algorithm: add owner - Struct i2c_driver: remove inc_use() and dec_use() - Struct i2c_msg: type changes; add err and done - Struct i2c_smbus_ioctl_data, i2c_rdwr_ioctl_data: type changes - Remove controlling_mod argument in i2c_register_entry() - Remove i2c_inc_use_client() and i2c_dec_use_client() - Add i2c_client_command() Makefiles: Handle multiple UTS_RELEASE definitions in linux/version.h; Remove old gzipped modules; remove old misc directory if empty; Don't use /usr/include headers for modules; Remove pre-2.4 installation method; Run depmod after module installation Modules (all): Cleanups including - C99 initializers - Remove #ifdef MODULE - Remove #ifndef THIS_MODULE - Remove #ifndef MODULE_LICENSE - Remove init_MUTEX #define - Remove EXPORT_NO_SYMBOLS - Remove dummy xxx_command() definitions - Use module_init() and module_exit() drivers (several): make spinlock_t's static i2c-algo-biths.[ch]: (new) Rewrite of i2c-algo-bit with improved bus timing and error handling. This is not a drop-in replacement for i2c-algo-bit. Interface subject to change. i2c-core.c: Rewrite locking; Remove initialization of other modules in i2c_init_all() i2c-dev.c: Fixes from kernel 2.4.21-rc7 i2c-id.h: add IDs for i2c-algo-biths, W83627HF, LM85, nForce2, OMAHA, GUIDE, MPC107, IXP2000, IXP425, IOP3XX, UDA1342, S3VIA i2c-proc.c: Fix ignore and probe tests mkpatch: Remove patching of drivers/char/mem.c2.7.0 (20021208) 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 compiles2.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, SIS6452.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-epp2.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-velleman2.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 fix2.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 writes2.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 support2.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 drivers2.5.1 (20000618) and older: No data available
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -