History log of /src/sys/dev/i2c/xc5k.c |
Revision | | Date | Author | Comments |
1.9 |
| 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.8 |
| 12-Apr-2018 |
christos | branches: 1.8.2; PR/53177: David Binderman: Better error handling
|
1.7 |
| 01-Jun-2017 |
chs | branches: 1.7.8; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
1.6 |
| 07-Mar-2015 |
jmcneill | i2c devices don't actually have a dependency on "iic" (the bus driver) but on "i2cexec". Create an i2cexec module (i2c_exec.c) to mirror the dependencies in files.i2c and switch device drivers to depend on "i2cexec" module instead.
A kernel with a USB stack and no I2C controller / bus attachment would spit out a bunch of "WARNING: module error: can't find builtin dependency `iic'" messages at boot. This change solves that problem.
|
1.5 |
| 07-Jan-2015 |
ozaki-r | Pass a correct firmware size (instead of 0) to firmware_free
firmware_free now uses kmem_free(9) instead of free(9), so we need to pass a correct size to it.
|
1.4 |
| 02-Oct-2011 |
jmcneill | branches: 1.4.12; 1.4.28; 1.4.30; now that iic is a module, add "iic" dependency to iic drivers
|
1.3 |
| 09-Jul-2011 |
jmcneill | add digital capture support
|
1.2 |
| 28-Dec-2010 |
jmcneill | branches: 1.2.6; don't make module declaration conditional on _MODULE
|
1.1 |
| 27-Dec-2010 |
jmcneill | add driver for the Auvitek AU0828 USB video controllers's analog video capture functions:
auvitek0 at uhub6 port 2: AU0828 video0 at auvitek0: WinTV HVR-950Q uaudio0 at auvitek0 port 2 configuration 1 interface 1 uaudio0: vendor 0x2040 product 0x7200, rev 2.00/0.05, addr 2 uaudio0: audio rev 1.00 audio1 at uaudio0: full duplex, playback, capture, independent
|
1.2.6.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.2.6.1 |
| 28-Dec-2010 |
rmind | file xc5k.c was added on branch rmind-uvmplock on 2011-03-05 20:53:10 +0000
|
1.4.30.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.4.30.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.4.28.1 |
| 21-Mar-2015 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #634): distrib/sets/lists/modules/md.amd64: revision 1.51 distrib/sets/lists/modules/md.evbppc.powerpc: revision 1.5 distrib/sets/lists/modules/md.i386: revision 1.55 distrib/sets/lists/modules/mi: revision 1.71 sys/dev/i2c/au8522.c: revision 1.7 sys/dev/i2c/cx24227.c: revision 1.7 sys/dev/i2c/dbcool.c: revision 1.42 sys/dev/i2c/hytp14.c: revision 1.3 sys/dev/i2c/i2c_exec.c: revision 1.10 sys/dev/i2c/lg3303.c: revision 1.9 sys/dev/i2c/mt2131.c: revision 1.5 sys/dev/i2c/nxt2k.c: revision 1.4 sys/dev/i2c/sdtemp.c: revision 1.24 sys/dev/i2c/spdmem_i2c.c: revision 1.10 sys/dev/i2c/tvpll.c: revision 1.6 sys/dev/i2c/xc3028.c: revision 1.7 sys/dev/i2c/xc5k.c: revision 1.6 sys/dev/i2c/zl10353.c: revision 1.4 sys/modules/Makefile: revision 1.143 sys/modules/i2cexec/Makefile: revision 1.1 i2c devices don't actually have a dependency on "iic" (the bus driver) but on "i2cexec". Create an i2cexec module (i2c_exec.c) to mirror the dependencies in files.i2c and switch device drivers to depend on "i2cexec" module instead. A kernel with a USB stack and no I2C controller / bus attachment would spit out a bunch of "WARNING: module error: can't find builtin dependency `iic'" messages at boot. This change solves that problem.
|
1.4.12.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.7.8.2 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.7.8.1 |
| 16-Apr-2018 |
pgoyette | Sync with HEAD, resolve some conflicts
|
1.8.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|