On Mon, Mar 12, 2018 at 03:49:51AM -0500, Razvan Stefanescu wrote: > +static irqreturn_t ethsw_irq0_handler(int irq_num, void *arg) > +{ > + return IRQ_WAKE_THREAD; > +} > + > +static int ethsw_setup_irqs(struct fsl_mc_device *sw_dev) > +{ > + struct device *dev = &sw_dev->dev; > + struct ethsw_core *ethsw = dev_get_drvdata(dev); > + u32 mask = DPSW_IRQ_EVENT_LINK_CHANGED; > + struct fsl_mc_device_irq *irq; > + int err; > + > + err = fsl_mc_allocate_irqs(sw_dev); > + if (err) { > + dev_err(dev, "MC irqs allocation failed\n"); > + return err; > + } > + > + if (WARN_ON(sw_dev->obj_desc.irq_count != DPSW_IRQ_NUM)) { > + err = -EINVAL; > + goto free_irq; > + } > + > + err = dpsw_set_irq_enable(ethsw->mc_io, 0, ethsw->dpsw_handle, > + DPSW_IRQ_INDEX_IF, 0); > + if (err) { > + dev_err(dev, "dpsw_set_irq_enable err %d\n", err); > + goto free_irq; > + } > + > + irq = sw_dev->irqs[DPSW_IRQ_INDEX_IF]; > + > + err = devm_request_threaded_irq(dev, irq->msi_desc->irq, > + ethsw_irq0_handler, > + ethsw_irq0_handler_thread, > + IRQF_NO_SUSPEND | IRQF_ONESHOT, > + dev_name(dev), dev); Hi Razvan You can pass NULL instead of ethsw_irq0_handler. Andrew _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel