[PATCH] amba: consolidate PrimeCell magic

Linus Walleij linus.walleij at linaro.org
Tue Aug 16 04:36:29 EDT 2011


On Tue, Aug 16, 2011 at 9:50 AM, Boojin Kim <boojin.kim at samsung.com> wrote:

> diff --git a/arch/arm/common/pl330.c b/arch/arm/common/pl330.c
> index 2b3b8b3..af6d96d 100644
> --- a/arch/arm/common/pl330.c
> +++ b/arch/arm/common/pl330.c
> @@ -1822,6 +1822,8 @@ int pl330_add(struct pl330_info *pi)
>        struct pl330_dmac *pl330;
>        int i, ret;
>        u32 cid, pid;
> +       struct amba_device *adev = container_of(pi->dev,
> +                                       struct amba_device, dev);
>
>        if (!pi || !pi->dev)
>                return -EINVAL;
> @@ -1841,8 +1843,8 @@ int pl330_add(struct pl330_info *pi)
>        cid = amba_get_cid(pi->base, PCELL_SIZE);
>        pid = amba_get_pid(pi->base, PCELL_SIZE);
>        if (cid != AMBA_CID ||
> -           amba_manf(pid) != AMBA_VENDOR_ARM ||
> -           amba_part(pid) != PART) {
> +           amba_manf(adev) != AMBA_VENDOR_ARM ||
> +           amba_part(adev) != PART) {
>                dev_err(pi->dev, "PID: 0x%x, CID: 0x%x !\n", pid, cid);
>                return -EINVAL;
>        }

Ah! If I can access the adev from here it must have probed
earlier, and then the entire check is superfluous, since the AMBA
probe has already checked this in drivers/amba/bus.c.

I guess it should just be deleted then?

Linus



More information about the linux-arm-kernel mailing list