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.
Tags
Referenced Files
Unknown Object (File)
Fri, Nov 15, 2:28 PM
Unknown Object (File)
Thu, Nov 14, 5:50 AM
Unknown Object (File)
Tue, Oct 29, 11:23 AM
Unknown Object (File)
Mon, Oct 28, 5:14 AM
Unknown Object (File)
Oct 9 2024, 8:28 PM
Unknown Object (File)
Oct 4 2024, 11:11 AM
Unknown Object (File)
Oct 1 2024, 12:10 PM
Unknown Object (File)
Sep 28 2024, 3:18 AM
Subscribers

Details

Reviewers
loos
Group Reviewers
Contributor Reviews (src)

Diff Detail

Lint
Lint Skipped
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