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)
Dec 27 2023, 5:39 PM
Unknown Object (File)
Dec 27 2023, 5:11 PM
Unknown Object (File)
Sep 4 2023, 5:03 AM
Unknown Object (File)
Jun 12 2023, 12:54 AM
Unknown Object (File)
Apr 13 2023, 2:15 PM
Unknown Object (File)
Apr 13 2023, 2:13 PM
Unknown Object (File)
Apr 13 2023, 2:13 PM
Unknown Object (File)
Apr 13 2023, 2:45 AM
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.