From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AD340D39014 for ; Wed, 14 Jan 2026 19:50:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=u+cuS5BxFRJzJfDoWpU03DdhVWSEVNlW7E3VrJx1Vkc=; b=0U7NQfjWvF+2Rl Jvt02pNWFAQVTEgv3BLOWtF3hSI+p+/ixMfjd/kPwlP2H1BQfs4qbvAd9yyPMOhVwExyJLe8CBrjE uJJkLSwtia+IoRkJzrqQmv6/87YWe5W8rov0TWHSPt03zTfb5u/sbVegUxnk46oAS2ipSsbSysR0A R53VJv0cPz2a2emZ0JJR3eFnLrXfgndU2hGDZjjuUzikKEo5NWSvOtmU990F1JB4WpdstGJUznuVa lQEUltCmjYBVLw1ekfPs1XIZhHkAfdh1GCaH6opiwOf31sn5Lk2e+XrvXMlhXXOBC4yxnGFpzag7x xDvZDChJ1nr9fxOJLTBA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vg6t4-0000000AXVD-3p4c; Wed, 14 Jan 2026 19:50:38 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vg6t3-0000000AXUz-27rg for linux-riscv@lists.infradead.org; Wed, 14 Jan 2026 19:50:37 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id A223B6001D; Wed, 14 Jan 2026 19:50:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1412C4CEF7; Wed, 14 Jan 2026 19:50:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768420236; bh=lftn52dXRiMpGb5hR6erO6gE0eQ07MFa1vm6azGi5kY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=EL3AfJnAnp7T7RtNgC81vtuBB/ltzMLzZWjzsfUhgbXAbKJH+nCDhF/4wcJt6A/KY 2VcVU3NHhPpeukOQXrZpm0DBM0u3lH3zcuuaJLmZ0Z6cDbS66G41kTU+yR9CUjoZsk W4M4sgHHPfREy2NIBsN5PzOrU/CsVKM8Vo3ZOwcGYzSTjt3a3+cx0KorZMY5C+A5md TqIhkSyeX2i3rHVStgW6eVz3lpq1gSu9oVghr9z4ZWtPVsfAg1XOLckz4E/W/1V2Ko S3gJ/KWfvw4TO1u3iQLJk2GFgz2FOmsnVA8ZM7CIQN/jMX6DGUUckMCoAlHjARNdPW vCeX6DFV+1OUA== From: Thomas Gleixner To: Yicong Yang , Anup Patel Cc: yang.yicong@picoheart.com, anup@brainfault.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, geshijian@picoheart.com, weidong.wd@picoheart.com, Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich Subject: Re: [PATCH] irqchip/riscv-aplic: Register the driver prior to device creation In-Reply-To: <7b859dd5-9262-4d68-9a8e-e0be0c24ac4a@picoheart.com> References: <20260114063730.78009-1-yang.yicong@picoheart.com> <7b859dd5-9262-4d68-9a8e-e0be0c24ac4a@picoheart.com> Date: Wed, 14 Jan 2026 20:50:32 +0100 Message-ID: <877btkht2v.ffs@tglx> MIME-Version: 1.0 X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gV2VkLCBKYW4gMTQgMjAyNiBhdCAxOTo0OCwgWWljb25nIFlhbmcgd3JvdGU6Cj4gT24gMS8x NC8yNiA0OjU3IFBNLCBBbnVwIFBhdGVsIHdyb3RlOgo+PiBPbiBXZWQsIEphbiAxNCwgMjAyNiBh dCAxMjowOOKAr1BNIFlpY29uZyBZYW5nIDx5YW5nLnlpY29uZ0BwaWNvaGVhcnQuY29tPiB3cm90 ZToKPj4+Cj4+PiBPbiBSSVNDLVYgdGhlIEFQTElDIHNlcnZlcyBwYXJ0IG9mIHRoZSBHU0kgaW50 ZXJydXB0cywgYnV0IHVubGlrZQo+Pj4gb3RoZXIgYXJ0aGl0ZWN0dXJlIGl0J3MgaW5pdGlhbGl6 ZWQgYSBiaXQgbGF0ZSBvbiBBQ1BJIGJhc2VkCj4+PiBzeXN0ZW06Cj4+PiAtIHRoZSBzcGVjIG9u bHkgbWFuZGF0ZXMgdGhlIHJlcG9ydCBpbiBEU0RUIChyaXNjdi1icnMgcnVsZSBBTUxfMTAwKQo+ Pj4gICBzbyB0aGUgQVBMSUMgaXMgY3JlYXRlZCBhcyBwbGF0Zm9ybV9kZXZpY2Ugd2hlbiBzY2Fu bmluZyBEU0RUCj4+PiAtIHRoZSBkcml2ZXIgaXMgcmVnaXN0ZXJlZCBhbmQgaW5pdGlhbGl6ZSB0 aGUgZGV2aWNlIGluIGRldmljZV9pbml0Y2FsbAo+Pj4gICBzdGFnZQo+Pj4KPj4+IFRoZSBjcmVh dGlvbiBvZiBkZXZpY2VzIGRlcGVuZHMgb24gQVBMSUMgaXMgZGVmZXJyZWQgYWZ0ZXIgdGhlIEFQ TElDCj4+PiBpcyBpbml0aWFsaXplZCAod2hlbiB0aGUgZHJpdmVyIGNhbGxzIGFjcGlfZGV2X2Ns ZWFyX2RlcGVuZGVuY2llcyksCj4+PiBub3QgbGlrZSBtb3N0IG90aGVyIGRldmljZXMgd2hpY2gg aXMgY3JlYXRlZCB3aGVuIHNjYW5uaW5nIHRoZSBEU0RULgo+Pj4gVGhlIGFmZmVjdGVkIGRldmlj ZXMgaW5jbHVkZSB0aG9zZSBkZWNsYXJlIHRoZSBkZXBlbmRlbmN5IGV4cGxpY2l0bHkKPj4+IGJ5 IEFDUEkgX0RFUCBtZXRob2QgYW5kIF9QUlQgZm9yIFBDSWUgaG9zdCBicmlkZ2UgYW5kIHRob3Nl IHJlcXVpcmUKPj4+IHRoZWlyIGludGVycnVwdHMgYXMgR1NJLiBGdXJodGVybW9yZSwgdGhlIGRl ZmVycmVkIGNyZWF0aW9uIGlzCj4+PiBwZXJmb3JtZWQgaW4gYW4gYXN5bmMgd2F5IChxdWV1ZWQg aW4gdGhlIHN5c3RlbV9kZmxfd3Egd29ya3F1ZXVlKQo+Pj4gYnV0IGFsbCBjb250ZW5kIG9uIHRo ZSBhY3BpX3NjYW5fbG9jay4KClRoZSBsb2NrIGNvbnRlbnRpb24gaXMgaXJyZWxldmFudCB0byB0 aGUgcmVhbCB1bmRlcmx5aW5nIHByb2JsZW0uCgo+Pj4gU2luY2UgdGhlIGRlZmVycmVkIGRldmNp ZSBjcmVhdGlvbiBpcyBhc3luY2hyb25vdXMgYW5kIHdpbGwgY29udGVuZAo+Pj4gZm9yIHRoZSBz YW1lIGxvY2ssIHRoZSBvcmRlciBhbmQgdGltaW5nIGlzIG5vdCBjZXJ0YWluLiBBbmQgdGhlIHRp bWUKPj4+IGlzIGxhdGUgZW5vdWdoIGZvciB0aGUgZGV2aWNlIGNyZWF0aW9uIHJ1bm5pbmcgcGFy YWxsZWwgd2l0aCB0aGUgaW5pdAo+Pj4gdGFzay4gVGhpcyB3aWxsIGxlYWQgdG8gYmVsb3cgaXNz dWVzIChhbHNvIG9ic2VydmVkIG9uIG91ciBwbGF0Zm9ybXMpOgo+Pj4gLSB0aGUgY29uc29sZS90 dHkgZGV2aWNlIGlzIGNyZWF0ZWQgbGF0ZWx5IGFuZCBzb21ldGltZXMgaXQncyBub3QgcmVhZHkK Pj4+ICAgd2hlbiBpbml0IHRhc2sgY2hlY2sgZm9yIGl0cyBwcmVzZW5jZS4gdGhlIHN5c3RlbSB3 aWxsIGNyYXNoIGluIHRoZQo+Pj4gICBsYXR0ZXIgY2FzZSBzaW5jZSB0aGUgaW5pdCB0YXNrIGFs d2F5cyByZXF1aXJlcyBhIHZhbGlkIGNvbnNvbGUuCj4+PiAtIHRoZSByb290IGRldmljZSB3aWxs IGJ5IHByb2JlZCBhbmQgcmVnaXN0ZXJlZCBsYXRlbHkgKGUuZy4gTlZNRSwKPj4+ICAgYWZ0ZXIg dGhlIGluaXQgdGFzayBleGVjdXRlZCkgYW5kIG1heSBydW4gaW50byB0aGUgcmVzY3VlIHNoZWxs IGlmCj4+PiAgIHJvb3QgZGV2aWNlIGlzIG5vdCBmb3VuZC4KCkFuZCBhZ2FpbiwgeW91IF9jYW5u b3RfIHNvbHZlIHRoaXMgcHJvYmxlbSBjb21wbGV0ZWx5IHdpdGggaW5pdGNhbGwKb3JkZXJpbmc7 CgogICBEZWZlcnJlZCBwcm9iaW5nIHdpdGggZGVsZWdhdGlvbiB0byB3b3JrIHF1ZXVlcyBoYXMg dGhlIHN5c3RlbWljCiAgIGlzc3VlIHRoYXQgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgYWxs IGRldmljZXMsIHdoaWNoIGFyZSByZXF1aXJlZAogICB0byBhY3R1YWxseSBwcm9jZWVkIHRvIHVz ZXJzcGFjZSwgaGF2ZSBiZWVuIGluaXRpYWxpemVkIGF0IHRoYXQKICAgcG9pbnQuCgpDaGFuZ2lu ZyB0aGUgaW5pdGNhbGwgcHJpb3JpdHkgb2YgYSBwYXJ0aWN1bGFyIGRyaXZlciBwYXBlcnMgb3Zl ciB0aGUKdW5kZXJseWluZyBwcm9ibGVtIHRvIHRoZSBleHRlbnQgdGhhdCBfeW91XyBjYW5ub3Qg b2JzZXJ2ZSBpdCBhbnltb3JlLApidXQgdGhhdCBwcm92aWRlcyBleGFjdGx5IF96ZXJvXyBndWFy YW50ZWUgdGhhdCBpdCBpcyBjb3JyZWN0IHVuZGVyIGFsbApjaXJjdW1zdGFuY2VzLiAiV29ya3Mg Zm9yIG1lIiBpcyB0aGUgd29yc3QgZW5naW5lZXJpbmcgcHJpbmNpcGxlIGFzIHlvdQptaWdodCBr bm93IGFscmVhZHkuCgpUaGF0IHNhaWQsIEkgc3RpbGwgcmVmdXNlIHRvIHRha2UgcmFuZG9tIGlu aXRjYWxsIG9yZGVyaW5nIHBhdGNoZXMKdW5sZXNzIHNvbWVib2R5IGNvbWVzIHVwIHdpdGggYSBj b2hlcmVudCBleHBsYW5hdGlvbiBvZiB0aGUgYWN0dWFsCmd1YXJhbnRlZS4KCkJ1dCBiZWZvcmUg eW91IHN0YXJ0IHRvIGNvbWUgdXAgd2l0aCBtb3JlIGZhaXJ5IHRhbGVzLCBsZXQgbWUgY29tZSBi YWNrCnRvIHlvdXIgdHdvIHBvaW50cyBmcm9tIGFib3ZlOgoKPj4+IC0gdGhlIGNvbnNvbGUvdHR5 IGRldmljZSBpcyBjcmVhdGVkIGxhdGVseSBhbmQgc29tZXRpbWVzIGl0J3Mgbm90IHJlYWR5Cj4+ PiAgIHdoZW4gaW5pdCB0YXNrIGNoZWNrIGZvciBpdHMgcHJlc2VuY2UuIHRoZSBzeXN0ZW0gd2ls bCBjcmFzaCBpbiB0aGUKPj4+ICAgbGF0dGVyIGNhc2Ugc2luY2UgdGhlIGluaXQgdGFzayBhbHdh eXMgcmVxdWlyZXMgYSB2YWxpZCBjb25zb2xlLgoKSSBhc3N1bWUgeW91IHdhbnQgdG8gc2F5IHRo YXQgY29uc29sZV9vbl9yb290ZnMoKSBmYWlscyB0byBvcGVuCicvZGV2L2NvbnNvbGUnLCByaWdo dD8KClRoYXQncyBvYnZpb3VzIGJlY2F1c2UgY29uc29sZV9vbl9yb290ZnMoKSBpcyBpbnZva2Vk IF9iZWZvcmVfCmFzeW5jX3N5bmNocm9uaXplX2Z1bGwoKSBpcyBpbnZva2VkIHdoaWNoIGVuc3Vy ZXMgdGhhdCBhbGwgb3V0c3RhbmRpbmcKaW5pdGlhbGl6YXRpb24gd29yayBoYXMgYmVlbiBjb21w bGV0ZWQuCgpUaGUgZml4IGZvciB0aGlzIGlzIG9idmlvdXMgdG9vIGFuZCBpdCdzIHRoZXJlZm9y ZSBibG9vZHkgb2J2aW91cyB0aGF0CmNoYW5naW5nIHRoZSBpbml0IGNhbGwgcHJpb3JpdHkgb2Yg YSByYW5kb20gZHJpdmVyIGRvZXMgbm90IGZpeCB0aGF0IGF0CmFsbCwgbm8/CgpCdXQgdGhhdCdz IG5vdCBzdWZmaWNpZW50LCBzZWUgYmVsb3cuCgo+Pj4gLSB0aGUgcm9vdCBkZXZpY2Ugd2lsbCBi eSBwcm9iZWQgYW5kIHJlZ2lzdGVyZWQgbGF0ZWx5IChlLmcuIE5WTUUsCj4+PiAgIGFmdGVyIHRo ZSBpbml0IHRhc2sgZXhlY3V0ZWQpIGFuZCBtYXkgcnVuIGludG8gdGhlIHJlc2N1ZSBzaGVsbCBp Zgo+Pj4gICByb290IGRldmljZSBpcyBub3QgZm91bmQuCgpZb3UgY29tcGxldGVseSBmYWlsIHRv IGV4cGxhaW4gaG93IG91dHN0YW5kaW5nIGluaXRpYWxpemF0aW9ucyBpbiB3b3JrCnF1ZXVlcyBz dXJ2aXZlIHBhc3QgdGhlIGFzeW5jX3N5bmNocm9uaXplX2Z1bGwoKSBzeW5jaHJvbml6YXRpb24K cG9pbnQuIFlvdSBhcmUgbWVyZWx5IGRlc2NyaWJpbmcgcmFuZG9tIG9ic2VydmF0aW9ucyBvbiB5 b3VyIHN5c3RlbSwgYnV0CnlvdSBzdG9wcGVkIHJpZ2h0IHRoZXJlIHdpdGhvdXQgdHJ5aW5nIHRv IGRlY29kZSB0aGUgdW5kZXJseWluZyByb290CmNhdXNlLgoKVGhlIHJvb3QgY2F1c2UgaXM6Cgog MSkgYXMgSSBhbHJlYWR5IHNhaWQgYWJvdmUgdGhhdCBkZWZlcnJlZCBwcm9iaW5nIGRvZXMgbm90 IHByb3ZpZGUgYW55CiAgICBndWFyYW50ZWVzIGF0IGFsbC4KCiAyKSBhc3luY19zeW5jaHJvbml6 ZV9mdWxsKCkgaXMgb2J2aW91c2x5IG5vdCB0aGUgYmFycmllciB3aGljaCBpdCBpcwogICAgc3Vw cG9zZWQgdG8gYmUgKHRoZSBtaXNwbGFjZWQgY29uc29sZV9vbl9yb290ZnMoKSBjYWxsIGFzaWRl KS4KClRoYXQgbmVlZHMgdG8gYmUgZml4ZWQgYXQgdGhlIGNvbmNlcHR1YWwgbGV2ZWwgYW5kIG5v dCBoYWNrZWQgYXJvdW5kCndpdGggIndvcmtzIGZvciBtZSIgcGF0Y2hlcyBhbmQgZmFpcnkgdGFs ZSBjaGFuZ2UgbG9ncy4KClRoYW5rcywKCiAgICAgICAgdGdseAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0Cmxp bnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B367133B962 for ; Wed, 14 Jan 2026 19:50:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768420236; cv=none; b=K+hrIXRhyoEIFB7WLKIRGoliJ7hSdt6DsUNBPTKzoSDm8ZW6xUAh1ehl2uJUtbXSAZrCRxf9QuXSllg/mPMjHp5vxmFhPrAZpsluKwJYPe+42sl1muC9x+3EuqK2g/h6vF0OTlsdnUH+tMV76M3fY0nCgJVOtqRjilyVorR+V20= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768420236; c=relaxed/simple; bh=lftn52dXRiMpGb5hR6erO6gE0eQ07MFa1vm6azGi5kY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=WmTevQj6KImNlRjr928Kh2cIU0M1hAyMEHVGAx4l+xTHTfz3OQ1zuh7pGR01tOH/hKHh/fFDhgP70hPNqPCi+aWVX5BBfcM5T/7E9m+JQTeTiPKqsSkytVa8SCfzrZuezMOJtW+tupr9JSEnhun0lOwaYAU3xHICRsQbROA044A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EL3AfJnA; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EL3AfJnA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1412C4CEF7; Wed, 14 Jan 2026 19:50:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768420236; bh=lftn52dXRiMpGb5hR6erO6gE0eQ07MFa1vm6azGi5kY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=EL3AfJnAnp7T7RtNgC81vtuBB/ltzMLzZWjzsfUhgbXAbKJH+nCDhF/4wcJt6A/KY 2VcVU3NHhPpeukOQXrZpm0DBM0u3lH3zcuuaJLmZ0Z6cDbS66G41kTU+yR9CUjoZsk W4M4sgHHPfREy2NIBsN5PzOrU/CsVKM8Vo3ZOwcGYzSTjt3a3+cx0KorZMY5C+A5md TqIhkSyeX2i3rHVStgW6eVz3lpq1gSu9oVghr9z4ZWtPVsfAg1XOLckz4E/W/1V2Ko S3gJ/KWfvw4TO1u3iQLJk2GFgz2FOmsnVA8ZM7CIQN/jMX6DGUUckMCoAlHjARNdPW vCeX6DFV+1OUA== From: Thomas Gleixner To: Yicong Yang , Anup Patel Cc: yang.yicong@picoheart.com, anup@brainfault.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, geshijian@picoheart.com, weidong.wd@picoheart.com, Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich Subject: Re: [PATCH] irqchip/riscv-aplic: Register the driver prior to device creation In-Reply-To: <7b859dd5-9262-4d68-9a8e-e0be0c24ac4a@picoheart.com> References: <20260114063730.78009-1-yang.yicong@picoheart.com> <7b859dd5-9262-4d68-9a8e-e0be0c24ac4a@picoheart.com> Date: Wed, 14 Jan 2026 20:50:32 +0100 Message-ID: <877btkht2v.ffs@tglx> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wed, Jan 14 2026 at 19:48, Yicong Yang wrote: > On 1/14/26 4:57 PM, Anup Patel wrote: >> On Wed, Jan 14, 2026 at 12:08=E2=80=AFPM Yicong Yang wrote: >>> >>> On RISC-V the APLIC serves part of the GSI interrupts, but unlike >>> other arthitecture it's initialized a bit late on ACPI based >>> system: >>> - the spec only mandates the report in DSDT (riscv-brs rule AML_100) >>> so the APLIC is created as platform_device when scanning DSDT >>> - the driver is registered and initialize the device in device_initcall >>> stage >>> >>> The creation of devices depends on APLIC is deferred after the APLIC >>> is initialized (when the driver calls acpi_dev_clear_dependencies), >>> not like most other devices which is created when scanning the DSDT. >>> The affected devices include those declare the dependency explicitly >>> by ACPI _DEP method and _PRT for PCIe host bridge and those require >>> their interrupts as GSI. Furhtermore, the deferred creation is >>> performed in an async way (queued in the system_dfl_wq workqueue) >>> but all contend on the acpi_scan_lock. The lock contention is irrelevant to the real underlying problem. >>> Since the deferred devcie creation is asynchronous and will contend >>> for the same lock, the order and timing is not certain. And the time >>> is late enough for the device creation running parallel with the init >>> task. This will lead to below issues (also observed on our platforms): >>> - the console/tty device is created lately and sometimes it's not ready >>> when init task check for its presence. the system will crash in the >>> latter case since the init task always requires a valid console. >>> - the root device will by probed and registered lately (e.g. NVME, >>> after the init task executed) and may run into the rescue shell if >>> root device is not found. And again, you _cannot_ solve this problem completely with initcall ordering; Deferred probing with delegation to work queues has the systemic issue that there is no guarantee that all devices, which are required to actually proceed to userspace, have been initialized at that point. Changing the initcall priority of a particular driver papers over the underlying problem to the extent that _you_ cannot observe it anymore, but that provides exactly _zero_ guarantee that it is correct under all circumstances. "Works for me" is the worst engineering principle as you might know already. That said, I still refuse to take random initcall ordering patches unless somebody comes up with a coherent explanation of the actual guarantee. But before you start to come up with more fairy tales, let me come back to your two points from above: >>> - the console/tty device is created lately and sometimes it's not ready >>> when init task check for its presence. the system will crash in the >>> latter case since the init task always requires a valid console. I assume you want to say that console_on_rootfs() fails to open '/dev/console', right? That's obvious because console_on_rootfs() is invoked _before_ async_synchronize_full() is invoked which ensures that all outstanding initialization work has been completed. The fix for this is obvious too and it's therefore bloody obvious that changing the init call priority of a random driver does not fix that at all, no? But that's not sufficient, see below. >>> - the root device will by probed and registered lately (e.g. NVME, >>> after the init task executed) and may run into the rescue shell if >>> root device is not found. You completely fail to explain how outstanding initializations in work queues survive past the async_synchronize_full() synchronization point. You are merely describing random observations on your system, but you stopped right there without trying to decode the underlying root cause. The root cause is: 1) as I already said above that deferred probing does not provide any guarantees at all. 2) async_synchronize_full() is obviously not the barrier which it is supposed to be (the misplaced console_on_rootfs() call aside). That needs to be fixed at the conceptual level and not hacked around with "works for me" patches and fairy tale change logs. Thanks, tglx