> Honestly I'm not sure though we need this complexity right now? I mean, > it'd be really easy to replace the calls in mac80211 with some other > more generalised calls in the future? > > You need some really deep platform/hardware level knowledge and > involvement to do this, so I don't think it's something that someone > will come up with very easily for a DT-based platform... What is this API about? It is a struct device says, i'm badly designed and make a mess of the following frequency bands. Optionally, if you ask me nicely, i might be able to tweak what i'm doing to avoid interfering with you. And it is about a struct device say, i'm using this particular frequency. If you can reduce the noise you make, i would be thankful. The one generating the noise could be anything. The PWM driving my laptop display back light?, What is being interfered with? The 3.5mm audio jack? How much deep system knowledge is needed to call pwm_set_state() to move the base frequency up above 20Khz so only my dog will hear it? But at the cost of a loss of efficiency and my battery going flatter faster? Is the DDR memory really the only badly designed component, when you think of the range of systems Linux is used on from PHC to tiny embedded systems? Ideally we want any sort of receiver with a low noise amplifier to just unconditionally use this API to let rest of the system know about it. And ideally we want anything which is a source of noise to declare itself. What happens after that should be up to the struct device causing the interference. Mario did say: The way that WBRF has been architected, it's intended to be able to scale to any type of device pair that has harmonic issues. Andrew