By applying this patch the initialization of the most_aim structure is performed at compile time. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> --- drivers/staging/most/aim-network/networking.c | 14 ++++++++------ drivers/staging/most/aim-v4l2/video.c | 13 +++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/drivers/staging/most/aim-network/networking.c b/drivers/staging/most/aim-network/networking.c index cbda189..dd36872 100644 --- a/drivers/staging/most/aim-network/networking.c +++ b/drivers/staging/most/aim-network/networking.c @@ -79,7 +79,6 @@ struct net_dev_context { static struct list_head net_devices = LIST_HEAD_INIT(net_devices); static struct spinlock list_lock; -static struct most_aim aim; static int skb_to_mamac(const struct sk_buff *skb, struct mbo *mbo) @@ -491,15 +490,18 @@ out: return 0; } +static struct most_aim aim = { + .name = "networking", + .probe_channel = aim_probe_channel, + .disconnect_channel = aim_disconnect_channel, + .tx_completion = aim_resume_tx_channel, + .rx_completion = aim_rx_data, +}; + static int __init most_net_init(void) { pr_info("most_net_init()\n"); spin_lock_init(&list_lock); - aim.name = "networking"; - aim.probe_channel = aim_probe_channel; - aim.disconnect_channel = aim_disconnect_channel; - aim.tx_completion = aim_resume_tx_channel; - aim.rx_completion = aim_rx_data; return most_register_aim(&aim); } diff --git a/drivers/staging/most/aim-v4l2/video.c b/drivers/staging/most/aim-v4l2/video.c index 8333245..377bb10 100644 --- a/drivers/staging/most/aim-v4l2/video.c +++ b/drivers/staging/most/aim-v4l2/video.c @@ -62,7 +62,6 @@ struct aim_fh { static struct list_head video_devices = LIST_HEAD_INIT(video_devices); static struct spinlock list_lock; -static struct most_aim aim_info; static inline bool data_ready(struct most_video_dev *mdev) @@ -590,14 +589,16 @@ static int aim_disconnect_channel(struct most_interface *iface, return 0; } +static struct most_aim aim_info = { + .name = "v4l", + .probe_channel = aim_probe_channel, + .disconnect_channel = aim_disconnect_channel, + .rx_completion = aim_rx_data, +}; + static int __init aim_init(void) { spin_lock_init(&list_lock); - - aim_info.name = "v4l"; - aim_info.probe_channel = aim_probe_channel; - aim_info.disconnect_channel = aim_disconnect_channel; - aim_info.rx_completion = aim_rx_data; return most_register_aim(&aim_info); } -- 1.7.9.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel