📄 gspi_io.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -