public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: walter harms <wharms@bfs.de>
To: Kumar Gaurav <kumargauravgupta3@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>,
	t.sailer@alumni.ethz.ch, jreuter@yaina.de, jpr@f6fbb.org,
	linux-hams@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH] drivers:net:hamradio: Removing Depricated IRQF_DISABLED
Date: Sat, 10 Aug 2013 20:49:32 +0200	[thread overview]
Message-ID: <52068B3C.4030707@bfs.de> (raw)
In-Reply-To: <52068329.4010400@gmail.com>

Hello Kumar,
i will try to resolve the riddle ...

doing something like fn(a,b,c,0) is a bad habit.
0 is called a "magic number" because noone reading the code has an idea
why it is there. Using the name IRQF_TRIGGER_NONE good.

Having a named bit like IRQ_TRIGGER|IRQ_NMI is most times also a good idea
because it correspond (most times) to the naming of the bits in the data sheet.

The problems starts when this hits reality since nothing is clearly black or white.
In this case when you remove IRQF_DISABLED disables "bit" something should be left.

a|b|IRQF_DISABLED -> a|b  (that is the easy part)
but
IRQF_DISABLED -> IRQF_TRIGGER_NONE

Otherwise you would be left with "0". That is a magic number (see above).
So this is to be replaced by a placeholder called IRQF_TRIGGER_NONE.

hope that really helps and that i have understood the discussion.

re,
 wh


