Hi Alexander,

> The next thought was that ARRAY_SIZE macro must get an array and not
> an pointer, so I tried it with:
That's exactly right. An array's size is not stored in memory, so you
can only get at it at compile time. However, then you must actually pass
the array, not a pointer to the array (which could potentially point to
different arrays).

> static void __init board_generic_setup(struct gpio_led *leds_gpio, size_t 
> leds_gpio_size, struct gpio_keys_button *gpio_keys, size_t gpio_keys_size, 
> struct mdio_board_info *mdio0_info, size_t mdio0_info_size)
>
> board_generic_setup(board_leds_gpio,ARRAY_SIZE(board_leds_gpio),board_gpio_keys,ARRAY_SIZE(board_gpio_keys),board_mdio0_info,ARRAY_SIZE(board_mdio0_info));

This would indeed be a sane way to handle this.

> No problems to expect from the functions like ath79_register_leds_gpio
> when getting the pointer instead the array?
This should work, since that function also has a size parameter (for the
same reason).

Gr.

Matthijs
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to