From patchwork Fri Apr 12 18:05:43 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 2437361 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 9F6653FD1A for ; Fri, 12 Apr 2013 18:06:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756379Ab3DLSGT (ORCPT ); Fri, 12 Apr 2013 14:06:19 -0400 Received: from bhuna.collabora.co.uk ([93.93.135.160]:43028 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756181Ab3DLSGS (ORCPT ); Fri, 12 Apr 2013 14:06:18 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: javier) with ESMTPSA id 1574916985E8 From: Javier Martinez Canillas To: Steve Glendinning Cc: David Miller , Thomas Gleixner , Ingo Molnar , Rob Herring , Stephen Warren , Grant Likely , Jon Hunter , devicetree-discuss@lists.ozlabs.org, linux-omap , netdev@vger.kernel.org, Javier Martinez Canillas Subject: [PATCH 2/2] net: smsc911x: get IRQ flags from chip if not present in IORESOURCE_IRQ Date: Fri, 12 Apr 2013 20:05:43 +0200 Message-Id: <1365789943-3812-3-git-send-email-javier.martinez@collabora.co.uk> X-Mailer: git-send-email 1.7.7.6 In-Reply-To: <1365789943-3812-1-git-send-email-javier.martinez@collabora.co.uk> References: <1365789943-3812-1-git-send-email-javier.martinez@collabora.co.uk> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org When defining an IRQ trigger type and level flags from a Device Tree a call to of_irq_to_resource() is made to parse the "interrupts" property cells and return a struct resource. But the flags are not saved on this struct resource which means that drivers that try to obtain this information from an IORESOURCE_IRQ will not be able to get it. So, is more safe to fallback and query this information from the irq chip directly if it was not found on the struct resource. Signed-off-by: Javier Martinez Canillas --- drivers/net/ethernet/smsc/smsc911x.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c index da5cc9a..3d535b3 100644 --- a/drivers/net/ethernet/smsc/smsc911x.c +++ b/drivers/net/ethernet/smsc/smsc911x.c @@ -2390,6 +2390,10 @@ static int smsc911x_drv_probe(struct platform_device *pdev) pdata = netdev_priv(dev); dev->irq = irq_res->start; irq_flags = irq_res->flags & IRQF_TRIGGER_MASK; + + if (!irq_flags) + irq_flags = irq_get_trigger_type(dev->irq); + pdata->ioaddr = ioremap_nocache(res->start, res_size); pdata->dev = dev;