Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1659929

Re: [PATCH 1/3] nvmem: core: remove member users from struct nvmem_device

From Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Newsgroups linux.kernel
Subject Re: [PATCH 1/3] nvmem: core: remove member users from struct nvmem_device
Date 2017-06-07 17:40 +0200
Message-ID <tPLdT-8rQ-1@gated-at.bofh.it> (permalink)
References <tOBgB-3Og-13@gated-at.bofh.it> <tOBzX-4bP-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On 04/06/17 12:01, Heiner Kallweit wrote:
> Member users is used only to check whether we're allowed to remove
> the module. So in case of built-in it's not used at all and in case

nvmem providers doesn't have to be independent drivers, providers could 
be part of the other driver which can dynamically register and 
unregister nvmem providers. For example at24 and at25 drivers.

This patch will break such cases !!



> that owner is a module we have the module refcount for the same
> purpose already. Whenever users is incremented the owner's refcount
> is incremented too. Therefore users isn't needed.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> ---
>  drivers/nvmem/core.c | 16 ----------------
>  1 file changed, 16 deletions(-)
>
> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> index 8c830a80..4e07f3f8 100644
> --- a/drivers/nvmem/core.c
> +++ b/drivers/nvmem/core.c
> @@ -33,7 +33,6 @@ struct nvmem_device {
>  	int			word_size;
>  	int			ncells;
>  	int			id;
> -	int			users;
>  	size_t			size;
>  	bool			read_only;
>  	int			flags;
> @@ -517,13 +516,6 @@ EXPORT_SYMBOL_GPL(nvmem_register);
>   */
>  int nvmem_unregister(struct nvmem_device *nvmem)
>  {
> -	mutex_lock(&nvmem_mutex);
> -	if (nvmem->users) {
> -		mutex_unlock(&nvmem_mutex);
> -		return -EBUSY;
> -	}
> -	mutex_unlock(&nvmem_mutex);
> -
>  	if (nvmem->flags & FLAG_COMPAT)
>  		device_remove_bin_file(nvmem->base_dev, &nvmem->eeprom);
>
> @@ -562,7 +554,6 @@ static struct nvmem_device *__nvmem_device_get(struct device_node *np,
>  		}
>  	}
>
> -	nvmem->users++;
>  	mutex_unlock(&nvmem_mutex);
>
>  	if (!try_module_get(nvmem->owner)) {
> @@ -570,10 +561,6 @@ static struct nvmem_device *__nvmem_device_get(struct device_node *np,
>  			"could not increase module refcount for cell %s\n",
>  			nvmem->name);
>
> -		mutex_lock(&nvmem_mutex);
> -		nvmem->users--;
> -		mutex_unlock(&nvmem_mutex);
> -
>  		return ERR_PTR(-EINVAL);
>  	}
>
> @@ -583,9 +570,6 @@ static struct nvmem_device *__nvmem_device_get(struct device_node *np,
>  static void __nvmem_device_put(struct nvmem_device *nvmem)
>  {
>  	module_put(nvmem->owner);
> -	mutex_lock(&nvmem_mutex);
> -	nvmem->users--;
> -	mutex_unlock(&nvmem_mutex);
>  }
>
>  static int nvmem_match(struct device *dev, void *data)
>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/3] nvmem: core: series with smaller refactorings Heiner Kallweit <hkallweit1@gmail.com> - 2017-06-04 12:50 +0200
  [PATCH 1/3] nvmem: core: remove member users from struct nvmem_device Heiner Kallweit <hkallweit1@gmail.com> - 2017-06-04 13:10 +0200
    Re: [PATCH 1/3] nvmem: core: remove member users from struct  nvmem_device Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-07 17:40 +0200
      Re: [PATCH 1/3] nvmem: core: remove member users from struct  nvmem_device Heiner Kallweit <hkallweit1@gmail.com> - 2017-06-08 00:00 +0200
        Re: [PATCH 1/3] nvmem: core: remove member users from struct  nvmem_device Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-08 08:40 +0200
  [PATCH 2/3] nvmem: core: add locking to nvmem_find_cell Heiner Kallweit <hkallweit1@gmail.com> - 2017-06-04 13:10 +0200
    Re: [PATCH 2/3] nvmem: core: add locking to nvmem_find_cell Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-07 17:40 +0200
  [PATCH 3/3] nvmem: core: remove nvmem_mutex Heiner Kallweit <hkallweit1@gmail.com> - 2017-06-04 13:10 +0200

csiph-web