Re: [PATCH 05/14] dmaengine: dma-jz4780: Add support for the JZ4740 SoC

From: Paul Cercueil
Date: Tue Jul 17 2018 - 07:00:45 EST


Hi,

Le lun. 16 juil. 2018 à 23:33, Rob Herring <robh@xxxxxxxxxx> a écrit :
On Mon, Jul 09, 2018 at 10:42:26PM +0530, Vinod wrote:
On 03-07-18, 14:32, Paul Cercueil wrote:

> enum jz_version {
> + ID_JZ4740,
> ID_JZ4770,
> ID_JZ4780,
> };
> @@ -247,6 +248,7 @@ static void jz4780_dma_desc_free(struct virt_dma_desc *vdesc)
> }
>
> static const unsigned int jz4780_dma_ord_max[] = {
> + [ID_JZ4740] = 5,
> [ID_JZ4770] = 6,
> [ID_JZ4780] = 7,
> };
> @@ -801,11 +803,13 @@ static struct dma_chan *jz4780_of_dma_xlate(struct of_phandle_args *dma_spec,
> }
>
> static const unsigned int jz4780_dma_nb_channels[] = {
> + [ID_JZ4740] = 6,
> [ID_JZ4770] = 6,
> [ID_JZ4780] = 32,
> };

I feel these should be done away with if we describe hardware in DT

The compatible property can imply things like this.

But how this is structured is a bit strange. Normally you have a per
compatible struct with these as elements and the compatible matching
selects the struct.

You're right, I'll change that.


>
> static const struct of_device_id jz4780_dma_dt_match[] = {
> + { .compatible = "ingenic,jz4740-dma", .data = (void *)ID_JZ4740 },

adding .compatible should be the only thing required, if at all for this
addition :)

--
~Vinod