All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev
Subject: Re: [PATCH 2/2] staging: axis-fifo: use unique identifiers in device names
Date: Sun, 10 Aug 2025 16:41:57 +0200	[thread overview]
Message-ID: <2025081035-encourage-lend-0a15@gregkh> (raw)
In-Reply-To: <20250808204831.2618122-2-ovidiu.panait.oss@gmail.com>

On Fri, Aug 08, 2025 at 11:48:31PM +0300, Ovidiu Panait wrote:
> Axis-fifo devices use physical addresses in their name, for example
> 'axis_fifo_0x43c00000'. This is generally frowned upon and it does not
> follow the usual naming scheme that uses unique identifiers.
> 
> Therefore, use ida_alloc()/ida_free() to implement unique identifiers
> for axis-fifo device names (i.e. axis-fifo0, axis-fifo1, etc.).
> 
> Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
> ---
>  drivers/staging/axis-fifo/axis-fifo.c | 17 ++++++++++++-----
>  1 file changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/axis-fifo/axis-fifo.c b/drivers/staging/axis-fifo/axis-fifo.c
> index 06f7cfab4c6a..27e12af25bc7 100644
> --- a/drivers/staging/axis-fifo/axis-fifo.c
> +++ b/drivers/staging/axis-fifo/axis-fifo.c
> @@ -107,6 +107,8 @@
>  static long read_timeout = 1000; /* ms to wait before read() times out */
>  static long write_timeout = 1000; /* ms to wait before write() times out */
>  
> +static DEFINE_IDA(axis_fifo_ida);
> +
>  /* ----------------------------
>   * module command-line arguments
>   * ----------------------------
> @@ -123,6 +125,7 @@ MODULE_PARM_DESC(write_timeout, "ms to wait before blocking write() timing out;
>   */
>  
>  struct axis_fifo {
> +	int id;
>  	int irq; /* interrupt */
>  	void __iomem *base_addr; /* kernel space memory */
>  
> @@ -698,10 +701,6 @@ static int axis_fifo_probe(struct platform_device *pdev)
>  
>  	dev_dbg(fifo->dt_device, "remapped memory to 0x%p\n", fifo->base_addr);
>  
> -	/* create unique device name */
> -	snprintf(device_name, 32, "%s_%pa", DRIVER_NAME, &r_mem->start);
> -	dev_dbg(fifo->dt_device, "device name [%s]\n", device_name);
> -
>  	/* ----------------------------
>  	 *          init IP
>  	 * ----------------------------
> @@ -737,6 +736,11 @@ static int axis_fifo_probe(struct platform_device *pdev)
>  	 *      init char device
>  	 * ----------------------------
>  	 */
> +	fifo->id = ida_alloc(&axis_fifo_ida, GFP_KERNEL);
> +	if (fifo->id < 0)
> +		return fifo->id;
> +
> +	snprintf(device_name, 32, "%s%d", DRIVER_NAME, fifo->id);
>  
>  	/* create character device */
>  	fifo->miscdev.fops = &fops;
> @@ -744,8 +748,10 @@ static int axis_fifo_probe(struct platform_device *pdev)
>  	fifo->miscdev.name = device_name;
>  	fifo->miscdev.parent = dev;
>  	rc = misc_register(&fifo->miscdev);
> -	if (rc < 0)
> +	if (rc < 0) {
> +		ida_free(&axis_fifo_ida, fifo->id);
>  		return rc;
> +	}
>  
>  	axis_fifo_debugfs_init(fifo);
>  
> @@ -759,6 +765,7 @@ static void axis_fifo_remove(struct platform_device *pdev)
>  
>  	debugfs_remove(fifo->debugfs_dir);
>  	misc_deregister(&fifo->miscdev);
> +	ida_free(&axis_fifo_ida, fifo->id);

Did you forget to call ida_destroy() when the module is unloaded?

thanks,

greg k-h

      reply	other threads:[~2025-08-10 14:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-08 20:48 [PATCH 1/2] staging: axis-fifo: remove unnecessary dev_set_drvdata() calls Ovidiu Panait
2025-08-08 20:48 ` [PATCH 2/2] staging: axis-fifo: use unique identifiers in device names Ovidiu Panait
2025-08-10 14:41   ` Greg KH [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2025081035-encourage-lend-0a15@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=ovidiu.panait.oss@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.