gspi_io.h

来自「linux 基于mips 架构cpu 的红外驱动」· C头文件 代码 · 共 75 行

H
75
字号
#ifndef _GSPI_IO_H#define _GSPI_IO_H#include <asm/dma.h>#include "os_defs.h"#define GSPI_OK	0typedef struct s3c24xx_spi gspihost_info;typedef gspihost_info gspihost_info_t;typedef gspihost_info_t *gspihost_info_p;typedef struct gspi_card_rec *gspi_card_rec_p;typedef struct gspi_card_rec io_card_rec_t;typedef io_card_rec_t *io_card_rec_p;typedef struct gspi_notifier_rec gspi_notifier_rec_t;typedef gspi_notifier_rec_t *gspi_notifier_rec_p;typedef int (*gspi_notifier_fn_p) (gspi_card_rec_p);struct s3c24xx_spi{ 	//direct access hardware	void __iomem		*regs;	struct clk		*clk;	struct resource		*ioarea;	struct device 		*dev;	//struct s3c2410_spi_info	*pdata;		//dma request	int			dma_chan;	//enum s3c2410_dmasrc	dma_src;	unsigned char		*dma_map;	//dma_addr_t		dma_addr;	int			dma_size;	//struct completion	dma_done;		struct platform_device *pdev;	int			irq;		spinlock_t		lock;	gspi_card_rec_p		card;};struct gspi_card_rec{	u8 magic[4];	gspihost_info_p ctrlr;      // Back Reference to Host Controller	int (*add) (gspi_card_rec_p card);	int (*remove) (gspi_card_rec_p card);	IRQ_RET_TYPE(*user_isr) (int, void *);	void *user_arg;	u16 chiprev;};struct gspi_notifier_rec{	int (*add) (gspi_card_rec_p card);	int (*remove) (gspi_card_rec_p card);	IRQ_RET_TYPE(*user_isr) (int, void *);};int gspi_read_data_direct(gspi_card_rec_p cardp, u8 * data, u16 reg, u16 size);int gspi_write_data_direct(gspi_card_rec_p cardp, u8 * data, u16 reg, u16 size);int gspi_read_reg(gspi_card_rec_p cardp, u16 reg, u16 * data);int gspi_write_reg(gspi_card_rec_p cardp, u16 reg, u16 data);int gspi_register_irq(gspihost_info_p);void gspi_unregister_irq(gspihost_info_p);gspi_notifier_rec_p register_user(gspi_notifier_rec_p notifierp);void unregister_user(gspi_notifier_rec_p notifierp);void gspi_reset(void);#endif /* _GSPI_IO_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?