Re: [PATCH 1/3] mtd: core: add get_mtd_device_by_node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bernhard,

Minor nits below.

Bernhard Frauendienst <kernel@xxxxxxxxxxxxxxxxx> wrote on Thu,  6 Sep
2018 18:14:11 +0200:

> Add function to retrieve a mtd device by its OF node. Since drivers can
> assign arbitrary names to mtd devices in the absence of a label
> property, there is no other reliable way to retrieve a mtd device for a
> given OF node.
> 
> Signed-off-by: Bernhard Frauendienst <kernel@xxxxxxxxxxxxxxxxx>
> ---
>  drivers/mtd/mtdcore.c   | 39 +++++++++++++++++++++++++++++++++++++++
>  include/linux/mtd/mtd.h |  2 ++
>  2 files changed, 41 insertions(+)
> 
> diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
> index 97ac219c082e..e59b6a06814c 100644
> --- a/drivers/mtd/mtdcore.c
> +++ b/drivers/mtd/mtdcore.c
> @@ -926,6 +926,45 @@ struct mtd_info *get_mtd_device_nm(const char *name)
>  }
>  EXPORT_SYMBOL_GPL(get_mtd_device_nm);
>  
> +/**
> + *	get_mtd_device_by_node - obtain a validated handle for an MTD device
> + *	by of_node
> + *	@name: OF node of MTD device to open

Should be @of_node

> + *
> + *	This function returns MTD device description structure in case of
> + *	success and an error code in case of failure.
> + */
> +struct mtd_info *get_mtd_device_by_node(const struct device_node *of_node)
> +{
> +	int err = -ENODEV;
> +	struct mtd_info *mtd = NULL, *other;
> +
> +	mutex_lock(&mtd_table_mutex);
> +
> +	mtd_for_each_device(other) {
> +		if (of_node == other->dev.of_node) {
> +			mtd = other;
> +			break;
> +		}
> +	}
> +
> +	if (!mtd)
> +		goto out_unlock;
> +
> +	err = __get_mtd_device(mtd);
> +	if (err)
> +		goto out_unlock;
> +
> +	mutex_unlock(&mtd_table_mutex);
> +	return mtd;
> +
> +out_unlock:
> +	mutex_unlock(&mtd_table_mutex);
> +	return ERR_PTR(err);
> +}
> +EXPORT_SYMBOL_GPL(get_mtd_device_by_node);
> +
> +

Extra space here

>  void put_mtd_device(struct mtd_info *mtd)
>  {
>  	mutex_lock(&mtd_table_mutex);
> diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
> index cd0be91bdefa..fe71358f8eaa 100644
> --- a/include/linux/mtd/mtd.h
> +++ b/include/linux/mtd/mtd.h
> @@ -570,6 +570,8 @@ extern struct mtd_info *get_mtd_device(struct mtd_info *mtd, int num);
>  extern int __get_mtd_device(struct mtd_info *mtd);
>  extern void __put_mtd_device(struct mtd_info *mtd);
>  extern struct mtd_info *get_mtd_device_nm(const char *name);
> +extern struct mtd_info *get_mtd_device_by_node(
> +		const struct device_node *of_node);
>  extern void put_mtd_device(struct mtd_info *mtd);
>  
>  

Otherwise,

Reviewed-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux