diff mbox

drivers/pcmcia: NO_IRQ removal for electra_cf.c

Message ID 1473501690-11987-1-git-send-email-mpe@ellerman.id.au (mailing list archive)
State Accepted
Headers show

Commit Message

Michael Ellerman Sept. 10, 2016, 10:01 a.m. UTC
We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
from electra_cf.c which is a powerpc-only driver.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 drivers/pcmcia/electra_cf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Michael Ellerman March 14, 2017, 10:51 a.m. UTC | #1
Michael Ellerman <mpe@ellerman.id.au> writes:

> We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
> from electra_cf.c which is a powerpc-only driver.
>
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> ---
>  drivers/pcmcia/electra_cf.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Ping anyone?

Or should I merge this via the powerpc tree?

cheers

> diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c
> index 4d7bc3f4124a..c6fe2a4a7a6a 100644
> --- a/drivers/pcmcia/electra_cf.c
> +++ b/drivers/pcmcia/electra_cf.c
> @@ -207,7 +207,7 @@ static int electra_cf_probe(struct platform_device *ofdev)
>  		return -ENOMEM;
>  
>  	setup_timer(&cf->timer, electra_cf_timer, (unsigned long)cf);
> -	cf->irq = NO_IRQ;
> +	cf->irq = 0;
>  
>  	cf->ofdev = ofdev;
>  	cf->mem_phys = mem.start;
> @@ -313,7 +313,7 @@ fail3:
>  fail2:
>  	release_mem_region(cf->mem_phys, cf->mem_size);
>  fail1:
> -	if (cf->irq != NO_IRQ)
> +	if (cf->irq)
>  		free_irq(cf->irq, cf);
>  
>  	if (cf->io_virt)
> -- 
> 2.7.4
Arnd Bergmann March 14, 2017, 12:47 p.m. UTC | #2
On Tue, Mar 14, 2017 at 11:51 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
> Michael Ellerman <mpe@ellerman.id.au> writes:
>
>> We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
>> from electra_cf.c which is a powerpc-only driver.
>>
>> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
>> ---
>>  drivers/pcmcia/electra_cf.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> Ping anyone?
>
> Or should I merge this via the powerpc tree?

That's what I would recommend for a powerpc specific pcmcia driver, yes.

Looking at the bigger picture of powerpc drivers using NO_IRQ, I also
see these others:

