Page MenuHomeFreeBSD

Check all compatible strings on uart devices in powerpc
ClosedPublic

Authored by jhibbits on Aug 28 2016, 7:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 2, 12:33 AM
Unknown Object (File)
Dec 16 2023, 1:12 PM
Unknown Object (File)
Dec 16 2023, 1:12 PM
Unknown Object (File)
Sep 19 2023, 11:43 AM
Unknown Object (File)
Apr 9 2017, 7:08 AM
Unknown Object (File)
Apr 9 2017, 5:23 AM
Unknown Object (File)
Apr 4 2017, 3:54 PM
Unknown Object (File)
Feb 14 2017, 12:20 AM
Subscribers

Details

Summary

Some device trees put "fsl,ns16650" first in the compatible list. This causes
the probe code to choke, even though the device is compatible with ns16650, and
has it listed later in the tree.

Test Plan

Boot the kernel

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhibbits retitled this revision from to Check all compatible strings on uart devices in powerpc.
jhibbits updated this object.
jhibbits edited the test plan for this revision. (Show Details)
jhibbits added reviewers: andrew, nwhitehorn.

You might want to also look at how we find the correct uart in uart_bus_fdt.c. We have a linker set to enumerate all drivers we support. They then provide a struct ofw_compat_data with the compat string and uart class.

jhibbits edited edge metadata.

Add a new ofw_bus_ function. This reuses the existing name of an
internal(static) function, and renames the static function to _int (couldn't
think of a better name).

You might want to also look at how we find the correct uart in uart_bus_fdt.c. We have a linker set to enumerate all drivers we support. They then provide a struct ofw_compat_data with the compat string and uart class.

Right, uart_cpu_powerpc.c's getdev() should be getting called by way of uart_bus_fdt.c.

nwhitehorn edited edge metadata.

Looks good. Thanks!

This revision is now accepted and ready to land.Aug 28 2016, 9:27 PM
This revision was automatically updated to reflect the committed changes.