On Tue, Dec 20, 2022 at 12:12 PM Luis Chamberlain mcgrof@kernel.org wrote:
On Tue, Dec 20, 2022 at 08:58:36AM -0600, Allen Webb wrote:
As mentioned in a different sub-thread this cannot be built as a module so I updated the commit message to:
imx: Fix typo
A one character difference in the name supplied to MODULE_DEVICE_TABLE breaks compilation for SOC_IMX8M after built-in modules can generate match-id based module aliases, so fix the typo.
Are you saying that it is a typo *now* only, and fixing it does not fix compilation now, but that fixing the typo will fix a future compilation issue once your patches get merged for built-in module aliases?
It was always a typo, it just doesn't affect the build because MODULE_DEVICE_TABLE is not doing anything for built-in modules before this patch series.
This was not caught earlier because SOC_IMX8M can not be built as a module and MODULE_DEVICE_TABLE is a no-op for built-in modules.
Odd, so why did it use MODULE_DEVICE_TABLE then? What was the reason for the driver having MODULE_DEVICE_TABLE if it was a no-op?
That is a good question. I can only speculate as to the answer but it is plausible people copied a common pattern and since no breakage was noticed left it as is.
It also raises the question how many modules have device tables, but do not call MODULE_DEVICE_TABLE since they are only ever built-in. Maybe there should be some build time enforcement mechanism to make sure that these are consistent.
Luis