@jerryliu
發現在 snd_sunxi_dmic.h 中,少了宣告 struct sunxi_dmic_clk ??

struct sunxi_dmic_mem {
struct resource res;
void __iomem *membase;
struct resource *memregion;
struct regmap *regmap;
};

struct sunxi_dmic_pinctl {
struct pinctrl *pinctrl;
struct pinctrl_state *pinstate;
struct pinctrl_state *pinstate_sleep;

bool pinctrl_used;

};

struct sunxi_dmic_dts {
/* value must be (2^n)Kbyte */
size_t capture_cma;
size_t capture_fifo_size;

unsigned int rx_chmap; unsigned int data_vol; unsigned int rx_dtime; /* components func -> rx_sync */ bool rx_sync_en; /* read from dts */ bool rx_sync_ctl; int rx_sync_id; rx_sync_domain_t rx_sync_domain;

};

struct sunxi_dmic {
struct platform_device *pdev;

struct sunxi_dmic_mem mem; struct sunxi_dmic_clk clk; struct sunxi_dmic_pinctl pin; struct sunxi_dmic_dts dts; struct sunxi_dma_params capture_dma_param;

};