Re: [PATCH v2 1/2] nvmem: Add driver for OCOTP in Sunplus SP7021

From: Srinivas Kandagatla
Date: Tue Dec 14 2021 - 04:08:20 EST




On 10/12/2021 08:50, 施錕鴻 wrote:

> +
> +static const struct of_device_id sp_ocotp_dt_ids[] = {
> +     { .compatible = "sunplus,sp7021-ocotp", .data = &sp_otp_v0 },
> +     { }
> +};
> +MODULE_DEVICE_TABLE(of, sp_ocotp_dt_ids);
> +
> +static struct platform_driver sp_otp_driver = {
> +     .probe     = sp_ocotp_probe,
> +     .driver    = {
> +             .name           = "sunplus,sp7021-ocotp",
> +             .of_match_table = sp_ocotp_dt_ids,
> +     }
> +};
> +
> +static int __init sp_otp0_drv_new(void)
> +{
> +     return platform_driver_register(&sp_otp_driver);
> +}
> +subsys_initcall(sp_otp0_drv_new);

Why this needs to be subsys_initcall() why can't it be module_init?

 The OTP driver will store the mac address for ethernet driver and usb2 disconnect voltage
 for usb2 one. Therefore the order of the OTP driver should take higher priority over the
other ones.

drivers that are looking for mac address or other values from nvmem should get an EPROBE_DEFER if nvmem provider is not ready.

does that not work for you?


--srini