29 lines
577 B
C
29 lines
577 B
C
#include <linux/module.h>
|
|
#include <linux/err.h>
|
|
#include <linux/wl12xx.h>
|
|
|
|
static const struct wl12xx_platform_data *platform_data;
|
|
|
|
int __init wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
|
|
{
|
|
if (platform_data)
|
|
return -EBUSY;
|
|
if (!data)
|
|
return -EINVAL;
|
|
|
|
platform_data = kmemdup(data, sizeof(*data), GFP_KERNEL);
|
|
if (!platform_data)
|
|
return -ENOMEM;
|
|
|
|
return 0;
|
|
}
|
|
|
|
const struct wl12xx_platform_data *wl12xx_get_platform_data(void)
|
|
{
|
|
if (!platform_data)
|
|
return ERR_PTR(-ENODEV);
|
|
|
|
return platform_data;
|
|
}
|
|
EXPORT_SYMBOL(wl12xx_get_platform_data);
|