[PATCH v6 4/4] soc: imx8m: change to use platform driver

Krzysztof Kozlowski krzk at kernel.org
Wed Nov 25 02:33:47 EST 2020


On Wed, 25 Nov 2020 at 01:44, Adam Ford <aford173 at gmail.com> wrote:
>
> On Mon, Nov 23, 2020 at 8:04 PM Alice Guo <alice.guo at nxp.com> wrote:
> >
> > Directly reading ocotp register depends on that bootloader enables ocotp
> > clk, which is not always effective, so change to use nvmem API. Using
> > nvmem API requires to support driver defer probe and thus change
> > soc-imx8m.c to use platform driver.
> >
> > The other reason is that directly reading ocotp register causes kexec
> > kernel hang because the 1st kernel running will disable unused clks
> > after kernel boots up, and then ocotp clk will be disabled even if
> > bootloader enables it. When kexec kernel, ocotp clk needs to be enabled
> > before reading ocotp registers, and nvmem API with platform driver
> > supported can accomplish this.
> >
> > Signed-off-by: Alice Guo <alice.guo at nxp.com>
> > ---
> >
> The patch reads V6, but the change log only shows V2.  Can you
> elaborate on what has changed between V2 and V6?
>
> adam
>
> > v2: remove the subject prefix "LF-2571-4"
> > v3: Keep the original way which uses device_initcall to read soc unique
> >     ID, and add the other way which uses module_platform_driver and
> >     nvmem API, so that it will not break the old version DTBs.
> > v4: delete "__maybe_unused"
> >     delete MODULE_DEVICE_TABLE(of, imx8m_soc_match);
> >     rename match table, "fsl,imx8mm/n/q/p" is actually a machine
> > compabile and "fsl,imx8mm/n/q/p-soc" is a compabile of soc at 0
> >     delete "flag" and change to determine whether the pointer is NULL
> >     ues of_find_matching_node_and_match()
> >     delete of_match_ptr()
> > v5: add cleanup part "of_node_put"
> >     add note to explain that why device_initcall still exists
> > v6: none

Hi Adam,

It says up to v6, just in unnatural order... I was also surprised.

Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list