diff options
Diffstat (limited to 'arch/arm/include/asm/mach/dma.h')
| -rw-r--r-- | arch/arm/include/asm/mach/dma.h | 35 | 
1 files changed, 16 insertions, 19 deletions
| diff --git a/arch/arm/include/asm/mach/dma.h b/arch/arm/include/asm/mach/dma.h index fc7278ea7146..9e614a18e680 100644 --- a/arch/arm/include/asm/mach/dma.h +++ b/arch/arm/include/asm/mach/dma.h @@ -15,13 +15,13 @@ struct dma_struct;  typedef struct dma_struct dma_t;  struct dma_ops { -	int	(*request)(dmach_t, dma_t *);		/* optional */ -	void	(*free)(dmach_t, dma_t *);		/* optional */ -	void	(*enable)(dmach_t, dma_t *);		/* mandatory */ -	void 	(*disable)(dmach_t, dma_t *);		/* mandatory */ -	int	(*residue)(dmach_t, dma_t *);		/* optional */ -	int	(*setspeed)(dmach_t, dma_t *, int);	/* optional */ -	char	*type; +	int	(*request)(unsigned int, dma_t *);		/* optional */ +	void	(*free)(unsigned int, dma_t *);			/* optional */ +	void	(*enable)(unsigned int, dma_t *);		/* mandatory */ +	void 	(*disable)(unsigned int, dma_t *);		/* mandatory */ +	int	(*residue)(unsigned int, dma_t *);		/* optional */ +	int	(*setspeed)(unsigned int, dma_t *, int);	/* optional */ +	const char *type;  };  struct dma_struct { @@ -34,24 +34,21 @@ struct dma_struct {  	unsigned int	active:1;	/* Transfer active		*/  	unsigned int	invalid:1;	/* Address/Count changed	*/ -	dmamode_t	dma_mode;	/* DMA mode			*/ +	unsigned int	dma_mode;	/* DMA mode			*/  	int		speed;		/* DMA speed			*/  	unsigned int	lock;		/* Device is allocated		*/  	const char	*device_id;	/* Device name			*/ -	unsigned int	dma_base;	/* Controller base address	*/ -	int		dma_irq;	/* Controller IRQ		*/ -	struct scatterlist cur_sg;	/* Current controller buffer	*/ -	unsigned int	state; - -	struct dma_ops	*d_ops; +	const struct dma_ops *d_ops;  }; -/* Prototype: void arch_dma_init(dma) - * Purpose  : Initialise architecture specific DMA - * Params   : dma - pointer to array of DMA structures +/* + * isa_dma_add - add an ISA-style DMA channel   */ -extern void arch_dma_init(dma_t *dma); +extern int isa_dma_add(unsigned int, dma_t *dma); -extern void isa_init_dma(dma_t *dma); +/* + * Add the ISA DMA controller.  Always takes channels 0-7. + */ +extern void isa_init_dma(void); |