By the way, nl80211 extension part is needed by modern OS GUI parts(for example, though the WIFI is working with the modified driver after some setup by CLI, the WIFI menu can not see the device). A quick fix is tried but failed, the code of this part is not consistent with the 4.8 kernel a lot, a quick fix is not easy without the expertise in the field.
Most of the building errors are caused by removing of enum constants in nl80211 (netlink) configuration modules in kernel. However, since the driver can work just fine without it, a cleanup of nl80211 mixed in common code is done on this quite old code.
By the way, nl80211 extension part is needed by modern OS GUI parts(for example, though the WIFI is working with the modified driver after some setup by CLI, the WIFI menu can not see the device). A quick fix is tried but failed, the code of this part is not consistent with the 4.8 kernel a lot, a quick fix is not easy without the expertise in the field.