Re: [PATCH 1/2 v6] cfg80211: Add new wireless regulatory infrastructure

From: Luis R. Rodriguez
Date: Wed Sep 10 2008 - 16:18:57 EST


On Wed, Sep 10, 2008 at 11:17 AM, Marcel Holtmann
<holtmann@xxxxxxxxxxxxxxx> wrote:
> Hi Luis,
>
>> This adds the new wireless regulatory infrastructure. The
>> main motiviation behind this was to centralize regulatory
>> code as each driver was implementing their own regulatory solution,
>> and to replace the initial centralized code we have where:
>>
>> * only 3 regulatory domains are supported: US, JP and EU
>> * regulatory domains can only be changed through module parameter
>> * all rules were built statically in the kernel
>>
>> We now have support for regulatory domains for many countries
>> and regulatory domains are now queried through a userspace agent
>> through udev allowing distributions to update regulatory rules
>> without updating the kernel.
>>
>> Each driver can regulatory_hint() a regulatory domain
>> based on either their EEPROM mapped regulatory domain value to a
>> respective ISO/IEC 3166-1 country code or pass an internally built
>> regulatory domain. We also add support to let the user set the
>> regulatory domain through userspace in case of faulty EEPROMs to
>> further help compliance.
>
> thanks for the write-up and examples. I like it a lot and gives driver
> maintainers a nice understanding what to do.

Thanks :)

> While reading through it, I came to think about regulatory_hint(). So is
> there a use case where would give it the alpha2 code and the domain
> itself at the same time? If not, then it would make more sense to split
> this into two functions.

Nope, you either pass an alpha2 or an rd domain which is built by you
(and in that rd structure you can set the alpha2 to your iso3166
alpha2 or "99" if unknown).

> Maybe something regulatory_alpha2_hint() and
> regulatory_domain_hint(). Just a thought.

That's how I had it originally but decided to condense it to one
routine since as you could see they pretty much do the same thing
except the case where the rd is provided it calls set_regdom().
Setting it back to use two routines if fine by me too. What is better?
Can we just get this merged and then we can flip it around if
necessary? :) I'm tired of carrying this around.

Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/