diff --git a/drivers/staging/media/imx/imx8-mipi-csi2-sam.c b/drivers/staging/media/imx/imx8-mipi-csi2-sam.c index 2ffe65a96724..e513803e4f14 100644 --- a/drivers/staging/media/imx/imx8-mipi-csi2-sam.c +++ b/drivers/staging/media/imx/imx8-mipi-csi2-sam.c @@ -657,7 +657,8 @@ static void mipi_csis_phy_reset_mx8mn(struct csi_state *state) usleep_range(10, 20); /* temporary place */ - regmap_write(state->mix_gpr, 0x138, 0x8d8360); + if (state->mix_gpr) + regmap_write(state->mix_gpr, 0x138, 0x8d8360); } static void mipi_csis_system_enable(struct csi_state *state, int on) @@ -1578,11 +1579,10 @@ static int mipi_csis_probe(struct platform_device *pdev) state->mix_gpr = syscon_regmap_lookup_by_phandle(dev->of_node, "gpr"); if (IS_ERR(state->mix_gpr)) { - dev_err(dev, "failed to get mix gpr\n"); - return PTR_ERR(state->mix_gpr); + dev_warn(dev, "failed to get mix gpr\n"); + state->mix_gpr = NULL; } - mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); state->regs = devm_ioremap_resource(dev, mem_res); if (IS_ERR(state->regs))