diff mbox

serial: 8250: 8250_core: Use dev_name() during request_irq()

Message ID 20170308121943.29340-1-vigneshr@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Vignesh Raghavendra March 8, 2017, 12:19 p.m. UTC
Passing "serial" as name during request_irq() results in all serial port
irqs have same name. This does not help much to easily identify which
irq belongs to which serial port instance. Therefore pass dev_name()
during request_irq() so that better identifiable name is listed for
serial ports in cat /proc/interrupts output.

Output of cat /proc/interrupts
Before this patch:
 26:        689          0     GICv2 309 Edge      serial
After this patch:
 26:        696          0     GICv2 309 Edge      2530c00.serial

Signed-off-by: Vignesh R <vigneshr@ti.com>
---
 drivers/tty/serial/8250/8250_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Greg KH March 8, 2017, 12:34 p.m. UTC | #1
On Wed, Mar 08, 2017 at 05:49:43PM +0530, Vignesh R wrote:
> Passing "serial" as name during request_irq() results in all serial port
> irqs have same name. This does not help much to easily identify which
> irq belongs to which serial port instance. Therefore pass dev_name()
> during request_irq() so that better identifiable name is listed for
> serial ports in cat /proc/interrupts output.
> 
> Output of cat /proc/interrupts
> Before this patch:
>  26:        689          0     GICv2 309 Edge      serial
> After this patch:
>  26:        696          0     GICv2 309 Edge      2530c00.serial
> 
> Signed-off-by: Vignesh R <vigneshr@ti.com>

I need a "full" name here, unless you really do sign legal documents
with just one letter as a last/sur-name?

thanks,

greg k-h
Vignesh Raghavendra March 9, 2017, 2:37 p.m. UTC | #2
Hi,

On Wednesday 08 March 2017 06:04 PM, Greg Kroah-Hartman wrote:
> On Wed, Mar 08, 2017 at 05:49:43PM +0530, Vignesh R wrote:
>> Passing "serial" as name during request_irq() results in all serial port
>> irqs have same name. This does not help much to easily identify which
>> irq belongs to which serial port instance. Therefore pass dev_name()
>> during request_irq() so that better identifiable name is listed for
>> serial ports in cat /proc/interrupts output.
>>
>> Output of cat /proc/interrupts
>> Before this patch:
>>  26:        689          0     GICv2 309 Edge      serial
>> After this patch:
>>  26:        696          0     GICv2 309 Edge      2530c00.serial
>>
>> Signed-off-by: Vignesh R <vigneshr@ti.com>
> 
> I need a "full" name here, unless you really do sign legal documents
> with just one letter as a last/sur-name?
> 

Its perfectly alright not to expand surname here in India. FWIW, my ID
cards also have the same name.
I have been contributing to the kernel with above Signed-off-by line in
the past and would want to continue to use the same.
Andy Shevchenko March 12, 2017, 8:05 p.m. UTC | #3
On Wed, Mar 8, 2017 at 2:19 PM, Vignesh R <vigneshr@ti.com> wrote:
> Passing "serial" as name during request_irq() results in all serial port
> irqs have same name. This does not help much to easily identify which
> irq belongs to which serial port instance. Therefore pass dev_name()
> during request_irq() so that better identifiable name is listed for
> serial ports in cat /proc/interrupts output.
>
> Output of cat /proc/interrupts
> Before this patch:
>  26:        689          0     GICv2 309 Edge      serial
> After this patch:
>  26:        696          0     GICv2 309 Edge      2530c00.serial

I don't know if it worth to mention that some (testing) tools may
depend on this name.
Besides that imagine what would be the name of PCI device here. I
would suggest adding ID if you need one in a form like
"serial%d", where ID may or may not be supplied by the actual 8250 drivers.

