media: rcar-isp: Parse named cs memory region

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 describes 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>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Link: https://lore.kernel.org/r/20250423163113.2961049-8-niklas.soderlund+renesas@ragnatech.se
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
Niklas Söderlund
2025-04-23 18:31:13 +02:00
committed by Hans Verkuil
parent 7281a7bd5b
commit 09d76b4e83

View File

@@ -465,7 +465,18 @@ 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_ioremap_resource(pdev, 0);
else
isp->csbase = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(isp->csbase))
return PTR_ERR(isp->csbase);