* Per-cpu pool of preloaded nodes
  */
 struct radix_tree_preload {
-       int nr;
+       unsigned nr;
        /* nodes->private_data points to next preallocated node */
        struct radix_tree_node *nodes;
 };
        root->gfp_mask |= (__force gfp_t)(1 << (tag + __GFP_BITS_SHIFT));
 }
 
-static inline void root_tag_clear(struct radix_tree_root *root, unsigned int tag)
+static inline void root_tag_clear(struct radix_tree_root *root, unsigned tag)
 {
        root->gfp_mask &= (__force gfp_t)~(1 << (tag + __GFP_BITS_SHIFT));
 }
 
 static inline int root_tag_get(struct radix_tree_root *root, unsigned int tag)
 {
-       return (__force unsigned)root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT));
+       return (__force int)root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT));
 }
 
 static inline unsigned root_tags_get(struct radix_tree_root *root)
  */
 static inline int any_tag_set(struct radix_tree_node *node, unsigned int tag)
 {
-       int idx;
+       unsigned idx;
        for (idx = 0; idx < RADIX_TREE_TAG_LONGS; idx++) {
                if (node->tags[tag][idx])
                        return 1;
        gfp_t gfp_mask = root_gfp_mask(root);
 
        /*
-        * Preload code isn't irq safe and it doesn't make sence to use
-        * preloading in the interrupt anyway as all the allocations have to
-        * be atomic. So just do normal allocation when in interrupt.
+        * Preload code isn't irq safe and it doesn't make sense to use
+        * preloading during an interrupt anyway as all the allocations have
+        * to be atomic. So just do normal allocation when in interrupt.
         */
        if (!gfpflags_allow_blocking(gfp_mask) && !in_interrupt()) {
                struct radix_tree_preload *rtp;
 static int radix_tree_extend(struct radix_tree_root *root,
                                unsigned long index)
 {
-       struct radix_tree_node *node;
        struct radix_tree_node *slot;
        unsigned int height;
        int tag;
 
        do {
                unsigned int newheight;
-               if (!(node = radix_tree_node_alloc(root)))
+               struct radix_tree_node *node = radix_tree_node_alloc(root);
+
+               if (!node)
                        return -ENOMEM;
 
                /* Propagate the aggregated tag info into the new root */
        while (shift > order) {
                if (slot == NULL) {
                        /* Have to add a child node.  */
-                       if (!(slot = radix_tree_node_alloc(root)))
+                       slot = radix_tree_node_alloc(root);
+                       if (!slot)
                                return -ENOMEM;
                        slot->path = height;
                        slot->parent = node;
  *     radix_tree_tag_set - set a tag on a radix tree node
  *     @root:          radix tree root
  *     @index:         index key
- *     @tag:           tag index
+ *     @tag:           tag index
  *
  *     Set the search tag (which must be < RADIX_TREE_MAX_TAGS)
  *     corresponding to @index in the radix tree.  From
  *     the root all the way down to the leaf node.
  *
- *     Returns the address of the tagged item.   Setting a tag on a not-present
+ *     Returns the address of the tagged item.  Setting a tag on a not-present
  *     item is a bug.
  */
 void *radix_tree_tag_set(struct radix_tree_root *root,
  *     radix_tree_tag_clear - clear a tag on a radix tree node
  *     @root:          radix tree root
  *     @index:         index key
- *     @tag:           tag index
+ *     @tag:           tag index
  *
  *     Clear the search tag (which must be < RADIX_TREE_MAX_TAGS)
- *     corresponding to @index in the radix tree.  If
- *     this causes the leaf node to have no tags set then clear the tag in the
+ *     corresponding to @index in the radix tree.  If this causes
+ *     the leaf node to have no tags set then clear the tag in the
  *     next-to-leaf node, etc.
  *
  *     Returns the address of the tagged item on success, else NULL.  ie:
  * radix_tree_tag_get - get a tag on a radix tree node
  * @root:              radix tree root
  * @index:             index key
- * @tag:               tag index (< RADIX_TREE_MAX_TAGS)
+ * @tag:               tag index (< RADIX_TREE_MAX_TAGS)
  *
  * Return values:
  *
  * set is outside the range we are scanning. This reults in dangling tags and
  * can lead to problems with later tag operations (e.g. livelocks on lookups).
  *
- * The function returns number of leaves where the tag was set and sets
+ * The function returns the number of leaves where the tag was set and sets
  * *first_indexp to the first unscanned index.
  * WARNING! *first_indexp can wrap if last_index is ULONG_MAX. Caller must
  * be prepared to handle that.
  *
  *     Like radix_tree_lookup, radix_tree_gang_lookup may be called under
  *     rcu_read_lock. In this case, rather than the returned results being
- *     an atomic snapshot of the tree at a single point in time, the semantics
- *     of an RCU protected gang lookup are as though multiple radix_tree_lookups
- *     have been issued in individual locks, and results stored in 'results'.
+ *     an atomic snapshot of the tree at a single point in time, the
+ *     semantics of an RCU protected gang lookup are as though multiple
+ *     radix_tree_lookups have been issued in individual locks, and results
+ *     stored in 'results'.
  */
 unsigned int
 radix_tree_gang_lookup(struct radix_tree_root *root, void **results,
                 * their slot to become empty sooner or later.
                 *
                 * For example, lockless pagecache will look up a slot, deref
-                * the page pointer, and if the page is 0 refcount it means it
+                * the page pointer, and if the page has 0 refcount it means it
                 * was concurrently deleted from pagecache so try the deref
                 * again. Fortunately there is already a requirement for logic
                 * to retry the entire slot lookup -- the indirect pointer
 }
 
 static int radix_tree_callback(struct notifier_block *nfb,
-                            unsigned long action,
-                            void *hcpu)
+                               unsigned long action, void *hcpu)
 {
-       int cpu = (long)hcpu;
-       struct radix_tree_preload *rtp;
-       struct radix_tree_node *node;
-
-       /* Free per-cpu pool of perloaded nodes */
-       if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) {
-               rtp = &per_cpu(radix_tree_preloads, cpu);
-               while (rtp->nr) {
+       int cpu = (long)hcpu;
+       struct radix_tree_preload *rtp;
+       struct radix_tree_node *node;
+
+       /* Free per-cpu pool of preloaded nodes */
+       if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) {
+               rtp = &per_cpu(radix_tree_preloads, cpu);
+               while (rtp->nr) {
                        node = rtp->nodes;
                        rtp->nodes = node->private_data;
                        kmem_cache_free(radix_tree_node_cachep, node);
                        rtp->nr--;
-               }
-       }
-       return NOTIFY_OK;
+               }
+       }
+       return NOTIFY_OK;
 }
 
 void __init radix_tree_init(void)