>
> Signed-off-by: Vignesh R <vigneshr@ti.com>
> ---
>  drivers/tty/serial/8250/8250_core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
> index 76e03a7de9cc..f83b69f30987 100644
> --- a/drivers/tty/serial/8250/8250_core.c
> +++ b/drivers/tty/serial/8250/8250_core.c
> @@ -218,7 +218,7 @@ static int serial_link_irq_chain(struct uart_8250_port *up)
>                 spin_unlock_irq(&i->lock);
>                 irq_flags |= up->port.irqflags;
>                 ret = request_irq(up->port.irq, serial8250_interrupt,
> -                                 irq_flags, "serial", i);
> +                                 irq_flags, dev_name(up->port.dev), i);
>                 if (ret < 0)
>                         serial_do_unlink(i, up);
>         }
> --
> 2.11.0
>
Vignesh Raghavendra March 14, 2017, 1:44 p.m. UTC | #4
On Monday 13 March 2017 01:35 AM, Andy Shevchenko wrote:
> On Wed, Mar 8, 2017 at 2:19 PM, Vignesh R <vigneshr@ti.com> wrote:
>> Passing "serial" as name during request_irq() results in all serial port
>> irqs have same name. This does not help much to easily identify which
>> irq belongs to which serial port instance. Therefore pass dev_name()
>> during request_irq() so that better identifiable name is listed for
>> serial ports in cat /proc/interrupts output.
>>
>> Output of cat /proc/interrupts
>> Before this patch:
>>  26:        689          0     GICv2 309 Edge      serial
>> After this patch:
>>  26:        696          0     GICv2 309 Edge      2530c00.serial
> 
> I don't know if it worth to mention that some (testing) tools may
> depend on this name.

I wonder how such tools will distinguish b/w different serial device
instances. But, this change is making interrupt name more descriptive
and maybe help test tools to distinguish irqs more easily

> Besides that imagine what would be the name of PCI device here. 
> I would suggest adding ID if you need one in a form like
> "serial%d", where ID may or may not be supplied by the actual 8250 drivers.
> 

Are you suggesting to use serial_index() as ID?

>>
>> Signed-off-by: Vignesh R <vigneshr@ti.com>
>> ---
>>  drivers/tty/serial/8250/8250_core.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
>> index 76e03a7de9cc..f83b69f30987 100644
>> --- a/drivers/tty/serial/8250/8250_core.c
>> +++ b/drivers/tty/serial/8250/8250_core.c
>> @@ -218,7 +218,7 @@ static int serial_link_irq_chain(struct uart_8250_port *up)
>>                 spin_unlock_irq(&i->lock);
>>                 irq_flags |= up->port.irqflags;
>>                 ret = request_irq(up->port.irq, serial8250_interrupt,
>> -                                 irq_flags, "serial", i);
>> +                                 irq_flags, dev_name(up->port.dev), i);
>>                 if (ret < 0)
>>                         serial_do_unlink(i, up);
>>         }
>> --
>> 2.11.0
>>
> 
> 
>
Andy Shevchenko March 14, 2017, 3:59 p.m. UTC | #5
On Tue, Mar 14, 2017 at 3:44 PM, Vignesh R <vigneshr@ti.com> wrote:
> On Monday 13 March 2017 01:35 AM, Andy Shevchenko wrote:
>> On Wed, Mar 8, 2017 at 2:19 PM, Vignesh R <vigneshr@ti.com> wrote:
>>> Passing "serial" as name during request_irq() results in all serial port
>>> irqs have same name. This does not help much to easily identify which
>>> irq belongs to which serial port instance. Therefore pass dev_name()
>>> during request_irq() so that better identifiable name is listed for
>>> serial ports in cat /proc/interrupts output.
>>>
>>> Output of cat /proc/interrupts
>>> Before this patch:
>>>  26:        689          0     GICv2 309 Edge      serial
>>> After this patch:
>>>  26:        696          0     GICv2 309 Edge      2530c00.serial

>  But, this change is making interrupt name more descriptive

