From patchwork Sat Jun 17 09:32:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Praveen Kumar X-Patchwork-Id: 9794003 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 DF7106038E for ; Sat, 17 Jun 2017 09:35:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D131E284B5 for ; Sat, 17 Jun 2017 09:35:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C1C2320855; Sat, 17 Jun 2017 09:35:40 +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=-4.1 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 276B9284DC for ; Sat, 17 Jun 2017 09:35:40 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dMA6d-00020O-Ti; Sat, 17 Jun 2017 09:33:23 +0000 Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dMA6d-00020A-6B for xen-devel@lists.xen.org; Sat, 17 Jun 2017 09:33:23 +0000 Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id C1/49-02183-267F4495; Sat, 17 Jun 2017 09:33:22 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCIsWRWlGSWpSXmKPExsXiVRvsohv/3SX SoPGtmcWSj4tZHBg9ju7+zRTAGMWamZeUX5HAmjFv0VWWgtvSFTtnXGFuYPwh1sXIxSEkMIFR 4vL5b8wgDovALFaJr4f3sYA4EgLbWCX+LJzE1sXICeTESWzcuZYZwq6Q6Hg5kRXEFhJQk9gy7 xQzxKjfjBLrlzwDauDgYBPQlWi/VQBSIyIgLXHt82VGkBpmge+MEmveTwFrFhZwkXizu4MJxG YRUJVYMX0vWJxXwFpiy7ouqMXyEos2zWABmckpYCPRs8gTxBQCKjkxhx2iWlDi5MwnYBXMAuo S6+cJgYSZgRqbt85mnsAoPAtJ1SyEqllIqhYwMq9iVC9OLSpLLdI11EsqykzPKMlNzMzRNTQw 1ctNLS5OTE/NSUwq1kvOz93ECAzxegYGxh2MTb3OhxglOZiURHlzwl0ihfiS8lMqMxKLM+KLS nNSiw8xynBwKEnwPvkKlBMsSk1PrUjLzAFGG0xagoNHSYT3/GOgNG9xQWJucWY6ROoUoy7HpA PbvzAJseTl56VKifOu+gZUJABSlFGaBzcCFvmXGGWlhHkZGRgYhHgKUotyM0tQ5V8xinMwKgn zeoBcwpOZVwK36RXQEUxARzCfATuiJBEhJdXAGCRX+XHufhFNcTGjxNSui0GLb1kcTPvg3r9L MfwDb39y3b+JLda/S4TfOK/+cDBVkLH1yCH9JnmLZbayAQsWS4oWcKVHxzwKPRrkK9BxYUHww SVf2fomvWJMSblb3fL4VPVbl797lsg69x7ZvtDFQ89Ai4f71K+jWazTxQQOpwjNVfXz4W9SYi nOSDTUYi4qTgQAePnfVfcCAAA= X-Env-Sender: kpraveen.lkml@gmail.com X-Msg-Ref: server-5.tower-206.messagelabs.com!1497691998!99409726!1 X-Originating-IP: [74.125.83.68] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.4.19; banners=-,-,- X-VirusChecked: Checked Received: (qmail 33834 invoked from network); 17 Jun 2017 09:33:19 -0000 Received: from mail-pg0-f68.google.com (HELO mail-pg0-f68.google.com) (74.125.83.68) by server-5.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 17 Jun 2017 09:33:19 -0000 Received: by mail-pg0-f68.google.com with SMTP id e187so745970pgc.3 for ; Sat, 17 Jun 2017 02:33:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yUPudvedrfX2teMmY4ZsdsU/HcV7HrQ2yaALreVzGnI=; b=o9intbJaap8thdZqyM1vvD7eDAy8jfjaTaRbQpXwzjyk+j6pzz8kzRRwxPRoSLvht5 c4pzKKOrkYXPK31ZZbt0ASHtX7gmUrrmzY8NT9xNgj0BcgRqDOHZhkOTrMty4jGJoG5D jpWSMg9o29nEGaQeXpSkk2PPKtNib2FRICNa9bOhTBpGnb2jizq3/s9sX0SdLQHhzQ2e vcbP9pajiq417x3SGuI+8uA1ZM8gMl0uqflAsHxqFkEBS73aPXubMDPjQXtNHGa8d8EZ Cuux3cCR8zBYU5Z60+fqBtKAWDxi4eN46tX/lSP+jVyIdsw4PUny3iwoK67jgpfbNmfJ aZqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yUPudvedrfX2teMmY4ZsdsU/HcV7HrQ2yaALreVzGnI=; b=q97d7ah37MEAhUALUsGkZ/GwOGnTrLXI7tspwQmWkrDwi5ZwDf5nTd6rKlCZQeS/L5 j4L7B9qfSiO4cIRnevrLNv+21r1eHKXH/J1XFmeZziMEMASw5fol3/zK2DUJi9o1Z5Ab jWCjPBC4xukFcilLkIuO+NsiaxYTq4+kt1+GXSD93hdWXu+URXHGVgmUzFbQwzJ6madl Scxwts7sU+UCC8Rett2phvHN8nWZYU1HAEYQ2pagKOps29/PFjoWboAWd3Geyr6sOlA8 0RkyFGs1crlOwMFvR2tclCvdCsnH2ESRhz61UJl4Poh/ZHZqSdOphnj+oU65LEdhedIv g2Bg== X-Gm-Message-State: AKS2vOynQndldP+XURZHJgu9zMTaP/hSCpQi0ORBHOlDia92aqa6AM8w koaxIjUuQCQ/PhLf X-Received: by 10.84.134.34 with SMTP id 31mr18132793plg.51.1497691998107; Sat, 17 Jun 2017 02:33:18 -0700 (PDT) Received: from kpraveen.labs.blr.name ([103.227.99.177]) by smtp.gmail.com with ESMTPSA id k129sm9653921pfc.87.2017.06.17.02.33.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 17 Jun 2017 02:33:17 -0700 (PDT) From: Praveen Kumar To: xen-devel@lists.xen.org Date: Sat, 17 Jun 2017 15:02:34 +0530 Message-Id: <20170617093253.3990-2-kpraveen.lkml@gmail.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170617093253.3990-1-kpraveen.lkml@gmail.com> References: <20170617093253.3990-1-kpraveen.lkml@gmail.com> MIME-Version: 1.0 Cc: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, kpraveen.lkml@gmail.com, jbeulich@suse.com Subject: [Xen-devel] [PATCH 01/20] rbtree: add const qualifier to some functions X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP The 'rb_first()', 'rb_last()', 'rb_next()' and 'rb_prev()' calls take a pointer to an RB node or RB root. They do not change the pointed objects, so add a 'const' qualifier in order to make life of the users of these functions easier. Indeed, if I have my own constant pointer &const struct my_type *p, and I call 'rb_next(&p->rb)', I get a GCC warning: warning: passing argument 1 of ‘rb_next’ discards qualifiers from pointer target type Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds [Linux commit f4b477c47332367d35686bd2b808c2156b96d7c7] Ported to Xen. Signed-off-by: Praveen Kumar Acked-by: Jan Beulich Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds Signed-off-by: Praveen Kumar Reviewed-by: Dario Faggioli --- xen/common/rbtree.c | 12 ++++++------ xen/include/xen/rbtree.h | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/xen/common/rbtree.c b/xen/common/rbtree.c index 3328960d56..d86b5f25c0 100644 --- a/xen/common/rbtree.c +++ b/xen/common/rbtree.c @@ -291,7 +291,7 @@ EXPORT_SYMBOL(rb_erase); /* * This function returns the first node (in sort order) of the tree. */ -struct rb_node *rb_first(struct rb_root *root) +struct rb_node *rb_first(const struct rb_root *root) { struct rb_node *n; @@ -304,7 +304,7 @@ struct rb_node *rb_first(struct rb_root *root) } EXPORT_SYMBOL(rb_first); -struct rb_node *rb_last(struct rb_root *root) +struct rb_node *rb_last(const struct rb_root *root) { struct rb_node *n; @@ -317,7 +317,7 @@ struct rb_node *rb_last(struct rb_root *root) } EXPORT_SYMBOL(rb_last); -struct rb_node *rb_next(struct rb_node *node) +struct rb_node *rb_next(const struct rb_node *node) { struct rb_node *parent; @@ -330,7 +330,7 @@ struct rb_node *rb_next(struct rb_node *node) node = node->rb_right; while (node->rb_left) node=node->rb_left; - return node; + return (struct rb_node *)node; } /* No right-hand children. Everything down and left is @@ -346,7 +346,7 @@ struct rb_node *rb_next(struct rb_node *node) } EXPORT_SYMBOL(rb_next); -struct rb_node *rb_prev(struct rb_node *node) +struct rb_node *rb_prev(const struct rb_node *node) { struct rb_node *parent; @@ -359,7 +359,7 @@ struct rb_node *rb_prev(struct rb_node *node) node = node->rb_left; while (node->rb_right) node=node->rb_right; - return node; + return (struct rb_node *)node; } /* No left-hand children. Go up till we find an ancestor which diff --git a/xen/include/xen/rbtree.h b/xen/include/xen/rbtree.h index f93c4d5823..3eb527eb37 100644 --- a/xen/include/xen/rbtree.h +++ b/xen/include/xen/rbtree.h @@ -60,10 +60,10 @@ extern void rb_insert_color(struct rb_node *, struct rb_root *); extern void rb_erase(struct rb_node *, struct rb_root *); /* Find logical next and previous nodes in a tree */ -extern struct rb_node *rb_next(struct rb_node *); -extern struct rb_node *rb_prev(struct rb_node *); -extern struct rb_node *rb_first(struct rb_root *); -extern struct rb_node *rb_last(struct rb_root *); +extern struct rb_node *rb_next(const struct rb_node *); +extern struct rb_node *rb_prev(const struct rb_node *); +extern struct rb_node *rb_first(const struct rb_root *); +extern struct rb_node *rb_last(const struct rb_root *); /* Fast replacement of a single node without remove/rebalance/add/rebalance */ extern void rb_replace_node(struct rb_node *victim, struct rb_node *new,