summaryrefslogtreecommitdiff
path: root/components/drivers
diff options
context:
space:
mode:
authortangyuxin <[email protected]>2018-11-20 11:15:34 +0800
committertangyuxin <[email protected]>2018-11-20 11:15:34 +0800
commit3df952d34cf1d615c88b7cc31532d07485b85426 (patch)
tree15bd477f6183b3d6b1c90a43c665523e9c36b596 /components/drivers
parentc8d38b79ff02760632cf356e562716d6f7f7845b (diff)
[components][drivers][wlan] Modify wlan device registration interface
Diffstat (limited to 'components/drivers')
-rw-r--r--components/drivers/wlan/wlan_dev.c16
-rw-r--r--components/drivers/wlan/wlan_dev.h3
2 files changed, 7 insertions, 12 deletions
diff --git a/components/drivers/wlan/wlan_dev.c b/components/drivers/wlan/wlan_dev.c
index d86dfb25d3..387f65fde2 100644
--- a/components/drivers/wlan/wlan_dev.c
+++ b/components/drivers/wlan/wlan_dev.c
@@ -733,22 +733,16 @@ static rt_err_t _rt_wlan_dev_control(rt_device_t dev, int cmd, void *args)
return err;
}
-struct rt_wlan_device *rt_wlan_dev_register(const char *name, const struct rt_wlan_dev_ops *ops, rt_uint32_t flag, void *user_data)
+rt_err_t rt_wlan_dev_register(struct rt_wlan_device *wlan, const char *name, const struct rt_wlan_dev_ops *ops, rt_uint32_t flag, void *user_data)
{
- struct rt_wlan_device *wlan;
+ rt_err_t err = RT_EOK;
- if (name == RT_NULL || ops == RT_NULL)
+ if ((wlan == RT_NULL) || (name == RT_NULL) || (ops == RT_NULL))
{
LOG_E("F:%s L:%d parameter Wrongful", __FUNCTION__, __LINE__);
return RT_NULL;
}
- wlan = rt_malloc(sizeof(struct rt_wlan_device));
- if (wlan == RT_NULL)
- {
- LOG_E("F:%s L:%d", __FUNCTION__, __LINE__);
- return RT_NULL;
- }
rt_memset(wlan, 0, sizeof(struct rt_wlan_device));
wlan->device.init = _rt_wlan_dev_init;
@@ -765,9 +759,9 @@ struct rt_wlan_device *rt_wlan_dev_register(const char *name, const struct rt_wl
wlan->user_data = user_data;
wlan->flags = flag;
- rt_device_register(&wlan->device, name, RT_DEVICE_FLAG_RDWR);
+ err = rt_device_register(&wlan->device, name, RT_DEVICE_FLAG_RDWR);
LOG_D("F:%s L:%d run", __FUNCTION__, __LINE__);
- return wlan;
+ return err;
}
diff --git a/components/drivers/wlan/wlan_dev.h b/components/drivers/wlan/wlan_dev.h
index f46f3c001f..e3f0d3dc61 100644
--- a/components/drivers/wlan/wlan_dev.h
+++ b/components/drivers/wlan/wlan_dev.h
@@ -576,7 +576,8 @@ rt_err_t rt_wlan_dev_report_data(struct rt_wlan_device *device, void *buff, int
/*
* wlan device register interface
*/
-struct rt_wlan_device *rt_wlan_dev_register(const char *name, const struct rt_wlan_dev_ops *ops, rt_uint32_t flag, void *user_data);
+rt_err_t rt_wlan_dev_register(struct rt_wlan_device *wlan, const char *name,
+ const struct rt_wlan_dev_ops *ops, rt_uint32_t flag, void *user_data);
#ifdef __cplusplus
}