From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arend van Spriel Subject: Re: [PATCH 2/2] cfg80211: reg: support ieee80211-(min|max)-center-freq DT properties Date: Wed, 28 Dec 2016 22:07:55 +0100 Message-ID: <491a5af2-449d-4b2a-c4ed-af0e89b2ca78@broadcom.com> References: <20161228155955.25518-1-zajec5@gmail.com> <20161228155955.25518-2-zajec5@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20161228155955.25518-2-zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Sender: linux-wireless-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Kalle Valo , linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Martin Blumenstingl , Felix Fietkau , Arnd Bergmann , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= List-Id: devicetree@vger.kernel.org On 28-12-16 16:59, Rafał Miłecki wrote: > From: Rafał Miłecki > > They allow specifying hardware limitations of supported channels. This > may be useful for specifying single band devices or devices that support > only some part of the whole band. > E.g. some tri-band routers have separated radios for lower and higher > part of 5 GHz band. > > Signed-off-by: Rafał Miłecki > --- > net/wireless/reg.c | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/net/wireless/reg.c b/net/wireless/reg.c > index 5dbac37..35ba5c7 100644 > --- a/net/wireless/reg.c > +++ b/net/wireless/reg.c > @@ -1123,6 +1123,26 @@ const char *reg_initiator_name(enum nl80211_reg_initiator initiator) > } > EXPORT_SYMBOL(reg_initiator_name); > > +static bool reg_center_freq_of_valid(struct wiphy *wiphy, > + struct ieee80211_channel *chan) > +{ > + struct device_node *np = wiphy_dev(wiphy)->of_node; > + u32 val; > + > + if (!np) > + return true; > + > + if (!of_property_read_u32(np, "ieee80211-min-center-freq", &val) && > + chan->center_freq < KHZ_TO_MHZ(val)) > + return false; > + > + if (!of_property_read_u32(np, "ieee80211-max-center-freq", &val) && > + chan->center_freq > KHZ_TO_MHZ(val)) > + return false; I suspect these functions rely on CONFIG_OF. So might not build for !CONFIG_OF. Regards, Arend