It doesn't in PCI case, it makes it worse.

(The world is not DT-centric)

>> Besides that imagine what would be the name of PCI device here.
>> I would suggest adding ID if you need one in a form like
>> "serial%d", where ID may or may not be supplied by the actual 8250 drivers.
>>
>
> Are you suggesting to use serial_index() as ID?

Yes.
Jisheng Zhang March 15, 2017, 6:10 a.m. UTC | #6
On Tue, 14 Mar 2017 17:59:01 +0200 Andy Shevchenko wrote:

> On Tue, Mar 14, 2017 at 3:44 PM, Vignesh R <vigneshr@ti.com> wrote:
> > On Monday 13 March 2017 01:35 AM, Andy Shevchenko wrote:  
> >> On Wed, Mar 8, 2017 at 2:19 PM, Vignesh R <vigneshr@ti.com> wrote:  
> >>> Passing "serial" as name during request_irq() results in all serial port
> >>> irqs have same name. This does not help much to easily identify which
> >>> irq belongs to which serial port instance. Therefore pass dev_name()
> >>> during request_irq() so that better identifiable name is listed for
> >>> serial ports in cat /proc/interrupts output.
> >>>
> >>> Output of cat /proc/interrupts
> >>> Before this patch:
> >>>  26:        689          0     GICv2 309 Edge      serial
> >>> After this patch:
> >>>  26:        696          0     GICv2 309 Edge      2530c00.serial  
> 
> >  But, this change is making interrupt name more descriptive  
> 
> It doesn't in PCI case, it makes it worse.

indeed, in PCI case, I see 

4: ... 00:03.3

what about "dev_driver_string(up->port.dev)[dev_name(up->port.dev)]" as
we did for ahci case?

Thanks
Vignesh Raghavendra March 15, 2017, 11:42 a.m. UTC | #7
On Tuesday 14 March 2017 09:29 PM, Andy Shevchenko wrote:
> On Tue, Mar 14, 2017 at 3:44 PM, Vignesh R <vigneshr@ti.com> wrote:
>> On Monday 13 March 2017 01:35 AM, Andy Shevchenko wrote:
>>> On Wed, Mar 8, 2017 at 2:19 PM, Vignesh R <vigneshr@ti.com> wrote:
>>>> Passing "serial" as name during request_irq() results in all serial port
>>>> irqs have same name. This does not help much to easily identify which
>>>> irq belongs to which serial port instance. Therefore pass dev_name()
>>>> during request_irq() so that better identifiable name is listed for
>>>> serial ports in cat /proc/interrupts output.
>>>>
>>>> Output of cat /proc/interrupts
>>>> Before this patch:
>>>>  26:        689          0     GICv2 309 Edge      serial
>>>> After this patch:
>>>>  26:        696          0     GICv2 309 Edge      2530c00.serial
> 
>>  But, this change is making interrupt name more descriptive
> 
> It doesn't in PCI case, it makes it worse.
> 
> (The world is not DT-centric)
> 
>>> Besides that imagine what would be the name of PCI device here.
>>> I would suggest adding ID if you need one in a form like
>>> "serial%d", where ID may or may not be supplied by the actual 8250 drivers.
>>>
>>
>> Are you suggesting to use serial_index() as ID?
> 
> Yes.
> 

Ok thanks, I will send on incremental fix as this patch is already applied.
diff mbox

Patch

diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
index 76e03a7de9cc..f83b69f30987 100644
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
@@ -218,7 +218,7 @@  static int serial_link_irq_chain(struct uart_8250_port *up)
 		spin_unlock_irq(&i->lock);
 		irq_flags |= up->port.irqflags;
 		ret = request_irq(up->port.irq, serial8250_interrupt,
-				  irq_flags, "serial", i);
+				  irq_flags, dev_name(up->port.dev), i);
 		if (ret < 0)
 			serial_do_unlink(i, up);
 	}