{"push_id":822155020,"size":1,"distinct_size":1,"ref":"refs/heads/svn_head","head":"81cbbe16019ce9f03034e5c00bf056e99098960c","before":"2e7d950cf6268f9e6f8e4f45a1e66d93d26cf4e1","commits":[{"sha":"81cbbe16019ce9f03034e5c00bf056e99098960c","author":{"email":"57a33a5496950fec8433e4dd83347673459dcdfc@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f","name":"ian"},"message":"Mostly rewrite the imx i2c driver.  This started out as an attempt to fix\none specific problem: the driver didn't check for ACK/NAK after writing a\nslave address byte to the bus, and some slaves signal that they are busy\n(such as when completing an internal write to flash memory) by sending a\nNAK in response to being addressed.\n\nWhile working on that problem I discovered that the driver's handling of\nerror conditions in general didn't match the state transition diagram in\nthe reference manual, and making that right resulted in a lot of code\nreorganization.\n\nAlong the way various other changes also happened...\n\n - Remove a mutex that wasn't protecting anything.\n - Remove some mystery DELAY()s, document the few that remain.\n - Use pause_sbt(9) to yield the processor for the bulk of the time it\n   takes to transfer each byte rather than busy-polling the whole time.\n - Disable the controller when no transfers are in progress; since we\n   don't operate in slave mode, there's no reason to run the hardware.\n - Remove a bunch of unecessary code from probe().\n\n\ngit-svn-id: svn+ssh://svn.freebsd.org/base/head@289091 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/81cbbe16019ce9f03034e5c00bf056e99098960c"}]}