Page MenuHomeFreeBSD

Don't require strict compatibility on simple-bus
ClosedPublic

Authored by bsz_semihalf.com on Dec 17 2015, 11:47 AM.
Tags
Referenced Files
Unknown Object (File)
Oct 5 2024, 2:19 PM
Unknown Object (File)
Sep 24 2024, 2:27 PM
Unknown Object (File)
Sep 23 2024, 4:28 AM
Unknown Object (File)
Sep 22 2024, 7:13 PM
Unknown Object (File)
Sep 22 2024, 4:34 AM
Unknown Object (File)
Sep 18 2024, 4:48 PM
Unknown Object (File)
Aug 31 2024, 8:46 AM
Unknown Object (File)
Aug 22 2024, 10:12 PM
Subscribers

Details

Summary

Strict compatibility requirement is cause of problems when simplebus'
node has two compatibility strings (i.e. on Armada38x). Removing this
requirement should not interfere with other platforms.

fdt_is_compatible_strict() and fdt_find_compatible() calls were changed
in fdt_common.c and mv_common.c.

Obtained from: Semihalf
Sponsored by: Stormshield
Submitted by: Bartosz Szczepanek <bsz@semihalf.com>

Diff Detail

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

Event Timeline

bsz_semihalf.com retitled this revision from to Don't require strict compatibility on simple-bus.
bsz_semihalf.com updated this object.
bsz_semihalf.com edited the test plan for this revision. (Show Details)
bsz_semihalf.com added reviewers: ian, andrew.
bsz_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.
bsz_semihalf.com added a project: ARM.
bsz_semihalf.com added a subscriber: zbb.

Has this change been tested on platforms that inspired the original strict check in the first place?

In D4602#97309, @imp wrote:

Has this change been tested on platforms that inspired the original strict check in the first place?

This strict check was introduced with ArmadaXP, perhaps without real need to do that. There is only one occurence of 'simple-bus' in DTS file of Armada38x, so the change can't break AXP. However, I can't test it there - it isn't working on current anyway ;)

I also did grep on DTS files of Marvell platforms and there are no competing simple-bus nodes that would be mistaken.

In D4602#97309, @imp wrote:

Has this change been tested on platforms that inspired the original strict check in the first place?

This strict check was introduced with ArmadaXP, perhaps without real need to do that. There is only one occurence of 'simple-bus' in DTS file of Armada38x, so the change can't break AXP. However, I can't test it there - it isn't working on current anyway ;)

I also did grep on DTS files of Marvell platforms and there are no competing simple-bus nodes that would be mistaken.

OK. That sounds reasonable. I know that some of the pinctrl stuff has a simple-bus compat string in it too. I thought this
was for that. But if it was for the ArmadaXP, it should be safe. Thanks for checking.

imp edited edge metadata.
This revision is now accepted and ready to land.Dec 18 2015, 2:13 PM

ian, andrew - please let me know if it's OK, so we can commit the first chunk.

fdt_immr_addr is a hack, can you document in the code where the fdt_immr_ variables are needed for Armada 38x by adding #ifndef SOC_MV_ARMADA38X around places they are used but not needed? e.g. disable functions that will never be called.

ian edited edge metadata.

The only user of fdt_immr_addr other than arm/mv is one mips platform that uses a freebsd-written dts file and the compatible string is just "simple-bus", so I don't think this change will affect that mips system. If it breaks any of the other marvell platforms then who better to fix it than the semihalf folks? So I guess this is okay.

This revision was automatically updated to reflect the committed changes.