Page MenuHomeFreeBSD

Merge the QorIQ GPIO drivers between arm and powerpc
ClosedPublic

Authored by jhibbits on Mar 31 2021, 7:06 PM.

Details

Summary

They're nearly identical, so don't use two copies. Merge the newer
driver into the older one, and move it to a common location.

Add the Semihalf and associated copyrights in addition to mine, since
it's a non-trivial amount of code merged.

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

mw requested changes to this revision.Apr 1 2021, 7:30 AM

Thank you Justin for doing the change!

sys/conf/files.arm64
105

It looks like some conflict resolution remainings slipped into the patch.

171

Please align 'optional' and the actual options with the entries above.

sys/dev/gpio/qoriq_gpio.c
405

(While not having the docs in hand) sys/arm64/qoriq/ls1046_gpio.c did not use GPIO_GPIBE - this could be a bug, but:

  • is above configuration required for the input mode?
  • isn't it problematic in case of non-input modes?
This revision now requires changes to proceed.Apr 1 2021, 7:30 AM
sys/conf/files.arm64
105

Oops. Must've snuck in during a rebase.

sys/dev/gpio/qoriq_gpio.c
405

This is required for LX2160, but may not be required for others.

Every reference I have, for P1022, P5020, and LX2160, any unimplemented registers in this block are ignored, so it's not a problem on other targets. I don't yet have a Honeycomb board, so have only tested on a P1022 board thus far, that it's not broken.

This only affects pins marked as input, it has no effect on other pins.

This is set 'unconditionally' (only conditional on compatible property) in Linux, too.

This revision is now accepted and ready to land.Apr 5 2021, 10:57 AM