Page MenuHomeFreeBSD

convert iicsmb to use iicbus_transfer for all operations
ClosedPublic

Authored by avg on Oct 7 2016, 7:03 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 11, 6:11 PM
Unknown Object (File)
Tue, Oct 29, 10:10 PM
Unknown Object (File)
Oct 5 2024, 1:44 PM
Unknown Object (File)
Oct 4 2024, 2:02 AM
Unknown Object (File)
Sep 30 2024, 4:01 AM
Unknown Object (File)
Sep 15 2024, 5:45 AM
Unknown Object (File)
Sep 15 2024, 2:38 AM
Unknown Object (File)
Sep 14 2024, 5:05 PM
Subscribers
None

Details

Summary

Previously the driver used more low level operations like iicbus_start
and iicbus_write. The problem is that those operations are not
implemented by iicbus(4) and the calls were effectively routed to
a driver to which the bus is attached.
But not all of the controllers implement such low level operations
while all of the drivers are expected to have iicbus_transfer.

While there fix incorrect implementation of iicsmb_bwrite and iicsmb_bread.
The former should send a byte count before the actual bytes, while the
latter should first receive the byte count and then receive the bytes.

Test Plan

Only the following commands have been tested:

  • quick (r/w)
  • send byte
  • receive byte
  • read byte
  • write byte

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

avg retitled this revision from to convert iicsmb to use iicbus_transfer for all operations.
avg updated this object.
avg edited the test plan for this revision. (Show Details)
avg added reviewers: imp, jhb, nwhitehorn.
This revision was automatically updated to reflect the committed changes.