[PATCH v3] media: aspeed: Allow to capture from SoC display (GFX)
Krzysztof Kozlowski
krzk at kernel.org
Mon Aug 12 22:17:45 AEST 2024
On 12/08/2024 11:16, Jammy Huang wrote:
> ASPEED BMC IC has 2 different display engines. Please find AST2600's
> datasheet to get detailed information.
>
> 1. VGA on PCIe
> 2. SoC Display (GFX)
...
>
> +/*
> + * Get regmap without checking res, such as clk/reset, that could lead to
> + * conflict.
> + */
> +static struct regmap *aspeed_regmap_lookup(struct device_node *np, const char *property)
> +{
> + struct device_node *syscon_np;
> + struct regmap *regmap;
Drop...
> +
> + syscon_np = of_parse_phandle(np, property, 0);
This joins first line and then use scoped/cleanup to make everything
simpler.
> + if (!syscon_np)
> + return ERR_PTR(-ENODEV);
> +
> + regmap = device_node_to_regmap(syscon_np);
> + of_node_put(syscon_np);
> +
> + return regmap;
> +}
> +
> static int aspeed_video_init(struct aspeed_video *video)
> {
> int irq;
> int rc;
> struct device *dev = video->dev;
>
> + video->scu = aspeed_regmap_lookup(dev->of_node, "aspeed,scu");
> + video->gfx = aspeed_regmap_lookup(dev->of_node, "aspeed,gfx");
This looks undocumented.
You will need to convert the bindings to DT Schema first.
Anyway, you miss here error checking.
Best regards,
Krzysztof
More information about the Linux-aspeed
mailing list