[PATCH] amba: consolidate PrimeCell magic

Boojin Kim boojin.kim at samsung.com
Tue Aug 16 05:20:39 EDT 2011


Linus Walleij [mailto:linus.walleij at linaro.org] wrote:
> Sent: Tuesday, August 16, 2011 5:36 PM
> To: Boojin Kim
> Cc: Linus Walleij; linux-arm-kernel at lists.infradead.org; Lee Jones;
> Kukjin Kim; Viresh Kumar
> Subject: Re: [PATCH] amba: consolidate PrimeCell magic
>
> 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?
Actually, I tested this patch after applying my patches that uses
'dma-pl330' driver instead of the samsung specific 's3c-pl330' driver.
'dma-pl330' driver is registered as 'amba_device'. So, this has already
checked on 'drivers/amba/bus.c' as your notice.
But, 's3c-pl330' driver is registered as 'platform_device'. So, This check
is required.
In my opinion, This check can be deleted if caller device is registered as
'amba_device'.

>
> Linus





More information about the linux-arm-kernel mailing list