Re: [PATCH 02/14] dmaengine: dma-jz4780: Separate chan/ctrl registers

From: Paul Burton
Date: Wed Jul 11 2018 - 19:27:23 EST


Hi Vinod,

On Wed, Jul 11, 2018 at 05:46:55PM +0530, Vinod wrote:
> > > > - jzdma->base = devm_ioremap_resource(dev, res);
> > > > - if (IS_ERR(jzdma->base))
> > > > - return PTR_ERR(jzdma->base);
> > > > + jzdma->chn_base = devm_ioremap_resource(dev, res);
> > > > + if (IS_ERR(jzdma->chn_base))
> > > > + return PTR_ERR(jzdma->chn_base);
> > > > +
> > > > + res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
> > > > + if (!res) {
> > > > + dev_err(dev, "failed to get I/O memory\n");
> > > > + return -EINVAL;
> > > > + }
> > >
> > > okay and this breaks if you happen to get probed on older DT. I think DT
> > > is treated as ABI so you need to continue support older method while
> > > finding if DT has split resources
> >
> > See my response to PrasannaKumar. All the Ingenic-based boards do compile
> > the devicetree within the kernel, so I think it's still fine to add breaking
> > changes. I'll wait on @Rob to give his point of view on this, though.
> >
> > (It's not something hard to change, but I'd like to know what's the policy
> > in that case. I have other DT-breaking patches to submit)
>
> The policy is that DT is an ABI and should not break :)

I think in general that's a good policy to have for compatibility, but
if it's known for certain that the DT for all users of a driver is
always built into the kernel then I don't see why we shouldn't feel free
to change a binding. I agree with Paul that it'd be interesting to hear
the DT binding maintainers take on this.

Thanks,
Paul