From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
There are no more users of this code. Let's remove the exported symbols
and the implementation from reset core.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/reset/core.c | 120 +--------------------------------------
include/linux/reset-controller.h | 33 -----------
2 files changed, 2 insertions(+), 151 deletions(-)
diff --git a/drivers/reset/core.c b/drivers/reset/core.c
index 22f67fc77ae531c6efba3ce92cc73a2d57397762..9ca4ac27daf955d7fe74f7684819072a6f32492b 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
@@ -190,33 +190,6 @@ int devm_reset_controller_register(struct device *dev,
}
EXPORT_SYMBOL_GPL(devm_reset_controller_register);
-/**
- * reset_controller_add_lookup - register a set of lookup entries
- * @lookup: array of reset lookup entries
- * @num_entries: number of entries in the lookup array
- */
-void reset_controller_add_lookup(struct reset_control_lookup *lookup,
- unsigned int num_entries)
-{
- struct reset_control_lookup *entry;
- unsigned int i;
-
- mutex_lock(&reset_lookup_mutex);
- for (i = 0; i < num_entries; i++) {
- entry = &lookup[i];
-
- if (!entry->dev_id || !entry->provider) {
- pr_warn("%s(): reset lookup entry badly specified, skipping\n",
- __func__);
- continue;
- }
-
- list_add_tail(&entry->list, &reset_lookup_list);
- }
- mutex_unlock(&reset_lookup_mutex);
-}
-EXPORT_SYMBOL_GPL(reset_controller_add_lookup);
-
static inline struct reset_control_array *
rstc_to_array(struct reset_control *rstc) {
return container_of(rstc, struct reset_control_array, base);
@@ -1081,70 +1054,6 @@ __of_reset_control_get(struct device_node *node, const char *id, int index,
}
EXPORT_SYMBOL_GPL(__of_reset_control_get);
-static struct reset_controller_dev *
-__reset_controller_by_name(const char *name)
-{
- struct reset_controller_dev *rcdev;
-
- lockdep_assert_held(&reset_list_mutex);
-
- list_for_each_entry(rcdev, &reset_controller_list, list) {
- if (!rcdev->dev)
- continue;
-
- if (!strcmp(name, dev_name(rcdev->dev)))
- return rcdev;
- }
-
- return NULL;
-}
-
-static struct reset_control *
-__reset_control_get_from_lookup(struct device *dev, const char *con_id,
- enum reset_control_flags flags)
-{
- bool optional = flags & RESET_CONTROL_FLAGS_BIT_OPTIONAL;
- const struct reset_control_lookup *lookup;
- struct reset_controller_dev *rcdev;
- const char *dev_id = dev_name(dev);
- struct reset_control *rstc = NULL;
-
- mutex_lock(&reset_lookup_mutex);
-
- list_for_each_entry(lookup, &reset_lookup_list, list) {
- if (strcmp(lookup->dev_id, dev_id))
- continue;
-
- if ((!con_id && !lookup->con_id) ||
- ((con_id && lookup->con_id) &&
- !strcmp(con_id, lookup->con_id))) {
- mutex_lock(&reset_list_mutex);
- rcdev = __reset_controller_by_name(lookup->provider);
- if (!rcdev) {
- mutex_unlock(&reset_list_mutex);
- mutex_unlock(&reset_lookup_mutex);
- /* Reset provider may not be ready yet. */
- return ERR_PTR(-EPROBE_DEFER);
- }
-
- flags &= ~RESET_CONTROL_FLAGS_BIT_OPTIONAL;
-
- rstc = __reset_control_get_internal(rcdev,
- lookup->index,
- flags);
- mutex_unlock(&reset_list_mutex);
- break;
- }
- }
-
- mutex_unlock(&reset_lookup_mutex);
-
- if (!rstc)
- return optional ? NULL : ERR_PTR(-ENOENT);
-
- return rstc;
-}
-
struct reset_control *__reset_control_get(struct device *dev, const char *id,
int index, enum reset_control_flags flags)
{
@@ -1157,7 +1066,7 @@ struct reset_control *__reset_control_get(struct device *dev, const char *id,
if (dev->of_node)
return __of_reset_control_get(dev->of_node, id, index, flags);
- return __reset_control_get_from_lookup(dev, id, flags);
+ return ERR_PTR(-ENOENT);
}
EXPORT_SYMBOL_GPL(__reset_control_get);
@@ -1492,31 +1401,6 @@ devm_reset_control_array_get(struct device *dev, enum reset_control_flags flags)
}
EXPORT_SYMBOL_GPL(devm_reset_control_array_get);
-static int reset_control_get_count_from_lookup(struct device *dev)
-{
- const struct reset_control_lookup *lookup;
- const char *dev_id;
- int count = 0;
-
- if (!dev)
- return -EINVAL;
-
- dev_id = dev_name(dev);
- mutex_lock(&reset_lookup_mutex);
-
- list_for_each_entry(lookup, &reset_lookup_list, list) {
- if (!strcmp(lookup->dev_id, dev_id))
- count++;
- }
-
- mutex_unlock(&reset_lookup_mutex);
-
- if (count == 0)
- count = -ENOENT;
-
- return count;
-}
-
/**
* reset_control_get_count - Count number of resets available with a device
*
@@ -1530,6 +1414,6 @@ int reset_control_get_count(struct device *dev)
if (dev->of_node)
return of_reset_control_get_count(dev->of_node);
- return reset_control_get_count_from_lookup(dev);
+ return -ENOENT;
}
EXPORT_SYMBOL_GPL(reset_control_get_count);
diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h
index 357df16ede328657478eceb1ba6065f42a210ea2..46514cb1b9e0626872fe71357b24d54ff0e81a8b 100644
--- a/include/linux/reset-controller.h
+++ b/include/linux/reset-controller.h
@@ -26,31 +26,6 @@ struct module;
struct device_node;
struct of_phandle_args;
-/**
- * struct reset_control_lookup - represents a single lookup entry
- *
- * @list: internal list of all reset lookup entries
- * @provider: name of the reset controller device controlling this reset line
- * @index: ID of the reset controller in the reset controller device
- * @dev_id: name of the device associated with this reset line
- * @con_id: name of the reset line (can be NULL)
- */
-struct reset_control_lookup {
- struct list_head list;
- const char *provider;
- unsigned int index;
- const char *dev_id;
- const char *con_id;
-};
-
-#define RESET_LOOKUP(_provider, _index, _dev_id, _con_id) \
- { \
- .provider = _provider, \
- .index = _index, \
- .dev_id = _dev_id, \
- .con_id = _con_id, \
- }
-
/**
* struct reset_controller_dev - reset controller entity that might
* provide multiple reset controls
@@ -90,9 +65,6 @@ void reset_controller_unregister(struct reset_controller_dev *rcdev);
struct device;
int devm_reset_controller_register(struct device *dev,
struct reset_controller_dev *rcdev);
-
-void reset_controller_add_lookup(struct reset_control_lookup *lookup,
- unsigned int num_entries);
#else
static inline int reset_controller_register(struct reset_controller_dev *rcdev)
{
@@ -108,11 +80,6 @@ static inline int devm_reset_controller_register(struct device *dev,
{
return 0;
}
-
-static inline void reset_controller_add_lookup(struct reset_control_lookup *lookup,
- unsigned int num_entries)
-{
-}
#endif
#endif
--
2.48.1
Hi Bartosz,
On Fr, 2025-10-17 at 10:02 +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> There are no more users of this code. Let's remove the exported symbols
> and the implementation from reset core.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> ---
> drivers/reset/core.c | 120 +--------------------------------------
> include/linux/reset-controller.h | 33 -----------
Ah, the best kind of patch.
> 2 files changed, 2 insertions(+), 151 deletions(-)
>
> diff --git a/drivers/reset/core.c b/drivers/reset/core.c
> index 22f67fc77ae531c6efba3ce92cc73a2d57397762..9ca4ac27daf955d7fe74f7684819072a6f32492b 100644
> --- a/drivers/reset/core.c
> +++ b/drivers/reset/core.c
[...]
> @@ -1081,70 +1054,6 @@ __of_reset_control_get(struct device_node *node, const char *id, int index,
> }
> EXPORT_SYMBOL_GPL(__of_reset_control_get);
>
> -static struct reset_controller_dev *
> -__reset_controller_by_name(const char *name)
> -{
> - struct reset_controller_dev *rcdev;
> -
> - lockdep_assert_held(&reset_list_mutex);
> -
> - list_for_each_entry(rcdev, &reset_controller_list, list) {
> - if (!rcdev->dev)
> - continue;
> -
> - if (!strcmp(name, dev_name(rcdev->dev)))
> - return rcdev;
> - }
> -
> - return NULL;
> -}
> -
> -static struct reset_control *
> -__reset_control_get_from_lookup(struct device *dev, const char *con_id,
> - enum reset_control_flags flags)
> -{
> - bool optional = flags & RESET_CONTROL_FLAGS_BIT_OPTIONAL;
> - const struct reset_control_lookup *lookup;
> - struct reset_controller_dev *rcdev;
> - const char *dev_id = dev_name(dev);
> - struct reset_control *rstc = NULL;
> -
> - mutex_lock(&reset_lookup_mutex);
> -
> - list_for_each_entry(lookup, &reset_lookup_list, list) {
> - if (strcmp(lookup->dev_id, dev_id))
> - continue;
> -
> - if ((!con_id && !lookup->con_id) ||
> - ((con_id && lookup->con_id) &&
> - !strcmp(con_id, lookup->con_id))) {
> - mutex_lock(&reset_list_mutex);
> - rcdev = __reset_controller_by_name(lookup->provider);
> - if (!rcdev) {
> - mutex_unlock(&reset_list_mutex);
> - mutex_unlock(&reset_lookup_mutex);
> - /* Reset provider may not be ready yet. */
> - return ERR_PTR(-EPROBE_DEFER);
> - }
> -
> - flags &= ~RESET_CONTROL_FLAGS_BIT_OPTIONAL;
> -
> - rstc = __reset_control_get_internal(rcdev,
> - lookup->index,
> - flags);
> - mutex_unlock(&reset_list_mutex);
> - break;
> - }
> - }
> -
> - mutex_unlock(&reset_lookup_mutex);
> -
> - if (!rstc)
> - return optional ? NULL : ERR_PTR(-ENOENT);
> -
> - return rstc;
> -}
> -
> struct reset_control *__reset_control_get(struct device *dev, const char *id,
> int index, enum reset_control_flags flags)
> {
> @@ -1157,7 +1066,7 @@ struct reset_control *__reset_control_get(struct device *dev, const char *id,
> if (dev->of_node)
> return __of_reset_control_get(dev->of_node, id, index, flags);
>
> - return __reset_control_get_from_lookup(dev, id, flags);
> + return ERR_PTR(-ENOENT);
I think this should be:
bool optional = flags & RESET_CONTROL_FLAGS_BIT_OPTIONAL;
/* ... */
return optional ? NULL : ERR_PTR(-ENOENT);
With that,
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
regards
Philipp
© 2016 - 2026 Red Hat, Inc.