Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp12332048rwl; Tue, 3 Jan 2023 12:40:53 -0800 (PST) X-Google-Smtp-Source: AMrXdXtMmVtn087Za/AOKB9D3S1anNQATerYD3PC9LFVsGqRwqGLYFxUv9jAeEnJxbu7xGZnzjlU X-Received: by 2002:a17:906:9f07:b0:7ec:27d7:1838 with SMTP id fy7-20020a1709069f0700b007ec27d71838mr48925933ejc.22.1672778452877; Tue, 03 Jan 2023 12:40:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672778452; cv=none; d=google.com; s=arc-20160816; b=Q7VTrc5gpbEglj0VmwdC2+HxTr3L9OvKV+NXyfvawdUSql8/t9Wzorwx5F6tnhXAcs Cpqgl6/IJb8pek1r6PNu9fb8+TkDVfSEXiZux92DCX4tmJ643jwMf68c658FdKvHskoY I6jtV+0wgZcf/jYlNJpyI+qqlK8eYaE5+bEtvr3NsPhACQzU5GhO/tM5dEQH5sU3SQrT ZbpQLfFs0kmpFbftkHXPpMMpDzLZcu3zDF6CnwV0074PUztXbpMq80xdEjjsAgvP8NAL AAakiABmKCez0lzud0ZM5Fn22iacIHu52f6A2TuOthSEFW2hSDPS7E3+J76WMAvsg7lX BnOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=iARVLMD3v8IODdCw3GdczKsFsUhthsaW0rxu4UEbvTk=; b=DLhpLfqCMMRh6H1GXyz6G4CmsH46Vgo41eDENQdtVbwHIEEwx8dCA60gItSbvLiOV/ +oMdd6Ju97wV/s15iWOTFU3Wd3kScFQNQ9Xh+44WDL03UvE96OsOJTNj6QmT6hzhMswQ lDMizEeyBJqI+Rxh629jcyf35v79ZD0kj6xC0tMqWgMmqtWongKVGw6Q7gFkzJY8AjXs //ByCI3w3vRnJw7CqvwHjiUEJX+6wmZUi3nAfsONCV8pInwL5ZpzVNkOJiNP+rxjnD9l QtjGkWA9kj3Bje80LEo6t3WvTlek1NloROWBK0kV944nUX8/3R7lsAU4Y3pJFPU8yqnh czyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=XaaaoCFc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id oz8-20020a1709077d8800b007c0c9bd6206si30761038ejc.553.2023.01.03.12.40.38; Tue, 03 Jan 2023 12:40:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=XaaaoCFc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233858AbjACUZb (ORCPT + 59 others); Tue, 3 Jan 2023 15:25:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52168 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230388AbjACUZ2 (ORCPT ); Tue, 3 Jan 2023 15:25:28 -0500 Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com [IPv6:2607:f8b0:4864:20::82c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42BEA11472 for ; Tue, 3 Jan 2023 12:25:27 -0800 (PST) Received: by mail-qt1-x82c.google.com with SMTP id bp44so22854691qtb.0 for ; Tue, 03 Jan 2023 12:25:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=iARVLMD3v8IODdCw3GdczKsFsUhthsaW0rxu4UEbvTk=; b=XaaaoCFcnicDj2syudEzP6QsRP6hWeKn0p+ctG9G7m+fmb3ZiSvqVPiEG5VMa0at6b h4OWCrAFPNBpncx/vd7h6y4kS493H45Txq908qdKEobXGxL7fJPE9JPvX2ZRo2gKsGV7 mgcfBQlIr1PRQqD2UsjUJhoAzQye7bpvamzq36EnCCIM0oxzPsi3I62SKWU20dVt407I u7s7CywiZXWb00xRb7iVdQ3T2SQRlJtr+4999L+P5mE8To03yEFqMuXb5MbXqOaOFLEa ihZ+exCUEONWeoUrj5Ioe0xK23UuJlWAkn0pkpRv3Sd5v49tqbuOV5tsVlc+MjnmJZY7 xQkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iARVLMD3v8IODdCw3GdczKsFsUhthsaW0rxu4UEbvTk=; b=kTczIWXbLjvSng6Hokx3waJ88QuWUuN9IfneIe0ag2RVqYn615gN2fYf6nkOBrQtcm yEtgY+Zy3F3sR/WCFKROuqZdaORdDf7k4Y3NJjWyw6seiuAbXBy29MLTA55rFygdj3Lm ZPnQZysCiCub7AIdVKdbGmRwtDG9jh6jKjPu4OFtfcofYgB1c5UBBDfLG6vtH7Irosf8 Q2A7nrQcM+rE+oItbVZtwCYU+mtpRZvWlnEojTjnMDCpRsr5sxM3tRiP8Czn93p+KFHP BgcVY6Vi3VunYjEUBI7WH0P5Ln/e7GUQjH/a3QugjKzq1aCMgjEq9/9IN+HMI4Etk3ZD 5anw== X-Gm-Message-State: AFqh2koNm1DmbqZPLSae6gerygtzJLjCoA8SGKaxIKgKSdgVwR8OglOW kSLYoAsOkPW1/bHSHhWeqU4I8A== X-Received: by 2002:ac8:7386:0:b0:3a8:fd7:7347 with SMTP id t6-20020ac87386000000b003a80fd77347mr65246203qtp.32.1672777526289; Tue, 03 Jan 2023 12:25:26 -0800 (PST) Received: from [172.22.22.4] ([98.61.227.136]) by smtp.googlemail.com with ESMTPSA id i1-20020ac84881000000b003a7ec97c882sm19318413qtq.6.2023.01.03.12.25.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Jan 2023 12:25:25 -0800 (PST) Message-ID: <444adc6b-809f-be35-2114-f05b54db48bf@linaro.org> Date: Tue, 3 Jan 2023 14:25:24 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH net-next 3/6] net: ipa: enable IPA interrupt handlers separate from registration Content-Language: en-US To: Caleb Connolly , davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: mka@chromium.org, evgreen@chromium.org, andersson@kernel.org, quic_cpratapa@quicinc.com, quic_avuyyuru@quicinc.com, quic_jponduru@quicinc.com, quic_subashab@quicinc.com, elder@kernel.org, netdev@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org References: <20221230232230.2348757-1-elder@linaro.org> <20221230232230.2348757-4-elder@linaro.org> From: Alex Elder In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/31/22 11:56 AM, Caleb Connolly wrote: >> >> diff --git a/drivers/net/ipa/ipa_interrupt.h >> b/drivers/net/ipa/ipa_interrupt.h >> index f31fd9965fdc6..5f7d2e90ea337 100644 >> --- a/drivers/net/ipa/ipa_interrupt.h >> +++ b/drivers/net/ipa/ipa_interrupt.h >> @@ -85,6 +85,20 @@ void ipa_interrupt_suspend_clear_all(struct >> ipa_interrupt *interrupt); >>    */ >>   void ipa_interrupt_simulate_suspend(struct ipa_interrupt *interrupt); >> +/** >> + * ipa_interrupt_enable() - Enable an IPA interrupt type >> + * @ipa:    IPA pointer >> + * @ipa_irq:    IPA interrupt ID >> + */ >> +void ipa_interrupt_enable(struct ipa *ipa, enum ipa_irq_id ipa_irq); > > I think you forgot a forward declaration for enum ipa_irq_id > > Kind Regards, > Caleb OK I checked this. You are correct that ipa_irq_id should be declared as an enum at the top of "ipa_interrupt.h". In addition to the new function declarations, there were some existing references to the enumerated type. I believe this became a (not-reported) problem starting with this commit: 322053105f095 net: ipa: move definition of enum ipa_irq_id It being missing did not result in any build warnings, however. Here's why. The ipa_irq_id enumerated type is defined in "ipa_reg.h". Note that "ipa_reg.h" is included by "ipa_endpoint.h". So if "ipa_endpoint.h" is included before "ipa_interrupt.h", the ipa_irq_id type will have been defined before it's referenced in "ipa_interrupt.h". These files include "ipa_interrupt.h": ipa.h: It is included after "ipa_endpoint.h", so the enumerated type is defined before it's needed in "ipa_interrupt.h". ipa_main.c: Here too, "ipa_endpoint.h" (as well as "ipa_reg.h") is included before "ipa_interrupt.h", so the enumerated type is defined before it's used there. ipa_interrupt.c In this case "ipa_reg.h" is included, then "ipa_endpoint.h", before "ipa_interrupt.h". So again, the enumerated type is defined before it's referenced in "ipa_interrupt.h". Nevertheless, your point is a good one and I'm going to implement your suggestion when I post version 2. Thank you! -Alex