[PATCH 3/4] nvmem: ocotp: handle too early calls into ocotp driver gracefully
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed Jul 26 23:26:27 PDT 2023
On 27.07.23 08:05, Marco Felsch wrote:
> On 23-07-26, Ahmad Fatoum wrote:
>> HAB code calls into OCOTP driver by relying on a global imx_ocotp
>> variable that's populated on driver probe.
>>
>> For board code that calls a HAB function to early, this may end up
>> dereferencing a NULL pointer, so let's return -EPROBE_DEFER in that
>> case or if deep probe is enabled, just probe the OCOTP directly.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
>> ---
>> @@ -497,11 +498,17 @@ static void imx_ocotp_field_decode(uint32_t field, unsigned *word,
>> *mask = GENMASK(width, 0);
>> }
>>
>> +static int imx_ocotp_ensure_probed(void);
>
> Nit: Move the function definition here?
Then I'd have to forward-declare imx_ocotp_dt_ids.
I choose to keep the probing stuff together.
>> +static int imx_ocotp_ensure_probed(void)
>> +{
>> + if (!imx_ocotp && deep_probe_is_supported()) {
>> + int ret;
>> +
>> + ret = of_devices_ensure_probed_by_dev_id(imx_ocotp_dt_ids);
>> + if (ret)
>> + return ret;
>> + }
>> +
>> + return imx_ocotp ? 0 : -EPROBE_DEFER;
>> +}
>> +
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list