diff --git a/drivers/nvmem/rockchip-otp.c b/drivers/nvmem/rockchip-otp.c index 20caf7673aff..e0bfcd268255 100644 --- a/drivers/nvmem/rockchip-otp.c +++ b/drivers/nvmem/rockchip-otp.c @@ -69,6 +69,7 @@ static const char * const rockchip_otp_clocks[] = { struct rockchip_data { int size; + int (*init)(struct rockchip_otp *otp); }; static int rockchip_otp_reset(struct rockchip_otp *otp) @@ -247,6 +248,12 @@ static int rockchip_otp_probe(struct platform_device *pdev) if (IS_ERR(otp->rst)) return PTR_ERR(otp->rst); + if (data->init) { + ret = data->init(otp); + if (ret) + return ret; + } + otp_config.size = data->size; otp_config.priv = otp; otp_config.dev = dev;