结构体宏
定义如下:
291 struct atlas7_pmx_func {
292 const char *name;
293 const char * const *groups;
294 const unsigned num_groups;
295 const struct atlas7_grp_mux *grpmux;
296 };
298 #define FUNCTION(n, g, m) \
299 { \
300 .name = n, \
301 .groups = g, \
302 .num_groups = ARRAY_SIZE(g), \
303 .grpmux = m, \
304 }
申明数组:
4346 static struct atlas7_pmx_func atlas7_pmx_functions[] = {
4347 FUNCTION("gnss_gpio", gnss_gpio_grp, &gnss_gpio_grp_mux),
4348 FUNCTION("lcd_vip_gpio", lcd_vip_gpio_grp, &lcd_vip_gpio_grp_mux),
}
也就是
static struct atlas7_pmx_func atlas7_pmx_functions[] = {
{.name="gnss_gpio",.group=gnss_gpio_grp, .num_groups = ARRAY_SIZE(gnss_gpio_grp), .grpmux= &gnss_gpio_grp_mux},
{.name="lcd_vip_gpio",.group=lcd_vip_gpio_grp, .num_groups = ARRAY_SIZE(lcd_vip_gpio_grp), .grpmux= &lcd_vip_gpio_grp_mux}