From owner-svn-src-head@freebsd.org Fri Jun 3 14:49:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 177C1B68F11; Fri, 3 Jun 2016 14:49:57 +0000 (UTC) (envelope-from onwahe@gmail.com) Received: from mail-it0-f46.google.com (mail-it0-f46.google.com [209.85.214.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E2C531F10; Fri, 3 Jun 2016 14:49:56 +0000 (UTC) (envelope-from onwahe@gmail.com) Received: by mail-it0-f46.google.com with SMTP id i127so82071770ita.1; Fri, 03 Jun 2016 07:49:56 -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:in-reply-to:references:from:date :message-id:subject:to; bh=g2tepqCSB1LmYSFVjGT29U7BvMzcvqHL0eBUbVOm8Sc=; b=OWMlfk9s+Tdz9kIM+mTFvdSS7quycbNTFrEBV5dhgF1MxgA1XRao6MQq4dGKE7Yb26 PGoAnBeCR5jwWDmclJ6Wb7FyGv1weZhkSkwGUAcSa9dvHiN3E3GSnVY0tnJEeyOgySt0 6KfLkKdSrLsPmRae3t11yUm7pPdsnWQVuhuifTIgU7/aZKjD0jUdLwq4/7OWZ/QgoTnB qWl9AbPBzqo6dEqbgOga49bG19Wmyzoq+Gjb2zeD8D5hhN+LReYx/eaSUW3t2sOx6hRL Ni3f7o4amHHN479+3y0PH4vJPI/qpLPeBh+HZnhgRmW6b1wCtFu5JtkmrTkaZTCJrjjF LQ/A== X-Gm-Message-State: ALyK8tIw1fIMmeuOHCjXI+wcwI2JNDY3pEX7cHP66Js1hsPUFReI4QlCZYOePvf64O9Y/w== X-Received: by 10.36.10.65 with SMTP id 62mr9221975itw.89.1464965390438; Fri, 03 Jun 2016 07:49:50 -0700 (PDT) Received: from mail-io0-f169.google.com (mail-io0-f169.google.com. [209.85.223.169]) by smtp.gmail.com with ESMTPSA id f39sm2897968ioj.21.2016.06.03.07.49.50 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 03 Jun 2016 07:49:50 -0700 (PDT) Received: by mail-io0-f169.google.com with SMTP id k19so63238164ioi.3; Fri, 03 Jun 2016 07:49:50 -0700 (PDT) X-Received: by 10.107.162.131 with SMTP id l125mr5618738ioe.84.1464965389957; Fri, 03 Jun 2016 07:49:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.60.67 with HTTP; Fri, 3 Jun 2016 07:49:49 -0700 (PDT) In-Reply-To: <201606031105.u53B5tVi073576@repo.freebsd.org> References: <201606031105.u53B5tVi073576@repo.freebsd.org> From: Svatopluk Kraus Date: Fri, 3 Jun 2016 16:49:49 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r301266 - head/sys/arm/freescale/imx To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jun 2016 14:49:57 -0000 I forgot to add to commit message: Reported by: Ulrich Grey Tested by: Ulrich Grey On Fri, Jun 3, 2016 at 1:05 PM, Svatopluk Kraus wrote: > Author: skra > Date: Fri Jun 3 11:05:55 2016 > New Revision: 301266 > URL: https://svnweb.freebsd.org/changeset/base/301266 > > Log: > Postpone allocation of IRQ resource to the time when interrupt > controller devices are attached. This has already been done for > bus_setup_intr(). > > There was no doubt that if someone wants to setup an interrupt, > corresponding interrupt controller device must already be attached. > However, the same must be valid for allocation of an interrupt resource > unless the allocation is done blindly, without any information that > such interrupt even exists. While it was done this blind way before, > it won't be possible after next INTRNG change. > > Modified: > head/sys/arm/freescale/imx/imx6_anatop.c > > Modified: head/sys/arm/freescale/imx/imx6_anatop.c > ============================================================================== > --- head/sys/arm/freescale/imx/imx6_anatop.c Fri Jun 3 10:28:06 2016 (r301265) > +++ head/sys/arm/freescale/imx/imx6_anatop.c Fri Jun 3 11:05:55 2016 (r301266) > @@ -78,7 +78,6 @@ __FBSDID("$FreeBSD$"); > > static struct resource_spec imx6_anatop_spec[] = { > { SYS_RES_MEMORY, 0, RF_ACTIVE }, > - { SYS_RES_IRQ, 0, RF_ACTIVE }, > { -1, 0 } > }; > #define MEMRES 0 > @@ -637,11 +636,20 @@ initialize_tempmon(struct imx6_anatop_so > static void > intr_setup(void *arg) > { > + int rid; > struct imx6_anatop_softc *sc; > > sc = arg; > - bus_setup_intr(sc->dev, sc->res[IRQRES], INTR_TYPE_MISC | INTR_MPSAFE, > - tempmon_intr, NULL, sc, &sc->temp_intrhand); > + rid = 0; > + sc->res[IRQRES] = bus_alloc_resource_any(sc->dev, SYS_RES_IRQ, &rid, > + RF_ACTIVE); > + if (sc->res[IRQRES] != NULL) { > + bus_setup_intr(sc->dev, sc->res[IRQRES], > + INTR_TYPE_MISC | INTR_MPSAFE, tempmon_intr, NULL, sc, > + &sc->temp_intrhand); > + } else { > + device_printf(sc->dev, "Cannot allocate IRQ resource\n"); > + } > config_intrhook_disestablish(&sc->intr_setup_hook); > } > >