TODO: - remove the defined feature as kernel versions - remove OS wrapper functions - remove custom debug and tracing functions - rework comments and function headers(also coding style) - replace all semaphores with mutexes or completions - make spi and sdio components coexist in one build - turn compile-time platform configuration (BEAGLE_BOARD, PANDA_BOARD, PLAT_WMS8304, PLAT_RKXXXX, CUSTOMER_PLATFORM, ...) into run-time options that are read from DT - support soft-ap and p2p mode - support resume/suspend function - replace SIOCDEVPRIVATE commands with generic API functions - use wext-core handling instead of private SIOCSIWPRIV implementation