From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Lunn Subject: Re: [PATCH v4 2/6] staging: fsl-dpaa2/ethsw: Add Freescale DPAA2 Ethernet Switch driver Date: Mon, 12 Mar 2018 15:29:40 +0100 Message-ID: <20180312142940.GA21068@lunn.ch> References: <20180312084955.12686-1-razvan.stefanescu@nxp.com> <20180312084955.12686-3-razvan.stefanescu@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: devel@driverdev.osuosl.org, arnd@arndb.de, gregkh@linuxfoundation.org, ioana.ciornei@nxp.com, alexandru.marginean@nxp.com, agraf@suse.de, linux-kernel@vger.kernel.org, stuyoder@gmail.com, netdev@vger.kernel.org, laurentiu.tudor@nxp.com To: Razvan Stefanescu Return-path: Content-Disposition: inline In-Reply-To: <20180312084955.12686-3-razvan.stefanescu@nxp.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" List-Id: netdev.vger.kernel.org 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