Hi folks, I've been doing some cleanups in the broadcome brcmfmac driver, trying to understand how it works. I think this makes the driver a *lot* more readable. Of note: * Gets rid of the arbitrary and completely 1:1 mapping of struct brcmf_{core,chip}_priv/struct brcmf_{core,chip} structures which add unreadability whilst offering no real seperation. * The patch titled HACK - stabilise the value of ->sbwad in use highlights an issue that is either bizarre undocumented behaviour or a genuine bug - without datasheets, I dont know. Essentially the value of sbwad is taken as the base address in several functions, even though it is subject to change should other IO occur that moves the window offset Obviously this is a first cut at this and needs substantial cleanup itself, however I wanted to get some idea of wether I should continue working on this. I only have a 43430 SDIO WiFi / BT chip to test on, but other chips *should* be unaffected by these changes. -Ian