Page MenuHomeFreeBSD

spigen(4) SPI Generic IO driver and spibus(4) automatic clock adjustment
Needs ReviewPublic

Authored by brianfundakowskifeldman_gmail.com on Aug 22 2015, 9:21 PM.

Details

Reviewers
loos
Group Reviewers
Contributor Reviews (base)

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

brianfundakowskifeldman_gmail.com retitled this revision from to spigen(4) SPI Generic IO driver and spibus(4) automatic clock adjustment.
brianfundakowskifeldman_gmail.com edited the test plan for this revision. (Show Details)
brianfundakowskifeldman_gmail.com changed the edit policy from "All Users" to "Custom Policy".

Added ioctl variants that include specification of the SPI clock speed to use within the transfer request.

I haven't tested the code yet, but from what I see there is a bug WRT CS handling.

The CS is stored in the child ivar, I believe you are getting the CS set to 0 by a mistake.

The CS must be present in transfer structure (you should not rely on the existence of a kernel driver for the device).

We should probably get rid of the non clocked version of API and make the clocked functions the default API (not setting a clock produce the same result of non clocked version).

[GET|SET]_CLOCK_SPEED should set/get the SPI controller default speed and not the spigen default speed (allowing set the default clock freq for kernel drivers).

dev/spibus/spigen.c
432

Use DEVMETHOD_END here