Message ID | 20250315152708.328036-8-niklas.soderlund+renesas@ragnatech.se (mailing list archive) |
---|---|
State | New |
Delegated to: | Kieran Bingham |
Headers | show |
Series | rcar-isp: Prepare for ISP core support | expand |
Hi Niklas On Sat, Mar 15, 2025 at 04:27:08PM +0100, Niklas Söderlund wrote: > Extend the device tree parsing to optionally parse the cs memory region > by name. The change is backward compatible with the device tree model > where a single unnamed region describing only the ISP channel select > function. > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Thanks j > --- > drivers/media/platform/renesas/rcar-isp/csisp.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/renesas/rcar-isp/csisp.c b/drivers/media/platform/renesas/rcar-isp/csisp.c > index a86d2a9a4915..931c8e3a22be 100644 > --- a/drivers/media/platform/renesas/rcar-isp/csisp.c > +++ b/drivers/media/platform/renesas/rcar-isp/csisp.c > @@ -419,7 +419,17 @@ static const struct media_entity_operations risp_entity_ops = { > static int risp_probe_resources(struct rcar_isp *isp, > struct platform_device *pdev) > { > - isp->csbase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL); > + struct resource *res; > + > + /* For backward compatibility allow cs base to be the only reg if no > + * reg-names are set in DT. > + */ > + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cs"); > + if (!res) > + isp->csbase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL); > + else > + isp->csbase = devm_ioremap_resource(&pdev->dev, res); > + > if (IS_ERR(isp->csbase)) > return PTR_ERR(isp->csbase); > > -- > 2.48.1 > >
diff --git a/drivers/media/platform/renesas/rcar-isp/csisp.c b/drivers/media/platform/renesas/rcar-isp/csisp.c index a86d2a9a4915..931c8e3a22be 100644 --- a/drivers/media/platform/renesas/rcar-isp/csisp.c +++ b/drivers/media/platform/renesas/rcar-isp/csisp.c @@ -419,7 +419,17 @@ static const struct media_entity_operations risp_entity_ops = { static int risp_probe_resources(struct rcar_isp *isp, struct platform_device *pdev) { - isp->csbase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL); + struct resource *res; + + /* For backward compatibility allow cs base to be the only reg if no + * reg-names are set in DT. + */ + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cs"); + if (!res) + isp->csbase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL); + else + isp->csbase = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(isp->csbase)) return PTR_ERR(isp->csbase);
Extend the device tree parsing to optionally parse the cs memory region by name. The change is backward compatible with the device tree model where a single unnamed region describing only the ISP channel select function. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> --- drivers/media/platform/renesas/rcar-isp/csisp.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)