MCPcopy Create free account
hub / github.com/apache/nuttx / usbdev_rndis_initialize

Function usbdev_rndis_initialize

drivers/usbdev/rndis.c:3003–3042  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3001
3002#ifndef CONFIG_RNDIS_COMPOSITE
3003int usbdev_rndis_initialize(FAR const uint8_t *mac_address)
3004{
3005 int ret;
3006 FAR struct usbdevclass_driver_s *classdev;
3007 FAR struct rndis_driver_s *drvr;
3008 struct usbdev_devinfo_s devinfo;
3009
3010 memset(&devinfo, 0, sizeof(struct usbdev_devinfo_s));
3011 devinfo.ninterfaces = RNDIS_NINTERFACES;
3012 devinfo.nstrings = RNDIS_NSTRIDS;
3013 devinfo.nendpoints = RNDIS_NUM_EPS;
3014 devinfo.epno[RNDIS_EP_INTIN_IDX] = CONFIG_RNDIS_EPINTIN;
3015 devinfo.epno[RNDIS_EP_BULKIN_IDX] = CONFIG_RNDIS_EPBULKIN;
3016 devinfo.epno[RNDIS_EP_BULKOUT_IDX] = CONFIG_RNDIS_EPBULKOUT;
3017
3018 ret = usbclass_classobject(0, &devinfo, &classdev);
3019 if (ret)
3020 {
3021 nerr("usbclass_classobject failed: %d\n", ret);
3022 return ret;
3023 }
3024
3025 drvr = (FAR struct rndis_driver_s *)classdev;
3026
3027 if (mac_address)
3028 {
3029 memcpy(drvr->dev->host_mac_address, mac_address, 6);
3030 }
3031
3032 ret = usbdev_register(&drvr->drvr);
3033 if (ret)
3034 {
3035 nerr("usbdev_register failed: %d\n", ret);
3036 usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_DEVREGISTER), (uint16_t)-ret);
3037 usbclass_uninitialize(classdev);
3038 return ret;
3039 }
3040
3041 return OK;
3042}
3043#endif
3044
3045/****************************************************************************

Callers 15

sim_bringupFunction · 0.85
lc823450_bringupFunction · 0.85
nrf52_bringupFunction · 0.85
nrf53_bringupFunction · 0.85
nrf53_bringupFunction · 0.85
stm32_bringupFunction · 0.85
stm32_bringupFunction · 0.85
stm32_bringupFunction · 0.85
k28_bringupFunction · 0.85
stm32_bringupFunction · 0.85
stm32_max3421e_setupFunction · 0.85
stm32_bringupFunction · 0.85

Calls 6

usbtraceFunction · 0.85
usbclass_classobjectFunction · 0.70
usbclass_uninitializeFunction · 0.70
memsetFunction · 0.50
memcpyFunction · 0.50
usbdev_registerFunction · 0.50

Tested by

no test coverage detected