drivers/ata/pata_mpc52xx.c:     if (ata_irq == NO_IRQ) {
drivers/ata/sata_dwc_460ex.c:#ifndef NO_IRQ
drivers/ata/sata_dwc_460ex.c:#define NO_IRQ             0
drivers/ata/sata_dwc_460ex.c:   if (hsdev->dma->irq == NO_IRQ) {
drivers/ata/sata_dwc_460ex.c:   if (irq == NO_IRQ) {
drivers/iommu/fsl_pamu.c:       if (irq == NO_IRQ) {
drivers/iommu/fsl_pamu.c:       if (irq != NO_IRQ)
drivers/media/platform/fsl-viu.c:       if (viu_irq == NO_IRQ) {
drivers/mtd/nand/mpc5121_nfc.c: if (prv->irq == NO_IRQ) {
drivers/pcmcia/electra_cf.c:    cf->irq = NO_IRQ;
drivers/pcmcia/electra_cf.c:    if (cf->irq != NO_IRQ)
drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
no interrupt is pending. */
drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
no interrupt is pending. */
drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_low == NO_IRQ) {
drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_high != NO_IRQ &&
drivers/spi/spi-mpc52xx.c:      if (status && (irq != NO_IRQ))
drivers/tty/ehv_bytechan.c:     if (stdout_irq == NO_IRQ) {
drivers/tty/ehv_bytechan.c:     if ((bc->rx_irq == NO_IRQ) ||
(bc->tx_irq == NO_IRQ)) {
drivers/tty/serial/cpm_uart/cpm_uart_core.c:    if (pinfo->port.irq == NO_IRQ) {
drivers/uio/uio_fsl_elbc_gpcm.c:        if (irq != NO_IRQ) {
drivers/uio/uio_fsl_elbc_gpcm.c:                        irq = NO_IRQ;
drivers/uio/uio_fsl_elbc_gpcm.c:                 irq != NO_IRQ ? irq : -1);
drivers/usb/host/ehci-grlib.c:  if (irq == NO_IRQ) {
drivers/usb/host/ehci-ppc-of.c: if (irq == NO_IRQ) {
drivers/usb/host/fhci-hcd.c:    if (usb_irq == NO_IRQ) {
drivers/usb/host/ohci-ppc-of.c: if (irq == NO_IRQ) {
drivers/usb/host/uhci-grlib.c:  if (irq == NO_IRQ) {
drivers/video/fbdev/mb862xx/mb862xxfbdrv.c:     if (par->irq == NO_IRQ) {
drivers/virt/fsl_hypervisor.c:          if (!handle || (irq == NO_IRQ)) {
include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
include/soc/fsl/qe/qe_ic.h:     if (cascade_irq == NO_IRQ)
include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)

Did you have other pending patches for those?

      Arnd
Michael Ellerman March 15, 2017, 5:35 a.m. UTC | #3
Arnd Bergmann <arnd@arndb.de> writes:

> On Tue, Mar 14, 2017 at 11:51 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
>> Michael Ellerman <mpe@ellerman.id.au> writes:
>>
>>> We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
>>> from electra_cf.c which is a powerpc-only driver.
>>>
>>> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
>>> ---
>>>  drivers/pcmcia/electra_cf.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> Ping anyone?
>>
>> Or should I merge this via the powerpc tree?
>
> That's what I would recommend for a powerpc specific pcmcia driver, yes.

Suits me.

> Looking at the bigger picture of powerpc drivers using NO_IRQ, I also
> see these others:
>
> drivers/ata/pata_mpc52xx.c:     if (ata_irq == NO_IRQ) {
> drivers/ata/sata_dwc_460ex.c:#ifndef NO_IRQ
> drivers/ata/sata_dwc_460ex.c:#define NO_IRQ             0
> drivers/ata/sata_dwc_460ex.c:   if (hsdev->dma->irq == NO_IRQ) {
> drivers/ata/sata_dwc_460ex.c:   if (irq == NO_IRQ) {
> drivers/iommu/fsl_pamu.c:       if (irq == NO_IRQ) {
> drivers/iommu/fsl_pamu.c:       if (irq != NO_IRQ)
> drivers/media/platform/fsl-viu.c:       if (viu_irq == NO_IRQ) {
> drivers/mtd/nand/mpc5121_nfc.c: if (prv->irq == NO_IRQ) {
> drivers/pcmcia/electra_cf.c:    cf->irq = NO_IRQ;
> drivers/pcmcia/electra_cf.c:    if (cf->irq != NO_IRQ)
> drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
> no interrupt is pending. */
> drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
> drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
> no interrupt is pending. */
> drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
> drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_low == NO_IRQ) {
> drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_high != NO_IRQ &&
> drivers/spi/spi-mpc52xx.c:      if (status && (irq != NO_IRQ))
> drivers/tty/ehv_bytechan.c:     if (stdout_irq == NO_IRQ) {
> drivers/tty/ehv_bytechan.c:     if ((bc->rx_irq == NO_IRQ) ||
> (bc->tx_irq == NO_IRQ)) {
> drivers/tty/serial/cpm_uart/cpm_uart_core.c:    if (pinfo->port.irq == NO_IRQ) {
> drivers/uio/uio_fsl_elbc_gpcm.c:        if (irq != NO_IRQ) {
> drivers/uio/uio_fsl_elbc_gpcm.c:                        irq = NO_IRQ;
> drivers/uio/uio_fsl_elbc_gpcm.c:                 irq != NO_IRQ ? irq : -1);
> drivers/usb/host/ehci-grlib.c:  if (irq == NO_IRQ) {
> drivers/usb/host/ehci-ppc-of.c: if (irq == NO_IRQ) {
> drivers/usb/host/fhci-hcd.c:    if (usb_irq == NO_IRQ) {
> drivers/usb/host/ohci-ppc-of.c: if (irq == NO_IRQ) {
> drivers/usb/host/uhci-grlib.c:  if (irq == NO_IRQ) {
> drivers/video/fbdev/mb862xx/mb862xxfbdrv.c:     if (par->irq == NO_IRQ) {
> drivers/virt/fsl_hypervisor.c:          if (!handle || (irq == NO_IRQ)) {
> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq == NO_IRQ)
> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
>
> Did you have other pending patches for those?

No. I stayed away from anything FSL related as I was under the
impression some of them were being ported to arch/arm, which uses -1 for
NO_IRQ IIUIC.

eg. all of include/soc/fsl and drivers/soc/fsl was moved from
arch/powerpc in commit 7aa1aa6ecec2, which said:

    QE: Move QE from arch/powerpc to drivers/soc
    
    ls1 has qe and ls1 has arm cpu.
    move qe from arch/powerpc to drivers/soc/fsl
    to adapt to powerpc and arm

But looking at the Kconfigs it looks like they're still only selectable
on PPC. So that's a bit annoying.

I'll do patches for everything above that's not drivers/soc or
include/soc and hopefully we can hear from someone at NXP on the plans
for getting the soc parts enabled on arm.

cheers
Arnd Bergmann March 15, 2017, 12:07 p.m. UTC | #4
On Wed, Mar 15, 2017 at 6:35 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
>> On Tue, Mar 14, 2017 at 11:51 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
>>> Michael Ellerman <mpe@ellerman.id.au> writes:
>>>
>>
>> drivers/ata/pata_mpc52xx.c:     if (ata_irq == NO_IRQ) {
>> drivers/ata/sata_dwc_460ex.c:#ifndef NO_IRQ
>> drivers/ata/sata_dwc_460ex.c:#define NO_IRQ             0
>> drivers/ata/sata_dwc_460ex.c:   if (hsdev->dma->irq == NO_IRQ) {
>> drivers/ata/sata_dwc_460ex.c:   if (irq == NO_IRQ) {
>> drivers/iommu/fsl_pamu.c:       if (irq == NO_IRQ) {
>> drivers/iommu/fsl_pamu.c:       if (irq != NO_IRQ)
>> drivers/media/platform/fsl-viu.c:       if (viu_irq == NO_IRQ) {
>> drivers/mtd/nand/mpc5121_nfc.c: if (prv->irq == NO_IRQ) {
>> drivers/pcmcia/electra_cf.c:    cf->irq = NO_IRQ;
>> drivers/pcmcia/electra_cf.c:    if (cf->irq != NO_IRQ)
>> drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
>> no interrupt is pending. */
>> drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
>> drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
>> no interrupt is pending. */
>> drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
>> drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_low == NO_IRQ) {
>> drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_high != NO_IRQ &&
>> drivers/spi/spi-mpc52xx.c:      if (status && (irq != NO_IRQ))
>> drivers/tty/ehv_bytechan.c:     if (stdout_irq == NO_IRQ) {
>> drivers/tty/ehv_bytechan.c:     if ((bc->rx_irq == NO_IRQ) ||
>> (bc->tx_irq == NO_IRQ)) {
>> drivers/tty/serial/cpm_uart/cpm_uart_core.c:    if (pinfo->port.irq == NO_IRQ) {
>> drivers/uio/uio_fsl_elbc_gpcm.c:        if (irq != NO_IRQ) {
>> drivers/uio/uio_fsl_elbc_gpcm.c:                        irq = NO_IRQ;
>> drivers/uio/uio_fsl_elbc_gpcm.c:                 irq != NO_IRQ ? irq : -1);
>> drivers/usb/host/ehci-grlib.c:  if (irq == NO_IRQ) {
>> drivers/usb/host/ehci-ppc-of.c: if (irq == NO_IRQ) {
>> drivers/usb/host/fhci-hcd.c:    if (usb_irq == NO_IRQ) {
>> drivers/usb/host/ohci-ppc-of.c: if (irq == NO_IRQ) {
>> drivers/usb/host/uhci-grlib.c:  if (irq == NO_IRQ) {
>> drivers/video/fbdev/mb862xx/mb862xxfbdrv.c:     if (par->irq == NO_IRQ) {
>> drivers/virt/fsl_hypervisor.c:          if (!handle || (irq == NO_IRQ)) {
>> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
>> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
>> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
>> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
>> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq == NO_IRQ)
>> include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
>>
>> Did you have other pending patches for those?
>
> No. I stayed away from anything FSL related as I was under the
> impression some of them were being ported to arch/arm, which uses -1 for
> NO_IRQ IIUIC.
>
> eg. all of include/soc/fsl and drivers/soc/fsl was moved from
> arch/powerpc in commit 7aa1aa6ecec2, which said:
>
>     QE: Move QE from arch/powerpc to drivers/soc
>
>     ls1 has qe and ls1 has arm cpu.
>     move qe from arch/powerpc to drivers/soc/fsl
>     to adapt to powerpc and arm
>
> But looking at the Kconfigs it looks like they're still only selectable
> on PPC. So that's a bit annoying.
>
> I'll do patches for everything above that's not drivers/soc or
> include/soc and hopefully we can hear from someone at NXP on the plans
> for getting the soc parts enabled on arm.

I think the removal of the NO_IRQ references is a requirement for
getting the drivers working properly on ARM, as the OF platform
code will use '0' for invalid IRQs.

    Arnd
Crystal Wood March 15, 2017, 5:50 p.m. UTC | #5
On Wed, 2017-03-15 at 16:35 +1100, Michael Ellerman wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
> 
> > 
> > On Tue, Mar 14, 2017 at 11:51 AM, Michael Ellerman <mpe@ellerman.id.au>
> > wrote:
> > > 
> > > Michael Ellerman <mpe@ellerman.id.au> writes:
> > > 
> > > > 
> > > > We'd like to eventually remove NO_IRQ on powerpc, so remove usages of
> > > > it
> > > > from electra_cf.c which is a powerpc-only driver.
> > > > 
> > > > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> > > > ---
> > > >  drivers/pcmcia/electra_cf.c | 4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > Ping anyone?
> > > 
> > > Or should I merge this via the powerpc tree?
> > That's what I would recommend for a powerpc specific pcmcia driver, yes.
> Suits me.
> 
> > 
> > Looking at the bigger picture of powerpc drivers using NO_IRQ, I also
> > see these others:
> > 
> > drivers/ata/pata_mpc52xx.c:     if (ata_irq == NO_IRQ) {
> > drivers/ata/sata_dwc_460ex.c:#ifndef NO_IRQ
> > drivers/ata/sata_dwc_460ex.c:#define NO_IRQ             0
> > drivers/ata/sata_dwc_460ex.c:   if (hsdev->dma->irq == NO_IRQ) {
> > drivers/ata/sata_dwc_460ex.c:   if (irq == NO_IRQ) {
> > drivers/iommu/fsl_pamu.c:       if (irq == NO_IRQ) {
> > drivers/iommu/fsl_pamu.c:       if (irq != NO_IRQ)
> > drivers/media/platform/fsl-viu.c:       if (viu_irq == NO_IRQ) {
> > drivers/mtd/nand/mpc5121_nfc.c: if (prv->irq == NO_IRQ) {
> > drivers/pcmcia/electra_cf.c:    cf->irq = NO_IRQ;
> > drivers/pcmcia/electra_cf.c:    if (cf->irq != NO_IRQ)
> > drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
> > no interrupt is pending. */
> > drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
> > drivers/soc/fsl/qe/qe_ic.c:/* Return an interrupt vector or NO_IRQ if
> > no interrupt is pending. */
> > drivers/soc/fsl/qe/qe_ic.c:             return NO_IRQ;
> > drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_low == NO_IRQ) {
> > drivers/soc/fsl/qe/qe_ic.c:     if (qe_ic->virq_high != NO_IRQ &&
> > drivers/spi/spi-mpc52xx.c:      if (status && (irq != NO_IRQ))
> > drivers/tty/ehv_bytechan.c:     if (stdout_irq == NO_IRQ) {
> > drivers/tty/ehv_bytechan.c:     if ((bc->rx_irq == NO_IRQ) ||
> > (bc->tx_irq == NO_IRQ)) {
> > drivers/tty/serial/cpm_uart/cpm_uart_core.c:    if (pinfo->port.irq ==
> > NO_IRQ) {
> > drivers/uio/uio_fsl_elbc_gpcm.c:        if (irq != NO_IRQ) {
> > drivers/uio/uio_fsl_elbc_gpcm.c:                        irq = NO_IRQ;
> > drivers/uio/uio_fsl_elbc_gpcm.c:                 irq != NO_IRQ ? irq :
> > -1);
> > drivers/usb/host/ehci-grlib.c:  if (irq == NO_IRQ) {
> > drivers/usb/host/ehci-ppc-of.c: if (irq == NO_IRQ) {
> > drivers/usb/host/fhci-hcd.c:    if (usb_irq == NO_IRQ) {
> > drivers/usb/host/ohci-ppc-of.c: if (irq == NO_IRQ) {
> > drivers/usb/host/uhci-grlib.c:  if (irq == NO_IRQ) {
> > drivers/video/fbdev/mb862xx/mb862xxfbdrv.c:     if (par->irq == NO_IRQ) {
> > drivers/virt/fsl_hypervisor.c:          if (!handle || (irq == NO_IRQ)) {
> > include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> > include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> > include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> > include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> > include/soc/fsl/qe/qe_ic.h:     if (cascade_irq == NO_IRQ)
> > include/soc/fsl/qe/qe_ic.h:     if (cascade_irq != NO_IRQ)
> > 
> > Did you have other pending patches for those?
> No. I stayed away from anything FSL related as I was under the
> impression some of them were being ported to arch/arm, which uses -1 for
> NO_IRQ IIUIC.
> 
> eg. all of include/soc/fsl and drivers/soc/fsl was moved from
> arch/powerpc in commit 7aa1aa6ecec2, which said:
> 
>     QE: Move QE from arch/powerpc to drivers/soc
>     
>     ls1 has qe and ls1 has arm cpu.
>     move qe from arch/powerpc to drivers/soc/fsl
>     to adapt to powerpc and arm
> 
> But looking at the Kconfigs it looks like they're still only selectable
> on PPC. So that's a bit annoying.
> 
> I'll do patches for everything above that's not drivers/soc or
> include/soc and hopefully we can hear from someone at NXP on the plans
> for getting the soc parts enabled on arm.

qe_ic is handled by https://lkml.org/lkml/2017/3/13/1234

-Scott
Michael Ellerman March 16, 2017, 9:53 a.m. UTC | #6
Scott Wood <oss@buserror.net> writes:
> On Wed, 2017-03-15 at 16:35 +1100, Michael Ellerman wrote:
>> I'll do patches for everything above that's not drivers/soc or
>> include/soc and hopefully we can hear from someone at NXP on the plans
>> for getting the soc parts enabled on arm.
>
> qe_ic is handled by https://lkml.org/lkml/2017/3/13/1234

Thanks.

cheers
Michael Ellerman March 16, 2017, 9:55 a.m. UTC | #7
Arnd Bergmann <arnd@arndb.de> writes:
> On Wed, Mar 15, 2017 at 6:35 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
>> I'll do patches for everything above that's not drivers/soc or
>> include/soc and hopefully we can hear from someone at NXP on the plans
>> for getting the soc parts enabled on arm.
>
> I think the removal of the NO_IRQ references is a requirement for
> getting the drivers working properly on ARM, as the OF platform
> code will use '0' for invalid IRQs.

OK. So the #define NO_IRQ (-1) in arch/arm/include/asm/irq.h is a red
herring and should be ignored for anything modern?

cheers
Arnd Bergmann March 16, 2017, 10:05 a.m. UTC | #8
On Thu, Mar 16, 2017 at 10:55 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
>> On Wed, Mar 15, 2017 at 6:35 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
>>> I'll do patches for everything above that's not drivers/soc or
>>> include/soc and hopefully we can hear from someone at NXP on the plans
>>> for getting the soc parts enabled on arm.
>>
>> I think the removal of the NO_IRQ references is a requirement for
>> getting the drivers working properly on ARM, as the OF platform
>> code will use '0' for invalid IRQs.
>
> OK. So the #define NO_IRQ (-1) in arch/arm/include/asm/irq.h is a red
> herring and should be ignored for anything modern?

Correct. There are a couple of older (non-DT) platforms that still rely on it,
and I also have patches for those, which I intend to revisit at some point.

     Arnd
Michael Ellerman March 21, 2017, 11:36 a.m. UTC | #9
On Sat, 2016-09-10 at 10:01:30 UTC, Michael Ellerman wrote:
> We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
> from electra_cf.c which is a powerpc-only driver.
> 
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

Applied to powerpc next.

https://git.kernel.org/powerpc/c/6c8343e82bec46ece4fe773304a84c

cheers
diff mbox

Patch

diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c
index 4d7bc3f4124a..c6fe2a4a7a6a 100644
--- a/drivers/pcmcia/electra_cf.c
+++ b/drivers/pcmcia/electra_cf.c
@@ -207,7 +207,7 @@  static int electra_cf_probe(struct platform_device *ofdev)
 		return -ENOMEM;
 
 	setup_timer(&cf->timer, electra_cf_timer, (unsigned long)cf);
-	cf->irq = NO_IRQ;
+	cf->irq = 0;
 
 	cf->ofdev = ofdev;
 	cf->mem_phys = mem.start;
@@ -313,7 +313,7 @@  fail3:
 fail2:
 	release_mem_region(cf->mem_phys, cf->mem_size);
 fail1:
-	if (cf->irq != NO_IRQ)
+	if (cf->irq)
 		free_irq(cf->irq, cf);
 
 	if (cf->io_virt)