Re: [PATCH v2 3/7] bus: add bus driver for accessing Allwinner A64 DE2

Maxime Ripard
2018-06-25T15:58:05Z

[-- Attachment #1: Type: text/plain, Size: 1755 bytes --]

On Fri, Jun 22, 2018 at 08:45:36PM +0800, Icenowy Zheng wrote:
> The "Display Engine 2.0" (usually called DE2) on the Allwinner A64 SoC
> is different from the ones on other Allwinner SoCs. It requires a SRAM
> region to be claimed, otherwise all DE2 subblocks won't be accessible.
>
> Add a bus driver for the Allwinner A64 DE2 part which claims the SRAM
> region when probing.
>
> Signed-off-by: Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>
> ---
> No changes since v1.
>
> drivers/bus/Kconfig | 10 ++++++++
> drivers/bus/Makefile | 1 +
> drivers/bus/sun50i-de2.c | 49 ++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 60 insertions(+)
> create mode 100644 drivers/bus/sun50i-de2.c
>
> diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig
> index d1c0b60e9326..1851112ccc29 100644
> --- a/drivers/bus/Kconfig
> +++ b/drivers/bus/Kconfig
> @@ -103,6 +103,16 @@ config SIMPLE_PM_BUS
> Controller (BSC, sometimes called "LBSC within Bus Bridge", or
> "External Bus Interface") as found on several Renesas ARM SoCs.
>
> +config SUN50I_DE2_BUS
> + bool "Allwinner A64 DE2 Bus Driver"
> + default ARM64
> + depends on ARCH_SUNXI
> + select SUNXI_SRAM
> + help

The alignment here should be one tab.

> +static int sun50i_de2_bus_probe(struct platform_device *pdev)
> +{
> + struct device_node *np = pdev->dev.of_node;
> + int ret;
> +
> + ret = sunxi_sram_claim(&pdev->dev);
> + if (ret) {
> + dev_err(&pdev->dev, "Error couldn't map SRAM to device\n");
> + return ret;
> + }
> +
> + if (np)
> + of_platform_populate(np, NULL, NULL, &pdev->dev);

Why do you need to test np here?

Maxime

--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering