From patchwork Wed Dec 13 12:58:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Peter_Gro=C3=9Fe?= X-Patchwork-Id: 10109933 X-Patchwork-Delegate: johannes@sipsolutions.net Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 94F3460327 for ; Wed, 13 Dec 2017 12:59:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8ABBA28CC0 for ; Wed, 13 Dec 2017 12:59:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7F2AF28F1E; Wed, 13 Dec 2017 12:59:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DCFCF28CC0 for ; Wed, 13 Dec 2017 12:59:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752951AbdLMM7W (ORCPT ); Wed, 13 Dec 2017 07:59:22 -0500 Received: from james.theweblords.de ([217.11.55.87]:56259 "EHLO james.theweblords.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752714AbdLMM7V (ORCPT ); Wed, 13 Dec 2017 07:59:21 -0500 Received: (qmail 26179 invoked by uid 210); 13 Dec 2017 12:59:15 -0000 X-Qmail-Scanner-Diagnostics: from wl-r5-77.rz.tu-ilmenau.de (petronios@theweblords.de@wl-r5-77.rz.tu-ilmenau.de) by james (envelope-from , uid 201) with qmail-scanner-2.10st (mhr: 1.0. spamassassin: 3.4.1. perlscan: 2.10st. Clear:RC:1(141.24.108.77):. Processed in 0.042964 secs); 13 Dec 2017 12:59:15 -0000 Received: from wl-r5-77.rz.tu-ilmenau.de (HELO its-dev2.tu-ilmenau.de) (petronios@theweblords.de@141.24.108.77) by james.theweblords.de with ESMTPA; 13 Dec 2017 12:59:14 -0000 From: =?UTF-8?q?Peter=20Gro=C3=9Fe?= To: Johannes Berg Cc: linux-wireless@vger.kernel.org Subject: [PATCH] ocb: Use common freqchan helper for setting the operating channel Date: Wed, 13 Dec 2017 13:58:40 +0100 Message-Id: <20171213125840.1036-1-pegro@friiks.de> X-Mailer: git-send-email 2.13.6 In-Reply-To: <1512991065.26976.70.camel@sipsolutions.net> References: <1512991065.26976.70.camel@sipsolutions.net> MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Simplify code by using the helper which has been introduced earlier. Signed-off-by: Peter Große --- Mh, the patch is against the full tree of iw, not the kernel, so there is no net/wireless/ path. But yeah, whitespace got mangled. Regards Peter ocb.c | 50 ++++++++------------------------------------------ 1 file changed, 8 insertions(+), 42 deletions(-) diff --git a/ocb.c b/ocb.c index bcf0474..dfdaf59 100644 --- a/ocb.c +++ b/ocb.c @@ -10,56 +10,22 @@ static int join_ocb(struct nl80211_state *state, struct nl_msg *msg, int argc, char **argv, enum id_input id) { - unsigned long freq; - char *end; - unsigned int i; - const struct chanmode *chanmode_selected = NULL; - static const struct chanmode chanmode[] = { - { .name = "5MHz", - .width = NL80211_CHAN_WIDTH_5, - .freq1_diff = 0, - .chantype = -1 }, - { .name = "10MHz", - .width = NL80211_CHAN_WIDTH_10, - .freq1_diff = 0, - .chantype = -1 }, - }; + struct chandef chandef; + int err, parsed; if (argc < 2) return 1; - /* freq */ - freq = strtoul(argv[0], &end, 10); - if (*end != '\0') - return 1; - - NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_FREQ, freq); - argv++; - argc--; + err = parse_freqchan(&chandef, false, argc, argv, &parsed); - /* channel width */ - for (i = 0; i < ARRAY_SIZE(chanmode); i++) { - if (strcasecmp(chanmode[i].name, argv[0]) == 0) { - chanmode_selected = &chanmode[i]; - break; - } - } - if (chanmode_selected) { - NLA_PUT_U32(msg, NL80211_ATTR_CHANNEL_WIDTH, - chanmode_selected->width); - NLA_PUT_U32(msg, NL80211_ATTR_CENTER_FREQ1, - get_cf1(chanmode_selected, freq)); + if (err) + return err; - argv++; - argc--; - } else { - return 1; - } + put_chandef(msg, &chandef); + if (err) + return err; return 0; - -nla_put_failure: - return -ENOBUFS; } COMMAND(ocb, join, " <5MHz|10MHz>", NL80211_CMD_JOIN_OCB, 0, CIB_NETDEV, join_ocb,