diff options
| author | Bernard Xiong <[email protected]> | 2018-11-23 17:27:07 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-11-23 17:27:07 +0800 |
| commit | 2ca5995160285c70aa7c15555dc44c259d90a556 (patch) | |
| tree | a9b6a600ef225f9cd3f5fd439ede2a2ba8ecc990 /components/drivers | |
| parent | 70bfe427e6bcdd5eab2744c54e672da9c4c5d88e (diff) | |
| parent | 3df952d34cf1d615c88b7cc31532d07485b85426 (diff) | |
Merge pull request #1987 from enkiller/dev
[components][drivers][wlan] Modify wlan device registration interface
Diffstat (limited to 'components/drivers')
| -rw-r--r-- | components/drivers/wlan/wlan_dev.c | 16 | ||||
| -rw-r--r-- | components/drivers/wlan/wlan_dev.h | 3 |
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 } |
