By applying this patch the initialization of the most_aim structure is
performed at compile time.

Signed-off-by: Andrey Shvetsov <andrey.shvet...@k2l.de>
Signed-off-by: Christian Gromm <christian.gr...@microchip.com>
---
 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
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to