Am 10.08.2013 20:15, schrieb Kumar Gaurav:
> On Saturday 10 August 2013 10:54 PM, Julia Lawall wrote:
>> On Sat, 10 Aug 2013, Kumar Gaurav wrote:
>>
>>> On Saturday 10 August 2013 10:17 PM, Julia Lawall wrote:
>>>> If it is in a | with something else, I think you can just remove it.
>>>>
>>>> julia
>>>>
>>>> On Sat, 10 Aug 2013, Kumar Gaurav wrote:
>>>>
>>>>> Removed IRQF_DISABLED as it's deprecated and should be removed
>>>>>
>>>>> Signed-off-by: Kumar Gaurav <kumargauravgupta3@gmail.com>
>>>>> ---
>>>>>    drivers/net/hamradio/baycom_ser_fdx.c |    2 +-
>>>>>    drivers/net/hamradio/baycom_ser_hdx.c |    2 +-
>>>>>    drivers/net/hamradio/scc.c            |    2 +-
>>>>>    drivers/net/hamradio/yam.c            |    2 +-
>>>>>    4 files changed, 4 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/drivers/net/hamradio/baycom_ser_fdx.c
>>>>> b/drivers/net/hamradio/baycom_ser_fdx.c
>>>>> index a974727..c114009 100644
>>>>> --- a/drivers/net/hamradio/baycom_ser_fdx.c
>>>>> +++ b/drivers/net/hamradio/baycom_ser_fdx.c
>>>>> @@ -445,7 +445,7 @@ static int ser12_open(struct net_device *dev)
>>>>>        outb(0, FCR(dev->base_addr));  /* disable FIFOs */
>>>>>        outb(0x0d, MCR(dev->base_addr));
>>>>>        outb(0, IER(dev->base_addr));
>>>>> -    if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED |
>>>>> IRQF_SHARED,
>>>>> +    if (request_irq(dev->irq, ser12_interrupt, IRQF_TRIGGER_NONE |
>>>>> IRQF_SHARED,
>>>>>                "baycom_ser_fdx", dev)) {
>>>>>            release_region(dev->base_addr, SER12_EXTENT);
>>>>>            return -EBUSY;
>>>>> diff --git a/drivers/net/hamradio/baycom_ser_hdx.c
>>>>> b/drivers/net/hamradio/baycom_ser_hdx.c
>>>>> index e349d86..d91c1fd 100644
>>>>> --- a/drivers/net/hamradio/baycom_ser_hdx.c
>>>>> +++ b/drivers/net/hamradio/baycom_ser_hdx.c
>>>>> @@ -490,7 +490,7 @@ static int ser12_open(struct net_device *dev)
>>>>>        outb(0, FCR(dev->base_addr));  /* disable FIFOs */
>>>>>        outb(0x0d, MCR(dev->base_addr));
>>>>>        outb(0, IER(dev->base_addr));
>>>>> -    if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED |
>>>>> IRQF_SHARED,
>>>>> +    if (request_irq(dev->irq, ser12_interrupt, IRQF_TRIGGER_NONE |
>>>>> IRQF_SHARED,
>>>>>                "baycom_ser12", dev)) {
>>>>>            release_region(dev->base_addr, SER12_EXTENT);
>>>>>            return -EBUSY;
>>>>> diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
>>>>> index bc1d521..4bc6ee8 100644
>>>>> --- a/drivers/net/hamradio/scc.c
>>>>> +++ b/drivers/net/hamradio/scc.c
>>>>> @@ -1734,7 +1734,7 @@ static int scc_net_ioctl(struct net_device *dev,
>>>>> struct ifreq *ifr, int cmd)
>>>>>                if (!Ivec[hwcfg.irq].used && hwcfg.irq)
>>>>>                {
>>>>>                    if (request_irq(hwcfg.irq, scc_isr,
>>>>> -                        IRQF_DISABLED, "AX.25 SCC",
>>>>> +                        0, "AX.25 SCC",
>>>>>                            (void *)(long) hwcfg.irq))
>>>>>                        printk(KERN_WARNING "z8530drv:
>>>>> warning, cannot get IRQ %d\n", hwcfg.irq);
>>>>>                    else
>>>>> diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
>>>>> index 0721e72..f947887 100644
>>>>> --- a/drivers/net/hamradio/yam.c
>>>>> +++ b/drivers/net/hamradio/yam.c
>>>>> @@ -888,7 +888,7 @@ static int yam_open(struct net_device *dev)
>>>>>            goto out_release_base;
>>>>>        }
>>>>>        outb(0, IER(dev->base_addr));
>>>>> -    if (request_irq(dev->irq, yam_interrupt, IRQF_DISABLED |
>>>>> IRQF_SHARED,
>>>>> dev->name, dev)) {
>>>>> +    if (request_irq(dev->irq, yam_interrupt, IRQF_TRIGGER_NONE |
>>>>> IRQF_SHARED, dev->name, dev)) {
>>>>>            printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);
>>>>>            ret = -EBUSY;
>>>>>            goto out_release_base;
>>>>> -- 
>>>>> 1.7.9.5
>>>>>
>>>>> -- 
>>>>> To unsubscribe from this list: send the line "unsubscribe
>>>>> kernel-janitors"
>>>>> in
>>>>> the body of a message to majordomo@vger.kernel.org
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>>
>>> Yes i was suggested for using IRQF_TRIGGER_NONE too so used this.
>>> Please tell
>>> me if this makes any difference or issue?
>> I think that the suggestion was to use IRQF_TRIGGER_NONE only when
>> removing IRQF_DISABLED would leave nothing left.
>>
>> - IRQF_DISABLED | e
>> + e
>>
>> otherwise,
>>
>> - IRQF_DISABLED
>> + 0
>>
>> julia
> Sorry to prompt back but i'm confused. if removing IRQF_DISABLED leaves
> nothing then should i use 0 or IRQF_TRIGGER_NONE?
> I'm convinced with
> 
>     - IRQF_DISABLED | e
>     + e
> 
> Regards
> 
> Kumar Gaurav
> 
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-hams" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2013-08-10 18:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-10 16:38 [PATCH] drivers:net:hamradio: Removing Depricated IRQF_DISABLED Kumar Gaurav
2013-08-10 16:47 ` Julia Lawall
2013-08-10 17:02   ` Kumar Gaurav
2013-08-10 17:24     ` Julia Lawall
2013-08-10 18:15       ` Kumar Gaurav
2013-08-10 18:42         ` Julia Lawall
2013-08-10 18:49         ` walter harms [this message]
2013-08-10 18:53           ` Kumar Gaurav

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=52068B3C.4030707@bfs.de \
    --to=wharms@bfs.de \
    --cc=jpr@f6fbb.org \
    --cc=jreuter@yaina.de \
    --cc=julia.lawall@lip6.fr \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=kumargauravgupta3@gmail.com \
    --cc=linux-hams@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=t.sailer@alumni.ethz.ch \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox