Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs"
authorRob Herring <robh@kernel.org>
Mon, 21 Mar 2022 16:35:29 +0000 (11:35 -0500)
committerRob Herring <robh@kernel.org>
Mon, 21 Mar 2022 16:35:29 +0000 (11:35 -0500)
This reverts commit b1078c355d76769b5ddefc67d143fbd9b6e52c05.

The single user of of_alias_get_alias_list(),
drivers/tty/serial/xilinx_uartps.c, has since been refactored and no
longer needs this function. It also contained a Smatch checker warning:

 drivers/of/base.c:2038 of_alias_get_alias_list()
 warn: passing negative bit value 's32min-(-2),0-s32max' to 'set_bit()'

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/base.c
include/linux/of.h

index e7d92b67cb8a027e40187fe0417fdcca242f6b2d..d4f98c8469ed89b24c5026a1044f0e48af1373b3 100644 (file)
@@ -16,7 +16,6 @@
 
 #define pr_fmt(fmt)    "OF: " fmt
 
-#include <linux/bitmap.h>
 #include <linux/console.h>
 #include <linux/ctype.h>
 #include <linux/cpu.h>
@@ -1992,59 +1991,6 @@ int of_alias_get_id(struct device_node *np, const char *stem)
 }
 EXPORT_SYMBOL_GPL(of_alias_get_id);
 
-/**
- * of_alias_get_alias_list - Get alias list for the given device driver
- * @matches:   Array of OF device match structures to search in
- * @stem:      Alias stem of the given device_node
- * @bitmap:    Bitmap field pointer
- * @nbits:     Maximum number of alias IDs which can be recorded in bitmap
- *
- * The function travels the lookup table to record alias ids for the given
- * device match structures and alias stem.
- *
- * Return:     0 or -ENOSYS when !CONFIG_OF or
- *             -EOVERFLOW if alias ID is greater then allocated nbits
- */
-int of_alias_get_alias_list(const struct of_device_id *matches,
-                            const char *stem, unsigned long *bitmap,
-                            unsigned int nbits)
-{
-       struct alias_prop *app;
-       int ret = 0;
-
-       /* Zero bitmap field to make sure that all the time it is clean */
-       bitmap_zero(bitmap, nbits);
-
-       mutex_lock(&of_mutex);
-       pr_debug("%s: Looking for stem: %s\n", __func__, stem);
-       list_for_each_entry(app, &aliases_lookup, link) {
-               pr_debug("%s: stem: %s, id: %d\n",
-                        __func__, app->stem, app->id);
-
-               if (strcmp(app->stem, stem) != 0) {
-                       pr_debug("%s: stem comparison didn't pass %s\n",
-                                __func__, app->stem);
-                       continue;
-               }
-
-               if (of_match_node(matches, app->np)) {
-                       pr_debug("%s: Allocated ID %d\n", __func__, app->id);
-
-                       if (app->id >= nbits) {
-                               pr_warn("%s: ID %d >= than bitmap field %d\n",
-                                       __func__, app->id, nbits);
-                               ret = -EOVERFLOW;
-                       } else {
-                               set_bit(app->id, bitmap);
-                       }
-               }
-       }
-       mutex_unlock(&of_mutex);
-
-       return ret;
-}
-EXPORT_SYMBOL_GPL(of_alias_get_alias_list);
-
 /**
  * of_alias_get_highest_id - Get highest alias id for the given stem
  * @stem:      Alias stem to be examined
index 2dc77430a91abfe832ac87a7d503678a9b2f8c9b..04971e85fbc97ce2d6aa9bba15862cba82cb66d5 100644 (file)
@@ -388,9 +388,6 @@ extern int of_phandle_iterator_args(struct of_phandle_iterator *it,
 extern void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align));
 extern int of_alias_get_id(struct device_node *np, const char *stem);
 extern int of_alias_get_highest_id(const char *stem);
-extern int of_alias_get_alias_list(const struct of_device_id *matches,
-                                  const char *stem, unsigned long *bitmap,
-                                  unsigned int nbits);
 
 extern int of_machine_is_compatible(const char *compat);
 
@@ -766,13 +763,6 @@ static inline int of_alias_get_highest_id(const char *stem)
        return -ENOSYS;
 }
 
-static inline int of_alias_get_alias_list(const struct of_device_id *matches,
-                                         const char *stem, unsigned long *bitmap,
-                                         unsigned int nbits)
-{
-       return -ENOSYS;
-}
-
 static inline int of_machine_is_compatible(const char *compat)
 {
        return 0;