clk: versal: Store driver data in data section
authorPadmarao Begari <padmarao.begari@amd.com>
Tue, 18 Feb 2025 05:24:19 +0000 (10:54 +0530)
committerMichal Simek <michal.simek@amd.com>
Mon, 3 Mar 2025 15:09:59 +0000 (16:09 +0100)
commit96f47ae89a4ce16a59c14d229ff707bdeb1064f4
treebc19bd761d7b40f22bf1c00a545a4050d520b279
parente2ef5ff765c9603ba4232c9f85f898ad34162069
clk: versal: Store driver data in data section

Line 171 in README is describing that before relocation
no code should use global variable because global variables
are placed to BSS section which is initialized to 0 after
relocation.

On Versal platforms clock driver is initialized before
relocation (via using dm,bootph-all flag in DT) and global
variables are initialized which works if this is used only
before relocation. But the variables are used after
relocation too but values are zeroed which is ending up
incorrect behavior.

That's why place variables to data section to ensure that
values are not cleared which is for now the quickest
temporary solution. The correct way to do it is to move
all global variables to private data to avoid it.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Link: https://lore.kernel.org/r/20250218052419.1141139-1-padmarao.begari@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
drivers/clk/clk_versal.c