Commit | Line | Data |
---|---|---|
61ee7007 OBC |
1 | #include <linux/module.h> |
2 | #include <linux/err.h> | |
3 | #include <linux/wl12xx.h> | |
4 | ||
a390e85c | 5 | static struct wl12xx_platform_data *platform_data; |
61ee7007 OBC |
6 | |
7 | int __init wl12xx_set_platform_data(const struct wl12xx_platform_data *data) | |
8 | { | |
9 | if (platform_data) | |
10 | return -EBUSY; | |
11 | if (!data) | |
12 | return -EINVAL; | |
13 | ||
14 | platform_data = kmemdup(data, sizeof(*data), GFP_KERNEL); | |
15 | if (!platform_data) | |
16 | return -ENOMEM; | |
17 | ||
18 | return 0; | |
19 | } | |
20 | ||
a390e85c | 21 | struct wl12xx_platform_data *wl12xx_get_platform_data(void) |
61ee7007 OBC |
22 | { |
23 | if (!platform_data) | |
24 | return ERR_PTR(-ENODEV); | |
25 | ||
26 | return platform_data; | |
27 | } | |
28 | EXPORT_SYMBOL(wl12xx_get_platform_data); |