mac80211 is the Linux API used to write SoftMAC wireless drivers. Right now the MLME is done in the kernel for station mode and userspace for AP mode (hostapd) but our goal is to eventually move it to userspace completely.
The mac80211 book
We are working on a mac80211 book which is generated from comments in the various mac80211 source files. You will find a more thorough review of mac80211 in it; the wiki pages can be used as a quick reference for mac80211 development. The book incorporates the kernel-doc docs below.
mac80211 kernel docs
New mac80211 driver interface semantics
The new mac80211 driver interface semantics gives an overview of the expected and suggested driver behavior.