Subject: Re: [PATCH] drivers/pcmcia: NO_IRQ removal for electra_cf.c

From: Scott Wood <[email-masked]>
Date: Wed, 15 Mar 2017 12:50:45 -0500

On Wed, 2017-03-15 at 16:35 +1100, Michael Ellerman wrote:
> Arnd Bergmann <[email-masked]> writes:
> 
> > 
> > On Tue, Mar 14, 2017 at 11:51 AM, Michael Ellerman <[email-masked]>
> > wrote:
> > > 
> > > Michael Ellerman <[email-masked]> 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 <[email-masked]>
> > > > ---
> > > >  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