From patchwork Tue Jun 10 12:31:32 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 31647 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-pa0-f70.google.com (mail-pa0-f70.google.com [209.85.220.70]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 164CC2054B for ; Tue, 10 Jun 2014 12:32:03 +0000 (UTC) Received: by mail-pa0-f70.google.com with SMTP id lf10sf2419209pab.9 for ; Tue, 10 Jun 2014 05:32:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:sender:precedence:list-id:x-original-sender :x-original-authentication-results:mailing-list:list-post:list-help :list-archive:list-unsubscribe; bh=nRkwYRAQQU8WT6Zg5mGAysi0EQ1ZwKHZP7wR11FHSR4=; b=N8YhUYs0u4a734kQ4LjLwVKs8tdgKNhDEYYfpf45fCa/zvZXExk6uk6tPS0e8qNSEJ 6GrOT/H7EvWpZCPAAfqvBHv7D6nSXtPQvWjxTGEWxtzQzOr0XKBlP1mP1WspM77Bo9QZ G2VZrmdSW+u7P0aZcXxAcS0dL/H8c18WkNf2Etw1RKzN9yTAbADeN6DEw/K0S4kIOlKN 3M5baR+RhUMfQ91z5OJMzGBgKaSdlZEuzn1H+cmyc4hr4QyXAqswOjfO2DVw//qJsWEx P7PpEgZffFZO8XTJA3tZ8nM+afPXh940d2ELURgqUwLCZOGLxBxQNVIzCsIe70ZXxymE bP3Q== X-Gm-Message-State: ALoCoQl5qs1st8G/8STYWbffitV7RR9DUBRCis+w9XkAESM969ipYi9agJGZfVPq588hnT0b9Dsb X-Received: by 10.66.189.234 with SMTP id gl10mr2557000pac.20.1402403522410; Tue, 10 Jun 2014 05:32:02 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.94.145 with SMTP id g17ls1977820qge.76.gmail; Tue, 10 Jun 2014 05:32:02 -0700 (PDT) X-Received: by 10.220.166.211 with SMTP id n19mr490234vcy.69.1402403522206; Tue, 10 Jun 2014 05:32:02 -0700 (PDT) Received: from mail-vc0-f182.google.com (mail-vc0-f182.google.com [209.85.220.182]) by mx.google.com with ESMTPS id g6si13037289vez.71.2014.06.10.05.32.02 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 10 Jun 2014 05:32:02 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.182 as permitted sender) client-ip=209.85.220.182; Received: by mail-vc0-f182.google.com with SMTP id il7so7794271vcb.13 for ; Tue, 10 Jun 2014 05:32:02 -0700 (PDT) X-Received: by 10.58.120.195 with SMTP id le3mr11668883veb.7.1402403522092; Tue, 10 Jun 2014 05:32:02 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.54.6 with SMTP id vs6csp221574vcb; Tue, 10 Jun 2014 05:32:01 -0700 (PDT) X-Received: by 10.68.178.194 with SMTP id da2mr10525935pbc.151.1402403521236; Tue, 10 Jun 2014 05:32:01 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ps5si34246742pbb.80.2014.06.10.05.32.00; Tue, 10 Jun 2014 05:32:00 -0700 (PDT) Received-SPF: none (google.com: linux-kernel-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752208AbaFJMbv (ORCPT + 27 others); Tue, 10 Jun 2014 08:31:51 -0400 Received: from mail-we0-f173.google.com ([74.125.82.173]:57305 "EHLO mail-we0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751022AbaFJMbs (ORCPT ); Tue, 10 Jun 2014 08:31:48 -0400 Received: by mail-we0-f173.google.com with SMTP id t60so573060wes.4 for ; Tue, 10 Jun 2014 05:31:47 -0700 (PDT) X-Received: by 10.180.81.134 with SMTP id a6mr40420255wiy.19.1402403507261; Tue, 10 Jun 2014 05:31:47 -0700 (PDT) Received: from localhost.localdomain ([85.235.11.236]) by mx.google.com with ESMTPSA id hs8sm20592984wib.10.2014.06.10.05.31.44 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Jun 2014 05:31:45 -0700 (PDT) From: Linus Walleij To: Samuel Ortiz , Lee Jones , linux-kernel@vger.kernel.org Cc: Linus Walleij Subject: [PATCH] mfd: tc3589x: translate onecell, not twocell Date: Tue, 10 Jun 2014 14:31:32 +0200 Message-Id: <1402403492-24960-1-git-send-email-linus.walleij@linaro.org> X-Mailer: git-send-email 1.9.3 Sender: linux-kernel-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: linus.walleij@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.182 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Something changed in the OF parser in the v3.16 merge window making it be strict about passing the number of IRQ cells correctly and disturbing the irqdomain xlate function guard to crash when subdevices try to obtain IRQs like this: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at /home/linus/linux-stericsson/kernel/irq/irqdomain.c:676 irq_domain_xlate_twocell+0x40/0x48() Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.15.0-07915-gf6d059821ce9-dirty #46 [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (dump_stack+0x9c/0xd4) [] (dump_stack) from [] (warn_slowpath_common+0x6c/0x88) [] (warn_slowpath_common) from [] (warn_slowpath_null+0x1c/0x24) [] (warn_slowpath_null) from [] (irq_domain_xlate_twocell+0x40/0x48) [] (irq_domain_xlate_twocell) from [] (irq_create_of_mapping+0x64/0x110) [] (irq_create_of_mapping) from [] (of_irq_get+0x38/0x48) [] (of_irq_get) from [] (tc3589x_gpio_probe+0x38/0x1e4) [] (tc3589x_gpio_probe) from [] (platform_drv_probe+0x18/0x48) [] (platform_drv_probe) from [] (driver_probe_device+0x118/0x24c) [] (driver_probe_device) from [] (bus_for_each_drv+0x58/0x8c) [] (bus_for_each_drv) from [] (device_attach+0x74/0x88) [] (device_attach) from [] (bus_probe_device+0x84/0xa8) [] (bus_probe_device) from [] (device_add+0x440/0x520) [] (device_add) from [] (platform_device_add+0xb4/0x218) [] (platform_device_add) from [] (mfd_add_device+0x220/0x31c) [] (mfd_add_device) from [] (mfd_add_devices+0xa4/0x100) [] (mfd_add_devices) from [] (tc3589x_probe+0x334/0x3c0) [] (tc3589x_probe) from [] (driver_probe_device+0x118/0x24c) The TC3589x device trees specify the MFD core device as having one interrupt cell (cannot specify flags) so the twocell translation function is clearly wrong, changing it to onecell, as it should be, fixes the regression. Cc: Lee Jones Signed-off-by: Linus Walleij --- drivers/mfd/tc3589x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/tc3589x.c b/drivers/mfd/tc3589x.c index bd83accc0f6d..0072e668c208 100644 --- a/drivers/mfd/tc3589x.c +++ b/drivers/mfd/tc3589x.c @@ -236,7 +236,7 @@ static void tc3589x_irq_unmap(struct irq_domain *d, unsigned int virq) static struct irq_domain_ops tc3589x_irq_ops = { .map = tc3589x_irq_map, .unmap = tc3589x_irq_unmap, - .xlate = irq_domain_xlate_twocell, + .xlate = irq_domain_xlate_onecell, }; static int tc3589x_irq_init(struct tc3589x *tc3589x, struct device_node *np)