diff options
author | ian <ian@FreeBSD.org> | 2016-01-24 18:54:55 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2016-01-24 18:54:55 +0000 |
commit | 89f44178f6f559f38929d5240797dcbdb21a857b (patch) | |
tree | ce09a2f99ae8b216d9766805ae92ad4ca11bcad1 /rescue | |
parent | 6e1c6c6f92ae9dbb55ebdb1d11907f9fcb540329 (diff) | |
download | FreeBSD-src-89f44178f6f559f38929d5240797dcbdb21a857b.zip FreeBSD-src-89f44178f6f559f38929d5240797dcbdb21a857b.tar.gz |
MFC r289727:
Add FDT compatibility to the icee driver.
The FDT bindings for eeprom parts don't include any metadata about the
device other than the part name encoded in the compatible property.
Instead, a driver is required to have a compiled-in table of information
about the various parts (page size, device capacity, addressing scheme). So
much for FDT being an abstract description of hardware characteristics, huh?
In addition to the FDT-specific changes, this also switches to using the
newer iicbus_transfer_excl() mechanism which holds bus ownership for the
duration of the transfer. Previously this code held the bus across all
the transfers needed to complete the user's IO request, which could be
up to 128KB of data which might occupy the bus for 10-20 seconds. Now the
bus will be released and re-aquired between every page-sized (8-256 byte)
transfer, making this driver a much nicer citizen on the i2c bus.
The hint-based configuration mechanism is still in place for non-FDT systems.
Diffstat (limited to 'rescue')
0 files changed, 0 insertions, 0 deletions