From patchwork Fri Mar 1 17:02:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 208960 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp20932dyc; Fri, 1 Mar 2024 09:12:23 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUZN+ocA8CWsST7CRM+i2a2s1clNvBo7+474C/2Ii2YzSohUE1KyNhrLYNsroONTSztwj2VJ0d9PGan4qNF8vOl2XC/QA== X-Google-Smtp-Source: AGHT+IE3FbgbIxoPICimEgBq27PQe9WvHpepaWAbsNUttDSsTfU5LGDb1C77wRkabaqDDnLwSwtY X-Received: by 2002:a05:6e02:1807:b0:365:2ad1:5fae with SMTP id a7-20020a056e02180700b003652ad15faemr2309294ilv.32.1709313143726; Fri, 01 Mar 2024 09:12:23 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709313143; cv=pass; d=google.com; s=arc-20160816; b=qkpIJS/Be6PeLyxn+GT+R7GuNyZmsiKrXr5hGk3OZNKR3+dmzG/KHKfCw0voRPaq8l w9gQADXb3lyRufAT+fF6q1fOJecd3O5N58vD9id+QhYvetVrz3LJF8mM0QhTDy/UR4C9 u83LWt6Rl6kCPO96tLo3aBbfOp1mbySDMXUlvv+iYyoWXJ7FY/QuW0P4eivGLuUGQSvg qGl3zYskkCuHvmIAc+pncnN9t3IZY10P6D8UfR3m3F6PPP+aerB9KWCo9riiomzq09r9 6wVq6i5XnQgSWIL9qyjzmrltM6u71FrbtlmmLTScNy/1qWtfOEdtEdBnVfdK1uCetWc0 OcOg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=iaMlwQQ3/GUmxQKOFUy5DpH0QO/BlGNt49LLq8M56yQ=; fh=jx5oFhLaYcnlo04j7n3usu0IxODdbpNuoSmn7UCHYLc=; b=HpbLeSlFKulJueyJz4/YrQh6M0hQ7T6ka0Y3KGkb2WSsHhfdWrtNvROzTfd1DqCGAf G2GTJKndCRQdlInGvfajdc8lhRyaUOMeQoOShCAJu21WzjixVyBl3FOLynM1LziiQFXw e29xdBEnLWADgnM74tqJKqO47zeCRjdJQV0IJKNrX15UL690sdMMa0HUnNMe5lr2IPBN +UJ3HrOgE6OoGkah+xz5BpQFkQ+fZMRXzcOV7Ek4wrbhWOV25RC9aLkqo1nvSAe5aKGS uWQ3YD5o2nFPSkP/IhkMdWlJenNaL5tuyYI0LoibFGUXfmoFlmFUFlAcu5puSfg2d9YX iG3Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=f7w0WpsL; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88788-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88788-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id y37-20020a634b25000000b005d6b61e24afsi3923637pga.763.2024.03.01.09.12.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:12:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-88788-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=f7w0WpsL; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88788-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88788-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8966E281240 for ; Fri, 1 Mar 2024 17:03:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1A1EA8825; Fri, 1 Mar 2024 17:02:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="f7w0WpsL" Received: from mail-il1-f172.google.com (mail-il1-f172.google.com [209.85.166.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5D35443E for ; Fri, 1 Mar 2024 17:02:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312570; cv=none; b=NgrX0ICqSOVyjOBHUcKlHmIkQp3EcFdFPsThGNAnsOPMfnkulQbKz7AzEQ9Z4SJeoFWg52irKtR4+GEh1IsQhKWHDclKLnBvpNykvoB7+Y58rYGMfeb5QtHXzT/nGKO4cEOD9um2tl5XO20Hfe4RFQIsDUXZX/5I+Gc4zkdPViM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312570; c=relaxed/simple; bh=iBfmq8FiW83RHkKaeBd7C85lcsS1UP1JRKzZ4ojGyyk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Rvtw9J7gAmn3VY+tgbcl+CNNiq9hstJfWNN/T/SyFqN70YmXnZXhORM6pMPKlNap8+TE4R6RATX67JqgrHpb7xWsI7oHdMnEVH+MEqlU+e8nb/f0ZRWTvFBrhC2jmNhyjo7g+EnSocEWxaJ4kbmmA6apMw6R+mC4IyshS1PG574= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=f7w0WpsL; arc=none smtp.client-ip=209.85.166.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-il1-f172.google.com with SMTP id e9e14a558f8ab-364f791a428so12256925ab.3 for ; Fri, 01 Mar 2024 09:02:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709312568; x=1709917368; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iaMlwQQ3/GUmxQKOFUy5DpH0QO/BlGNt49LLq8M56yQ=; b=f7w0WpsLiACwdyMQpSnRkhRes4nHQH53/bAp/im8zZTnZbqseMxpaCs0iBigjjkJeY 4gIcJdQ6CpE2Mq30zzi7PMdVnOTElirueux5qVQaSos2JEEwt97gNMVQPTaeiezoKbuE koeT1mp84WNKLJZjvUzamnPiTq7coIkCEpg+viHJoWU8w0f7QQiObjpExLJduzP5TVJk oNLbg5dXoLB7p/dnkC+bjnsiX8Fk7KEnWo3cQXXYAvmnlRFaET2ypw0t39JYKv2w7eZG CH9NsyrV/xPacwSbvxEC90vlj/nwhRQB49nL5AFg2SqijWgHJpDwMCCsKOSjHTK3QqqC y4dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709312568; x=1709917368; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iaMlwQQ3/GUmxQKOFUy5DpH0QO/BlGNt49LLq8M56yQ=; b=hcusX7tC4mU0H5IjMiB83ImiDvqnQiA7UmYwyRnsU+5mOwB04s4kqbdzZ3WpyE+i2x AIku2g5Gqtu+/DroGevZ+6pfppCB3r92iC/dpIF1P7gHf+/GK8ZmNv1fSpwNW/l2mHEL 9uQ/9Xr0cp8Upp8/HVa12KDXX0nex4bac6Ju3SxpvkHAC0rnsD/akxuLc7upbP8Gaag7 wk5NJeRKkzK/O13jXoLzLlSxj5gZKWpCZk7Walzh0Qmg/44KKvsNu3fmbOePGU5arJal Kl7lXiQajLYIpNGHEMaL9fx+9UkrV7fttSDzWblO8fvFFf0gKB4jlbyuRH5cE1JRhFQN lzmw== X-Forwarded-Encrypted: i=1; AJvYcCUHmPI+FlkzM+Gy5tQ+hVMdNXNarEHqFQvRRV8K//l+Dy2711OCPpWvDu5P4O6ZNE02mW0JVF0yGEgJcDSB38fq9QMclR3ExZrtOmsP X-Gm-Message-State: AOJu0Yxnqay2ywRjxOcHGo3wto0/j20dGb+3mLy4GID/N+YwBCDfYCBY 5vADAT/q2cd9aPT5LUrL9X8cNorhHka66a2RvVqV7hwXNjSvLTPL/qTwE6WeJsk= X-Received: by 2002:a05:6e02:12e1:b0:365:25c0:c82d with SMTP id l1-20020a056e0212e100b0036525c0c82dmr2548448iln.28.1709312567811; Fri, 01 Mar 2024 09:02:47 -0800 (PST) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id o2-20020a92dac2000000b0036581060910sm991430ilq.6.2024.03.01.09.02.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:02:47 -0800 (PST) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: horms@kernel.org, mka@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 Subject: [PATCH net-next v2 1/7] net: ipa: change ipa_interrupt_config() prototype Date: Fri, 1 Mar 2024 11:02:36 -0600 Message-Id: <20240301170242.243703-2-elder@linaro.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240301170242.243703-1-elder@linaro.org> References: <20240301170242.243703-1-elder@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792344739053404605 X-GMAIL-MSGID: 1792344739053404605 Change the return type of ipa_interrupt_config() to be an error code rather than an IPA interrupt structure pointer, and assign the the pointer within that function. Change ipa_interrupt_deconfig() to take the IPA pointer as argument and have it invalidate the ipa->interrupt pointer. Signed-off-by: Alex Elder --- v2: Make sure all returns from ipa_interrupt_config() are ints. drivers/net/ipa/ipa_interrupt.c | 25 +++++++++++++++---------- drivers/net/ipa/ipa_interrupt.h | 10 +++++----- drivers/net/ipa/ipa_main.c | 13 ++++--------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/drivers/net/ipa/ipa_interrupt.c b/drivers/net/ipa/ipa_interrupt.c index 4d80bf77a5323..e23c9a5942eda 100644 --- a/drivers/net/ipa/ipa_interrupt.c +++ b/drivers/net/ipa/ipa_interrupt.c @@ -236,7 +236,7 @@ void ipa_interrupt_simulate_suspend(struct ipa_interrupt *interrupt) } /* Configure the IPA interrupt framework */ -struct ipa_interrupt *ipa_interrupt_config(struct ipa *ipa) +int ipa_interrupt_config(struct ipa *ipa) { struct device *dev = &ipa->pdev->dev; struct ipa_interrupt *interrupt; @@ -246,15 +246,14 @@ struct ipa_interrupt *ipa_interrupt_config(struct ipa *ipa) ret = platform_get_irq_byname(ipa->pdev, "ipa"); if (ret <= 0) { - dev_err(dev, "DT error %d getting \"ipa\" IRQ property\n", - ret); - return ERR_PTR(ret ? : -EINVAL); + dev_err(dev, "DT error %d getting \"ipa\" IRQ property\n", ret); + return ret ? : -EINVAL; } irq = ret; interrupt = kzalloc(sizeof(*interrupt), GFP_KERNEL); if (!interrupt) - return ERR_PTR(-ENOMEM); + return -ENOMEM; interrupt->ipa = ipa; interrupt->irq = irq; @@ -271,24 +270,30 @@ struct ipa_interrupt *ipa_interrupt_config(struct ipa *ipa) ret = dev_pm_set_wake_irq(dev, irq); if (ret) { - dev_err(dev, "error %d registering \"ipa\" IRQ as wakeirq\n", ret); + dev_err(dev, "error %d registering \"ipa\" IRQ as wakeirq\n", + ret); goto err_free_irq; } - return interrupt; + ipa->interrupt = interrupt; + + return 0; err_free_irq: free_irq(interrupt->irq, interrupt); err_kfree: kfree(interrupt); - return ERR_PTR(ret); + return ret; } /* Inverse of ipa_interrupt_config() */ -void ipa_interrupt_deconfig(struct ipa_interrupt *interrupt) +void ipa_interrupt_deconfig(struct ipa *ipa) { - struct device *dev = &interrupt->ipa->pdev->dev; + struct ipa_interrupt *interrupt = ipa->interrupt; + struct device *dev = &ipa->pdev->dev; + + ipa->interrupt = NULL; dev_pm_clear_wake_irq(dev); free_irq(interrupt->irq, interrupt); diff --git a/drivers/net/ipa/ipa_interrupt.h b/drivers/net/ipa/ipa_interrupt.h index 53e1b71685c75..1947654e3e360 100644 --- a/drivers/net/ipa/ipa_interrupt.h +++ b/drivers/net/ipa/ipa_interrupt.h @@ -76,17 +76,17 @@ void ipa_interrupt_irq_enable(struct ipa *ipa); void ipa_interrupt_irq_disable(struct ipa *ipa); /** - * ipa_interrupt_config() - Configure the IPA interrupt framework + * ipa_interrupt_config() - Configure IPA interrupts * @ipa: IPA pointer * - * Return: Pointer to IPA SMP2P info, or a pointer-coded error + * Return: 0 if successful, or a negative error code */ -struct ipa_interrupt *ipa_interrupt_config(struct ipa *ipa); +int ipa_interrupt_config(struct ipa *ipa); /** * ipa_interrupt_deconfig() - Inverse of ipa_interrupt_config() - * @interrupt: IPA interrupt structure + * @ipa: IPA pointer */ -void ipa_interrupt_deconfig(struct ipa_interrupt *interrupt); +void ipa_interrupt_deconfig(struct ipa *ipa); #endif /* _IPA_INTERRUPT_H_ */ diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 00475fd7a2054..0c6e6719d99e3 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -542,12 +542,9 @@ static int ipa_config(struct ipa *ipa, const struct ipa_data *data) if (ret) goto err_hardware_deconfig; - ipa->interrupt = ipa_interrupt_config(ipa); - if (IS_ERR(ipa->interrupt)) { - ret = PTR_ERR(ipa->interrupt); - ipa->interrupt = NULL; + ret = ipa_interrupt_config(ipa); + if (ret) goto err_mem_deconfig; - } ipa_uc_config(ipa); @@ -572,8 +569,7 @@ static int ipa_config(struct ipa *ipa, const struct ipa_data *data) ipa_endpoint_deconfig(ipa); err_uc_deconfig: ipa_uc_deconfig(ipa); - ipa_interrupt_deconfig(ipa->interrupt); - ipa->interrupt = NULL; + ipa_interrupt_deconfig(ipa); err_mem_deconfig: ipa_mem_deconfig(ipa); err_hardware_deconfig: @@ -591,8 +587,7 @@ static void ipa_deconfig(struct ipa *ipa) ipa_modem_deconfig(ipa); ipa_endpoint_deconfig(ipa); ipa_uc_deconfig(ipa); - ipa_interrupt_deconfig(ipa->interrupt); - ipa->interrupt = NULL; + ipa_interrupt_deconfig(ipa); ipa_mem_deconfig(ipa); ipa_hardware_deconfig(ipa); } From patchwork Fri Mar 1 17:02:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 208953 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp17358dyc; Fri, 1 Mar 2024 09:07:30 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWu0NPTJL/74J/DHpsu0lMI25s3uXIQNsktrDp7D7dlIjxx2F++Zq304T3/r5u0sSH7ChjytL187gWJsHQOG3fwEzBXfg== X-Google-Smtp-Source: AGHT+IFoObtimlY/EIcPaT7Io3c8jMxvt7sBrqTQY3tFpqrnajJze8lww/C2u0kNlfsDf+G9XNl5 X-Received: by 2002:a05:620a:4156:b0:787:dcfe:30a1 with SMTP id k22-20020a05620a415600b00787dcfe30a1mr2751916qko.21.1709312850188; Fri, 01 Mar 2024 09:07:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709312850; cv=pass; d=google.com; s=arc-20160816; b=xzNuFd/b6vdQ6KkL5ytE5aYW9fPi+il9bdmnXPsQf/PP0o1fDl+r/xs8YHL+cy9Qzv QGdhjxUxdKRtz6Ft0FRd9wWhuqXN71QPPU0usFwxpgOUsoKPhrvxfagH1M+N3bdhUJcC z/4/+ZbeaMbTQ9SqGRUhQ9ISZgqUZZYntCPFmuPmO2MGd9P+yO1deSO4sX3OlHnYg3Sh mWJmFg+xxA+fUtecZWICRcvB1we7qG9c4djOGRDQIZ0RkRAza7qZJa84Fvptu7IXZayv jybmAhsi9Abtu5aH0QiH5LfAwz3O3o8WYkOVZohjEoYnstQLoHMX0IUwwmDVTFO9kMZ+ hEiA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=Rr0sPFq1qDPx+8llR1pfou4QHoPDxxC6Fwf1wZxXaxw=; fh=v7FpYrJrcHaBn+08wqTRYdAdC02yEnd7e1/ppOOsSXk=; b=EkkoEiLafc94SUyhO36Q84Z7Phf9CgHFGRqRzO265MPKDogkbTHu/Kw+sURSJ0Iyjl 4iijrdXCzIev1gLNXPTyURkkLF7XDv5lkp2ocUrGxWWxggOLhK93UNr5ssPOL9m6IjhB FHR/m0hBUjVqT/41flyHeU0r1dsn9Dq5Ytvgt2J2HZzxcFXXx3LeTaErl1HSFPP0LjLH IFD9mn2Q6FiqBeOGt8SBm8FGyaueiz1sfAihWV/nzFYw50FXV8BgZI7BIs57nDGEaP1L Q8eBjn6htXDfHyAv/zRwAK2DeROTfz/v9QcgrcnuwXMl7Y1VB6B+Tr+2nWv8dpAQipAy Hp8w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ds4Sjysy; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88789-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88789-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id wk22-20020a05620a579600b00787db484c3fsi3840092qkn.751.2024.03.01.09.07.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:07:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-88789-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ds4Sjysy; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88789-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88789-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9C5EA1C25ABF for ; Fri, 1 Mar 2024 17:04:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7C525F513; Fri, 1 Mar 2024 17:02:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ds4Sjysy" Received: from mail-il1-f176.google.com (mail-il1-f176.google.com [209.85.166.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2144522C for ; Fri, 1 Mar 2024 17:02:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312571; cv=none; b=Rh13knkgVAaa8mqASSYwE2iiV65YwC6gbhFagMc3ka3MHRMyRMOZPm8SBc+cPa6DLDqwkbLNHhI8mEgYch8eMbLn7jQUCcxWYbpJ3pz/frmZfHH5dt6tduFb/c+KSvgz5/oryLdWYwq88p3J28unIuLtqDRO4JskVn2aBHpeVa0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312571; c=relaxed/simple; bh=g9icqaFUX1RcE7FU17Pn10ZHapUyO6Ps4WVZPo13UvE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=sc2A+CK8fO0eCWWKr2ijD9CdyaMoWmyvwMfPsyg9/UT2Xj6MCOOl5tdeexpnKHcEFsWwjbPuyQynCudy43BvBj0FQ9C7VdMIU7lo/1vUr/nvu8meP5Y0mV82ZPuTdemt35WhUUwFCOl4eOAVbec1QSdIDtjTorqJnxz8syngBdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ds4Sjysy; arc=none smtp.client-ip=209.85.166.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-il1-f176.google.com with SMTP id e9e14a558f8ab-3652731b2b7so8682545ab.2 for ; Fri, 01 Mar 2024 09:02:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709312569; x=1709917369; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Rr0sPFq1qDPx+8llR1pfou4QHoPDxxC6Fwf1wZxXaxw=; b=ds4Sjysym7OC0p47Vnhn3PAtHEIIICdWFXC07/RL2ecqVTkXrdJjudgLp8nP5eDzcE wEnR7gbSzlXYWI+osll3ujOE5hB4JZOCrpZXn9yIr53Yl0ivszOiJETzjqoG4MLrjC5X yMpZXkKJz/mT3w8drW8A8cwMuyd4NrWNkkgmM71NSSYfUjWAbFZjre7lANaw2iwTn+gf ALlYD5e+DFgDPO2xoh/4pknU7XDEy65vTBNCzgQfsDiMO1oy8rWk4+vE82C2npmNzGV4 +2SXUOC94lWO+aeR3PWzmNSIWegG6Yzu4Im9Uby05Y+fweIAWILWl3+T9RZmIQUF3ABx WD6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709312569; x=1709917369; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Rr0sPFq1qDPx+8llR1pfou4QHoPDxxC6Fwf1wZxXaxw=; b=W+djev6nMOJpFbPB2TLyXroadg2y4AGnjQe/VxKzbA6ljnR88VkFaJc3YWE36K+tnp C8nn/3ZAqPkodbWVROJ6YUWN3ymm5uktiiaMkKZpT1ivfb0oj9h9JJh8YPlM27l/DKXi RzZqAJOOjYTvu6MG/fXofzrJAq+AwHA+b0u8PKXqQFx+B3E3s78OYEcLEyc0Wq90v6yu 2q1dlgA8t9M558ALcqCoKPVaVmbHWa3vmLZ4Q9YGwb8qaQ6ueSf/T8v1/xLztvq3Zeao vRbPw7svC2u83eWe4YbYOIwNzlxthW3IvP2lfHHqIQibu0UxWrArA4hmWnymJuAckhGv celA== X-Forwarded-Encrypted: i=1; AJvYcCWMnE758v82Q6rvCPjteFNwvFWH3B+B6UeP2xe8vtD8iML3OsdZ93V+lsNtLP1+6ThjW9+DllG+XWXRFVzoiG3QHSaKMJ3vG9IvWB82 X-Gm-Message-State: AOJu0YzuerOGTEuHTotzdu8pzYRxNhS48Fpsez3x2sTx+gFS0U4kKD3v vkUbtNKV6zG+jMb1VqhRkMYZh4LaPVhrUqGbfTl+ohYDCFM0qk8fpXG6rlzLWz8= X-Received: by 2002:a05:6e02:1d18:b0:365:696:2817 with SMTP id i24-20020a056e021d1800b0036506962817mr2440997ila.3.1709312569049; Fri, 01 Mar 2024 09:02:49 -0800 (PST) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id o2-20020a92dac2000000b0036581060910sm991430ilq.6.2024.03.01.09.02.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:02:48 -0800 (PST) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: horms@kernel.org, mka@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 Subject: [PATCH net-next v2 2/7] net: ipa: introduce ipa_interrupt_init() Date: Fri, 1 Mar 2024 11:02:37 -0600 Message-Id: <20240301170242.243703-3-elder@linaro.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240301170242.243703-1-elder@linaro.org> References: <20240301170242.243703-1-elder@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792344431120096184 X-GMAIL-MSGID: 1792344431120096184 Create a new function ipa_interrupt_init() that is called at probe time to allocate and initialize the IPA interrupt data structure. Create ipa_interrupt_exit() as its inverse. This follows the normal IPA driver pattern of *_init() functions doing things that can be done before access to hardware is required. Signed-off-by: Alex Elder --- v2: Updated based on changes to patch 1 drivers/net/ipa/ipa_interrupt.c | 45 +++++++++++++++++++++++---------- drivers/net/ipa/ipa_interrupt.h | 14 ++++++++++ drivers/net/ipa/ipa_main.c | 28 ++++++++++++++++---- 3 files changed, 68 insertions(+), 19 deletions(-) diff --git a/drivers/net/ipa/ipa_interrupt.c b/drivers/net/ipa/ipa_interrupt.c index e23c9a5942eda..7399724160a89 100644 --- a/drivers/net/ipa/ipa_interrupt.c +++ b/drivers/net/ipa/ipa_interrupt.c @@ -19,6 +19,7 @@ * time only these three are supported. */ +#include #include #include #include @@ -238,26 +239,15 @@ void ipa_interrupt_simulate_suspend(struct ipa_interrupt *interrupt) /* Configure the IPA interrupt framework */ int ipa_interrupt_config(struct ipa *ipa) { + struct ipa_interrupt *interrupt = ipa->interrupt; struct device *dev = &ipa->pdev->dev; - struct ipa_interrupt *interrupt; + unsigned int irq = interrupt->irq; const struct reg *reg; - unsigned int irq; int ret; - ret = platform_get_irq_byname(ipa->pdev, "ipa"); - if (ret <= 0) { - dev_err(dev, "DT error %d getting \"ipa\" IRQ property\n", ret); - return ret ? : -EINVAL; - } - irq = ret; - - interrupt = kzalloc(sizeof(*interrupt), GFP_KERNEL); - if (!interrupt) - return -ENOMEM; interrupt->ipa = ipa; - interrupt->irq = irq; - /* Start with all IPA interrupts disabled */ + /* Disable all IPA interrupt types */ reg = ipa_reg(ipa, IPA_IRQ_EN); iowrite32(0, ipa->reg_virt + reg_offset(reg)); @@ -297,5 +287,32 @@ void ipa_interrupt_deconfig(struct ipa *ipa) dev_pm_clear_wake_irq(dev); free_irq(interrupt->irq, interrupt); +} + +/* Initialize the IPA interrupt structure */ +struct ipa_interrupt *ipa_interrupt_init(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct ipa_interrupt *interrupt; + int irq; + + irq = platform_get_irq_byname(pdev, "ipa"); + if (irq <= 0) { + dev_err(dev, "DT error %d getting \"ipa\" IRQ property\n", irq); + + return ERR_PTR(irq ? : -EINVAL); + } + + interrupt = kzalloc(sizeof(*interrupt), GFP_KERNEL); + if (!interrupt) + return ERR_PTR(-ENOMEM); + interrupt->irq = irq; + + return interrupt; +} + +/* Inverse of ipa_interrupt_init() */ +void ipa_interrupt_exit(struct ipa_interrupt *interrupt) +{ kfree(interrupt); } diff --git a/drivers/net/ipa/ipa_interrupt.h b/drivers/net/ipa/ipa_interrupt.h index 1947654e3e360..f3f4f4330a597 100644 --- a/drivers/net/ipa/ipa_interrupt.h +++ b/drivers/net/ipa/ipa_interrupt.h @@ -89,4 +89,18 @@ int ipa_interrupt_config(struct ipa *ipa); */ void ipa_interrupt_deconfig(struct ipa *ipa); +/** + * ipa_interrupt_init() - Initialize the IPA interrupt structure + * @pdev: IPA platform device pointer + * + * Return: Pointer to an IPA interrupt structure, or a pointer-coded error + */ +struct ipa_interrupt *ipa_interrupt_init(struct platform_device *pdev); + +/** + * ipa_interrupt_exit() - Inverse of ipa_interrupt_init() + * @interrupt: IPA interrupt structure + */ +void ipa_interrupt_exit(struct ipa_interrupt *interrupt); + #endif /* _IPA_INTERRUPT_H_ */ diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 0c6e6719d99e3..6cf5c1280aa4e 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -803,6 +803,7 @@ static enum ipa_firmware_loader ipa_firmware_loader(struct device *dev) static int ipa_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; + struct ipa_interrupt *interrupt; enum ipa_firmware_loader loader; const struct ipa_data *data; struct ipa_power *power; @@ -834,12 +835,21 @@ static int ipa_probe(struct platform_device *pdev) if (loader == IPA_LOADER_DEFER) return -EPROBE_DEFER; - /* The clock and interconnects might not be ready when we're - * probed, so might return -EPROBE_DEFER. + /* The IPA interrupt might not be ready when we're probed, so this + * might return -EPROBE_DEFER. + */ + interrupt = ipa_interrupt_init(pdev); + if (IS_ERR(interrupt)) + return PTR_ERR(interrupt); + + /* The clock and interconnects might not be ready when we're probed, + * so this might return -EPROBE_DEFER. */ power = ipa_power_init(dev, data->power_data); - if (IS_ERR(power)) - return PTR_ERR(power); + if (IS_ERR(power)) { + ret = PTR_ERR(power); + goto err_interrupt_exit; + } /* No more EPROBE_DEFER. Allocate and initialize the IPA structure */ ipa = kzalloc(sizeof(*ipa), GFP_KERNEL); @@ -850,6 +860,7 @@ static int ipa_probe(struct platform_device *pdev) ipa->pdev = pdev; dev_set_drvdata(dev, ipa); + ipa->interrupt = interrupt; ipa->power = power; ipa->version = data->version; ipa->modem_route_count = data->modem_route_count; @@ -934,6 +945,8 @@ static int ipa_probe(struct platform_device *pdev) kfree(ipa); err_power_exit: ipa_power_exit(power); +err_interrupt_exit: + ipa_interrupt_exit(interrupt); return ret; } @@ -941,10 +954,14 @@ static int ipa_probe(struct platform_device *pdev) static void ipa_remove(struct platform_device *pdev) { struct ipa *ipa = dev_get_drvdata(&pdev->dev); - struct ipa_power *power = ipa->power; struct device *dev = &pdev->dev; + struct ipa_interrupt *interrupt; + struct ipa_power *power; int ret; + power = ipa->power; + interrupt = ipa->interrupt; + /* Prevent the modem from triggering a call to ipa_setup(). This * also ensures a modem-initiated setup that's underway completes. */ @@ -986,6 +1003,7 @@ static void ipa_remove(struct platform_device *pdev) ipa_reg_exit(ipa); kfree(ipa); ipa_power_exit(power); + ipa_interrupt_exit(interrupt); dev_info(dev, "IPA driver removed"); } From patchwork Fri Mar 1 17:02:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 208961 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp21124dyc; Fri, 1 Mar 2024 09:12:40 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXOV5iJTg/hWQegydchGaYi0X1fVKwkzylIyziPm53UOmaEataBLgIjvOoDqsVBZcmsYPXzQUvtpFH8HY6jwoWLkiw1Sg== X-Google-Smtp-Source: AGHT+IHZS3ARcCHI/MuUMW8lHbh9LkVXZe/GqTHtEHnBryTZ67vFGHcGRt7DywMBWLNE3Uv2OZch X-Received: by 2002:a6b:5b09:0:b0:7c7:b91c:f766 with SMTP id v9-20020a6b5b09000000b007c7b91cf766mr2340298ioh.5.1709313160089; Fri, 01 Mar 2024 09:12:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709313160; cv=pass; d=google.com; s=arc-20160816; b=U7tWQsBJAn6AA1c0EEllupkVHpD1LYgyjsWqo1Xm4l5UMHsZKZlAp2bK36qw8P0ckT ilQnnIARjmi64+IkEEH+WBFuzp1cG54f8aH8rWKKQM2RiFr3N7uexbrfITaQkD02ZvJ+ /thwR28oAzxCdsBTboD4c+b3EJrco/DfJlfXmTQ4ZCcbedCa/EAwGFLVT6rpIVn90LS5 XGQS9IVLIRwno+QFmhFrWEVtgayTc+jCApWn5+YVpbmSRLkThPDs5iwXWkc8GCFRIgOC NomioYED450jyBGa5MDJXqMsp9vbS7J2X0ego+hyBYljlAwZUYY/AuNxGIiR5CaItNAu Zolg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=TGWJjaxvrYhNIssQekJJrsQHyV2VIpv1G8S6HOh3hAI=; fh=KDlYHZQOPAQaWKgZV6g0XI5qzzbV+jyrdPzCs/E6utQ=; b=COvnby4RBV9srlTrP92DsFh6dZ3A8BbJjzYFfz9MddfNqcW8LL6Eo98z5ydgLdQqPv 9G9WjR2fqyGnDGOJsw9YXDdegrJO5YmAOMlILAZjZI8Phxs6OGFu65cH58Be1S/zi8xA 59hIYVkyrz2ZLAOLvR3DwzKzUGQj8BCC/U6jLxZGA3+4cqGJlhCrt9J8kcWxd2rBPUKR 2Rb+xuq1wlfPwSV9oxU/5f+fKMtR6DNekjdCvWwRzHMtsdBWjodQcFuIBAHzM0tC5ZTE /D5FtpRnZ/1lOWfHdUU9rP317uEaVeHQOU80CujKT9RhGBKFSSdZgxQtojKQW610vePH +8BQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="WThNEJ/L"; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88790-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88790-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id j13-20020a0566022ccd00b007c81aaaa035si995252iow.100.2024.03.01.09.12.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:12:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-88790-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="WThNEJ/L"; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88790-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88790-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5CF7A288DE6 for ; Fri, 1 Mar 2024 17:04:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 20D79282F7; Fri, 1 Mar 2024 17:02:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="WThNEJ/L" Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C329849C for ; Fri, 1 Mar 2024 17:02:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312572; cv=none; b=CG6q78ET0Hi0tA41x15MKQVIROxLzJ1dOC+h8kwZM2mckaiieKN3AvXpOikZphNjtM6GhymKoUmOYtYYfpn5kgBpqGRqZrJAiEW03UZJyFx6ZcHw6wXU+MhPDVhawOeW+9SPOTfATmCTOFshmslTQdSN82R4pdVAChqKy7fXrsw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312572; c=relaxed/simple; bh=XwGOf1MLWzPXiuaGkXStpdLvB4FPo5vk4nLwFw1ga6k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PInpO1sBD2pNJkUkc6tEaNHIY5YjpIpKy2SwimRaTQiXhZU7dIqGKT0Hcv/yhj3oWu8kAm6Jf3klnkfPklIlD76xZqx7WoGjo6bObhJJC2JtXQNmB3RnbUWmbE+294RFfLWfN0uxbZljcQTa/Eam+Pz3pwtaaK+RBh3bjp6ZzBY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=WThNEJ/L; arc=none smtp.client-ip=209.85.166.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-7c403dbf3adso136206839f.1 for ; Fri, 01 Mar 2024 09:02:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709312570; x=1709917370; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TGWJjaxvrYhNIssQekJJrsQHyV2VIpv1G8S6HOh3hAI=; b=WThNEJ/L2qGEsrsSRQ5Ki6mTeXizAM7+MZh1SXDqsmKktz8dkDGUXXBgw1ydz5Eprh JXzQSoOMm/8NEZqvlEr0rWF6uMQNAK+XXIMTxDGrbuCWt7YP2YBbXLtUufi4BuVrbNgm 1qkcD27ENItsobns+2pybMXBxyDqYKJ/KKkmuqy/V65e/B1QllGk3lQQHly1QDc6Pn28 v7hWZgauQSLXFDMolNLfIifY8V9fLN+EazdVewMMRn31khryiXKdiITFZEedkpspzLhO DbI8Xo9SlGoEmB/51gkmZlzC4kodcGaVa8BK03ghQl8kJRWqTvA6WLbp3/60OfVF2nHH iB9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709312570; x=1709917370; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TGWJjaxvrYhNIssQekJJrsQHyV2VIpv1G8S6HOh3hAI=; b=g3GqKUOeaLh+AcUg81iR2c2XUEi67AJ7gkgC8lg1sMrsB9JESPpiywH1EiDYCnKZOq 5IaM7HmX6DuBgrpppDzBGWLxGL5l4sGRWIqxFXa0ujRvSpgnhKxh2uEQBo8jikzEC0P/ cUikai0qjflEKnIRnqdqXN5etJ1oUQTAAo0w7zy25GzqXfpn2/3v7oz7wHbkX8HlJjHn tbPP2tfNntd/8gbZU+r1BHQVhdOWerfH39Ez9Ci/GR+ZGkwppeBPLYiCZXtsAqjKkQGY rsOLhvcRwIJESkDqLCE/SY1P1ptYQDrZzAqC7Nye7eu8jajq6ZrOAGQbtzCzexfWct19 dZtQ== X-Forwarded-Encrypted: i=1; AJvYcCXcQTrAgyT+ucMEOQBnxNT930TSa0YtDwoi40Bq7bhrYA6P8UeddzSXEDxZt3gEFg3Oo66kcQAW6oafv/0NVLTtUkQQS1AydyY6gaxC X-Gm-Message-State: AOJu0Yx/EvDJrnK8fsNVAgYs3p92d3oNGW+9POG4FDD80qOPMCKViVOT hiutQJ2kwLrRqgiyjODZATC9QQwdkheK+s+X7Ay8OzxnvzlVGqTEIqAs0t0nLG8= X-Received: by 2002:a05:6e02:152b:b0:365:4004:83bc with SMTP id i11-20020a056e02152b00b00365400483bcmr2366487ilu.14.1709312570335; Fri, 01 Mar 2024 09:02:50 -0800 (PST) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id o2-20020a92dac2000000b0036581060910sm991430ilq.6.2024.03.01.09.02.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:02:49 -0800 (PST) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: horms@kernel.org, mka@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 Subject: [PATCH net-next v2 3/7] net: ipa: pass a platform device to ipa_reg_init() Date: Fri, 1 Mar 2024 11:02:38 -0600 Message-Id: <20240301170242.243703-4-elder@linaro.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240301170242.243703-1-elder@linaro.org> References: <20240301170242.243703-1-elder@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792344756117906966 X-GMAIL-MSGID: 1792344756117906966 Rather than using the platform device pointer field in the IPA pointer, pass a platform device pointer to ipa_reg_init(). Use that pointer throughout that function. Signed-off-by: Alex Elder --- drivers/net/ipa/ipa_main.c | 2 +- drivers/net/ipa/ipa_reg.c | 8 ++++---- drivers/net/ipa/ipa_reg.h | 4 +++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 6cf5c1280aa4e..5c9c1b0ef8de5 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -866,7 +866,7 @@ static int ipa_probe(struct platform_device *pdev) ipa->modem_route_count = data->modem_route_count; init_completion(&ipa->completion); - ret = ipa_reg_init(ipa); + ret = ipa_reg_init(ipa, pdev); if (ret) goto err_kfree_ipa; diff --git a/drivers/net/ipa/ipa_reg.c b/drivers/net/ipa/ipa_reg.c index 6a3203ae6f1ef..98625956e0bb4 100644 --- a/drivers/net/ipa/ipa_reg.c +++ b/drivers/net/ipa/ipa_reg.c @@ -4,6 +4,7 @@ * Copyright (C) 2019-2023 Linaro Ltd. */ +#include #include #include "ipa.h" @@ -132,9 +133,9 @@ static const struct regs *ipa_regs(enum ipa_version version) } } -int ipa_reg_init(struct ipa *ipa) +int ipa_reg_init(struct ipa *ipa, struct platform_device *pdev) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = &pdev->dev; const struct regs *regs; struct resource *res; @@ -146,8 +147,7 @@ int ipa_reg_init(struct ipa *ipa) return -EINVAL; /* Setup IPA register memory */ - res = platform_get_resource_byname(ipa->pdev, IORESOURCE_MEM, - "ipa-reg"); + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ipa-reg"); if (!res) { dev_err(dev, "DT error getting \"ipa-reg\" memory property\n"); return -ENODEV; diff --git a/drivers/net/ipa/ipa_reg.h b/drivers/net/ipa/ipa_reg.h index 2998f115f12c7..62c62495b7968 100644 --- a/drivers/net/ipa/ipa_reg.h +++ b/drivers/net/ipa/ipa_reg.h @@ -12,6 +12,8 @@ #include "ipa_version.h" #include "reg.h" +struct platform_device; + struct ipa; /** @@ -643,7 +645,7 @@ extern const struct regs ipa_regs_v5_5; const struct reg *ipa_reg(struct ipa *ipa, enum ipa_reg_id reg_id); -int ipa_reg_init(struct ipa *ipa); +int ipa_reg_init(struct ipa *ipa, struct platform_device *pdev); void ipa_reg_exit(struct ipa *ipa); #endif /* _IPA_REG_H_ */ From patchwork Fri Mar 1 17:02:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 208954 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp17625dyc; Fri, 1 Mar 2024 09:07:49 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUajzLY57KioN/sTye9Z/o5EFqzfFeYfo2kbSvjsoOIPnEumjllu/VP9iRYdhYaDp2P2J+0FXdRQu2w1cBGXnxFRKni9A== X-Google-Smtp-Source: AGHT+IGs7Dqn3FaAQYXu4jHoprMDMwNSU6BhldCfYP2Fgqq/Fga7khG+mgCp/ozy75v9XXhFHdW5 X-Received: by 2002:ad4:588e:0:b0:690:51b5:7475 with SMTP id dz14-20020ad4588e000000b0069051b57475mr3820003qvb.4.1709312869614; Fri, 01 Mar 2024 09:07:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709312869; cv=pass; d=google.com; s=arc-20160816; b=HdncForCRkTsx4C+90OiPhrQLrNqQNtNmxH6GDit9jQDZHbIIDX/0MDA+Ja3mOqJIg 3bIcydYgsF/2pn0EgzZnUEm/leT5Fr4wsSyVBwFd+iaQrY0CCBtzQF8B5Ogoo/ZXRiTD PrybDJnZ7TuQVznkGzr+4Xc+BsurY7lPeckRMX40a9QIU128lzMN9XivGC87FV22Ezi/ cnNoiO/8ado2f+FACr7LY8zYo+/H9jt5fvJFMh3usn3AO2SoBwq+EIACrtW8pv1iUido 0s1H0zr8ox8s8qNCkZqjlqr+B2TIOo7B7fuYz9D/8eEvEsZTTn3LKyjp2nPyAWTI/+pj Y86A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=c1od9Mf5e1UrqV2FcK9CW+GpeCIGbA7ZM3UP+zHhMOk=; fh=k012ViSxZt557R37HkNE4FaiRdVGxhm5IoLsjqxHJd0=; b=SX9NB/4v+WDkN9hK8gMRpwAWbQxp3zl/WaZyIHzQ2qvBSsm6YutOEmzI7cS8zF5QZy cfBfbF0xOG1CBhe5WCOmHAvLFbqK9CLeXNAYPpsBMTTzjY7pEMsQZpzvppGTXbUv/qd8 sKnavtTI6y7ttisbkK8i2f7XdXqsrDjH6lS4Cq+SxTdeCg+AEi94+lLGORdVoZou2VLY XmgQE0MijH4XbsoqRP4lZ05ZfKUBUhS4+7x+uxUPzsS+jgmVw7h59Wzuby+QjWDtEvac EqKtrXSGHm2Ayy1HwUoEoQS8zTfPfnQlsjyMxYDL+FeJ6kwEZzURuThYSHzRIpyFEGAX xafQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NU43KbUI; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88791-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88791-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id js5-20020a0562142aa500b0068ccc5108b1si3980900qvb.405.2024.03.01.09.07.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:07:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-88791-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NU43KbUI; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88791-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88791-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 22A7E1C25F6E for ; Fri, 1 Mar 2024 17:04:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 70E5339AD4; Fri, 1 Mar 2024 17:02:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="NU43KbUI" Received: from mail-il1-f176.google.com (mail-il1-f176.google.com [209.85.166.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E601F503 for ; Fri, 1 Mar 2024 17:02:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312574; cv=none; b=OjRYkgFJHsdOVb/QBMxFThePyBWItEpcfQVWvZ9FObAj0q+S4HxLG7jWfW4kSuROnOd5EXiGpT4c/ADfhwvxSylKVz9UvqCIRzIlazZ4DFgQh5MCNzF9aqj0QCuFGPJiw45KmkVBESDyLu0K1gkktlHm07f1DdqCAtakDki5ty4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312574; c=relaxed/simple; bh=C4WEfnReplN0gQTzXkMZmEt442ImK4xT7st2F/By4dE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QVidFlqRjP2FL6QjFF+JGZgZbXeaFtVGHvvLMX+07oGCTV4TIY5ck0HxEmlbG/NDJcm2vf4Apr8ZSyPAmZswIMxTt/EC4yTaIGN6w93dyUW8PH399IQLVAxdeT/wYHqHGa9hrWg8apD9GxKDj+Q7aiGjfyX0moOYF6OeJHyQCnw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=NU43KbUI; arc=none smtp.client-ip=209.85.166.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-il1-f176.google.com with SMTP id e9e14a558f8ab-365d5b91cc0so2175015ab.0 for ; Fri, 01 Mar 2024 09:02:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709312571; x=1709917371; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c1od9Mf5e1UrqV2FcK9CW+GpeCIGbA7ZM3UP+zHhMOk=; b=NU43KbUI3qj5J1dqdZ+CXUQJpf5ZEmFXgF9iI2pkqDNFLzJKgQXfCNje/IqqjUKvHa HXDeMo0/7B9dSNEM1dZO//om7aqdw0DqEDHAc+fJcIUKhuC2Nn8w2n+rZvZk9l82IJa/ we90sqP0QsaqqdL50LftNLWe8hRwspNsNOXiu0s/T84WXxsS4ZKpkxLwaxw0gUxhwfwZ m9zZGjI4dAKvXlwNeWgs7xn2e4UxR1eUfyWThPFO4u4XAw7J0q/q06AKqi9WSVv1PXje /1YpLZLCZ7omRltFggNhW/986ed2f5uRkTvRj/CrhyElQEgLjh9MlRq2BtX2Iz+jH4M9 UZ8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709312571; x=1709917371; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c1od9Mf5e1UrqV2FcK9CW+GpeCIGbA7ZM3UP+zHhMOk=; b=kQc8uukc8F69I/f23jAHSGtNe4K0To/BoBTh9m5/Owc1KUURTeCqWebUV+OXuKPH3T QmPZJHreqdyGUggKwfQkt8yB8dDGYYnJ3silBCB22O3X8CViuCectM008Eyj1d+F2tYS YUupcZXj8tHhEieDaWJILLOWwdLk0AjObaMdubLSUCQ1pd+GfAxUTRMN58oi9veSY7+1 u74qBTqGSxKwZoJ5GyzhJbMQVz2NZS/QceJ14uLGU6JQKSU2pmrWRMeTQ4d41qh10bn9 JiJPSZhTUGYmWrcCBuuLBzXOimIKi+FTRRO/Pli8vFiSfmx/tO/wJIgw4NgPB6oXHtwe VOAg== X-Forwarded-Encrypted: i=1; AJvYcCW9FMRB1Fqp8x9hhlQUm1H2W+BNwP3urWWmPaYdMlmUhxDccNiRMXBC+VL4NOyYuDM2Dlk5TwQLUvfVYDvrIvHzKm1lChnwCFQvXqX+ X-Gm-Message-State: AOJu0Yw5zdbe0Rn8IjKUyhfJFM5i+HZjCXES7yG0GtJFZMOBA3tefjnM YGPxvGxbBmtr4kHqW6iOECA2rD1c5Qr6CKhH6dgHK1zypmnzw26+Et9Vv9Vv8vM= X-Received: by 2002:a05:6e02:1d13:b0:365:2445:ffd6 with SMTP id i19-20020a056e021d1300b003652445ffd6mr1369615ila.13.1709312571464; Fri, 01 Mar 2024 09:02:51 -0800 (PST) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id o2-20020a92dac2000000b0036581060910sm991430ilq.6.2024.03.01.09.02.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:02:51 -0800 (PST) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: horms@kernel.org, mka@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 Subject: [PATCH net-next v2 4/7] net: ipa: pass a platform device to ipa_mem_init() Date: Fri, 1 Mar 2024 11:02:39 -0600 Message-Id: <20240301170242.243703-5-elder@linaro.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240301170242.243703-1-elder@linaro.org> References: <20240301170242.243703-1-elder@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792344451610328684 X-GMAIL-MSGID: 1792344451610328684 Rather than using the platform device pointer field in the IPA pointer, pass a platform device pointer to ipa_mem_init(). Use that pointer throughout that function. Signed-off-by: Alex Elder --- drivers/net/ipa/ipa_main.c | 2 +- drivers/net/ipa/ipa_mem.c | 13 +++++++------ drivers/net/ipa/ipa_mem.h | 5 ++++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 5c9c1b0ef8de5..17ee075370ce6 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -870,7 +870,7 @@ static int ipa_probe(struct platform_device *pdev) if (ret) goto err_kfree_ipa; - ret = ipa_mem_init(ipa, data->mem_data); + ret = ipa_mem_init(ipa, pdev, data->mem_data); if (ret) goto err_reg_exit; diff --git a/drivers/net/ipa/ipa_mem.c b/drivers/net/ipa/ipa_mem.c index 694960537ecda..d7df7d340221d 100644 --- a/drivers/net/ipa/ipa_mem.c +++ b/drivers/net/ipa/ipa_mem.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -75,9 +76,9 @@ ipa_mem_zero_region_add(struct gsi_trans *trans, enum ipa_mem_id mem_id) int ipa_mem_setup(struct ipa *ipa) { dma_addr_t addr = ipa->zero_addr; - const struct reg *reg; const struct ipa_mem *mem; struct gsi_trans *trans; + const struct reg *reg; u32 offset; u16 size; u32 val; @@ -615,9 +616,10 @@ static void ipa_smem_exit(struct ipa *ipa) } /* Perform memory region-related initialization */ -int ipa_mem_init(struct ipa *ipa, const struct ipa_mem_data *mem_data) +int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev, + const struct ipa_mem_data *mem_data) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = &pdev->dev; struct resource *res; int ret; @@ -634,14 +636,13 @@ int ipa_mem_init(struct ipa *ipa, const struct ipa_mem_data *mem_data) if (!ipa_table_mem_valid(ipa, true)) return -EINVAL; - ret = dma_set_mask_and_coherent(&ipa->pdev->dev, DMA_BIT_MASK(64)); + ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64)); if (ret) { dev_err(dev, "error %d setting DMA mask\n", ret); return ret; } - res = platform_get_resource_byname(ipa->pdev, IORESOURCE_MEM, - "ipa-shared"); + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ipa-shared"); if (!res) { dev_err(dev, "DT error getting \"ipa-shared\" memory property\n"); diff --git a/drivers/net/ipa/ipa_mem.h b/drivers/net/ipa/ipa_mem.h index 868e9c20e8c41..28aad00a151da 100644 --- a/drivers/net/ipa/ipa_mem.h +++ b/drivers/net/ipa/ipa_mem.h @@ -6,6 +6,8 @@ #ifndef _IPA_MEM_H_ #define _IPA_MEM_H_ +struct platform_device; + struct ipa; struct ipa_mem_data; @@ -100,7 +102,8 @@ int ipa_mem_setup(struct ipa *ipa); /* No ipa_mem_teardown() needed */ int ipa_mem_zero_modem(struct ipa *ipa); -int ipa_mem_init(struct ipa *ipa, const struct ipa_mem_data *mem_data); +int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev, + const struct ipa_mem_data *mem_data); void ipa_mem_exit(struct ipa *ipa); #endif /* _IPA_MEM_H_ */ From patchwork Fri Mar 1 17:02:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 208955 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp17698dyc; Fri, 1 Mar 2024 09:07:54 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVPjuQ+a0VuBmOTU0E8Cxl2rGWSqfU9scSwmfzNWltg+qoGKgJ5y+EQ+rPnwthJGVph9OChImv+qZI6b81/36caGTw+Rg== X-Google-Smtp-Source: AGHT+IHLLKQIP6GOpe619MvzCweeniam4b5l0c2fWwygEQJbWYuVVviQi+joM0mLdrKqX0wNi0+/ X-Received: by 2002:ad4:46d0:0:b0:690:58a4:360c with SMTP id pm16-20020ad446d0000000b0069058a4360cmr1715723qvb.45.1709312874300; Fri, 01 Mar 2024 09:07:54 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709312874; cv=pass; d=google.com; s=arc-20160816; b=mOehCsJAh3diiEulyCZ5uko4eIqOrWriPIM89Kdt9cer0+Q0oveC1r4fw0VZajq+to 0EB0MdRF9a+i3ZDDAheAf0GQSoKmhxKIJJ+ko2tFCFAc5YUiqqH98WuvaCpDFoo6Hg+/ vnu3gay7V0yGUcAjJrWTLDXDSfZQq5KXNkDcIMjKVUL5ihShlUCv1Gj52kxSZEcXPrms /546nAHVCCWDywURBUnxoWJwJGtijO4fwUZgcbwrhlG6kqQijKcASpQUfYlKVXzBMs25 r3P71GeBCSUZDJpliR3T1HlybcuW0EWwrOc+MKif9OFmJ97gvpwaqqQ4Ucl+Gv2Mz7PN 8B0Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=5D+lwpw4B4CqzaxbOzMn85Ig/zR5F9N9xKtP1WaY0I4=; fh=5YY94Yk/jiUSyBUL/kW/BSBraU6Tx38SiQFsJQFDRtQ=; b=YxQpixl1U17YTs6xrVbiMQIS4juRvNEAVDf9R/AhAU3/RBtqCPCeh1iua3eDXLr16l mN9A1uQS/CT7CaAJn9uC0tZ7WvHwqfHSoNNpM8cpvNY57XbcTolUWWE3EWLLXOHKM9EY RHgG1oVMmN1PRRkswJZnfZXbR+5yH/D/SevSEkpEcfhDM/34ibqSjhwf/W92wjU3Qp0f MQpT6fqmj1gNpxla3YKdRn5X7rWGj9SXg4BwmXMpEpRsHH1GcIcsAer1cyn22WvgsdkW BSEoB21tjIajC2tj0WPiBz5c/haSpr+GNiZbskUP/GQUsC6NgHyFioMb7KMgpnl1xFuS /0NQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UoiXNq1Y; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88792-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88792-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id gg12-20020a056214252c00b0068fd34ed059si3910870qvb.291.2024.03.01.09.07.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:07:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-88792-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UoiXNq1Y; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88792-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88792-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id F17941C2605D for ; Fri, 1 Mar 2024 17:04:57 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 25BC35396; Fri, 1 Mar 2024 17:02:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="UoiXNq1Y" Received: from mail-il1-f179.google.com (mail-il1-f179.google.com [209.85.166.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5BA8521370 for ; Fri, 1 Mar 2024 17:02:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312576; cv=none; b=mttrk2VtSDbPHO/7/P2p6paGVWyrg/eD2WwnGK9bPHw42LOY6n0v8/NextD/ZIsECQHl5Smf3K0p5YoftnU5J3Kem2RGY7fQizeHeUiClPPR0MfJdm43pBcTmkwbOPtjvDfZPKPGSIb3EcScY7gTGlFVZhZCnyxibsJFBRPCoII= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312576; c=relaxed/simple; bh=Am0NKmlCwgLy7Njo99K+o5i4CrEnaQkPIJSAd0GcvZg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PvC/usfoBjST3B41/JRfJam0o6Z+3KndyGyhbtvG4MTqf00t1aHFjuYVOXnoLJRPWfrKnI6mKKHBACNiyJNjcfnoJ28mXanuvU9Og+LVkOaY4wAcKW2CTnqAy3qWUzpf8HCyPuPMPiJIxvX/RSPOkLMt89CgSXzYr+jwJB5EVls= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=UoiXNq1Y; arc=none smtp.client-ip=209.85.166.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-il1-f179.google.com with SMTP id e9e14a558f8ab-365337ad3e7so7717795ab.0 for ; Fri, 01 Mar 2024 09:02:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709312572; x=1709917372; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5D+lwpw4B4CqzaxbOzMn85Ig/zR5F9N9xKtP1WaY0I4=; b=UoiXNq1YIse/AYhZrBjeNzM++GGQGFq9Ey6Ss73tCz4yKRng/w92bL2oPBe0j0KBSb sFADnKJ51BglRq4K0hCoRsx9qRaOqhb6bnSGHD3604Muzw/NvCk95+VSbhOjtRnDfXit oDMp3CHa+n4nqSKUmEIACbxyiR7HcYYG/NSbvt4gmdfNm2hColtUbZsGVdyEzkpjlnfK PH/vBB5ZBdKP+x+varCLCAzZror7efDGkRcNmoBZUweLURWvDUVw6ykNWGY5JIPJNfPF nbUffIGAJFNqijTjujOUCefemb5CkWdMt1MFd5XcQWTElWR17FpRLQ+YnQTwQHyLpvb1 mf+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709312572; x=1709917372; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5D+lwpw4B4CqzaxbOzMn85Ig/zR5F9N9xKtP1WaY0I4=; b=oSzLhwZ1v5Vn1RImdBbRVBy+eDmIwAPoKwAUKro+pll3IAFOBnxXMNCXE7TH8ryvNp vIaLpfAYclftD9DsrUqyG4q05kxwmQ7jbyRtyVLQTP+yst9yHUbuQ+22j0OKFIhfKoKp HHvIw8XEt4UG5SSgYDyBkgpmiQtCzhom7sgy3Lt1wGOsO0zKnLrtz53m0SJUg9LBCnb+ ar9XIWQ3ulEYSZZiCUCRkdb5IeNqGVOyaQdCzXcf0tzbYrY0vjbqnhJv5ILM2n8prNjH FvL7akWasBfs6P9GbJG/K08AW5VwKAwJ6vD4+VYktFqNjJLlyKcVQyAi9l6KngpkUjVD 15uA== X-Forwarded-Encrypted: i=1; AJvYcCU4KnG7tW+tGyrYGxH0wBAb7IENFT9PC8sYqG4m7USzMr8zk2T76hgla68hbvHCeWw0ivrhG3sB4bSTzIWmISx03tYPZfRnz7t50jo+ X-Gm-Message-State: AOJu0YzFNreYGu5hz87+NxFI/IXsZMPMygWvazoXbnBd/BGyMmm60vvl OFak0LuSfOrDCOOVJXgKrh78B8OH1RCiMV1Dxr5Rik5G3ypntZY41LoNzvhbBZ8= X-Received: by 2002:a05:6e02:12c3:b0:365:b574:960b with SMTP id i3-20020a056e0212c300b00365b574960bmr2458398ilm.18.1709312572586; Fri, 01 Mar 2024 09:02:52 -0800 (PST) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id o2-20020a92dac2000000b0036581060910sm991430ilq.6.2024.03.01.09.02.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:02:52 -0800 (PST) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: horms@kernel.org, mka@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 Subject: [PATCH net-next v2 5/7] net: ipa: pass a platform device to ipa_smp2p_irq_init() Date: Fri, 1 Mar 2024 11:02:40 -0600 Message-Id: <20240301170242.243703-6-elder@linaro.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240301170242.243703-1-elder@linaro.org> References: <20240301170242.243703-1-elder@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792344456601412714 X-GMAIL-MSGID: 1792344456601412714 Rather than using the platform device pointer field in the IPA pointer, pass a platform device pointer to ipa_smp2p_irq_init(). Use that pointer throughout that function (without assuming it's the same as the IPA platform device pointer). Signed-off-by: Alex Elder --- drivers/net/ipa/ipa_smp2p.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/ipa/ipa_smp2p.c b/drivers/net/ipa/ipa_smp2p.c index 5620dc271fac3..8c4497dfe5afd 100644 --- a/drivers/net/ipa/ipa_smp2p.c +++ b/drivers/net/ipa/ipa_smp2p.c @@ -5,7 +5,7 @@ */ #include -#include +#include #include #include #include @@ -179,14 +179,15 @@ static irqreturn_t ipa_smp2p_modem_setup_ready_isr(int irq, void *dev_id) } /* Initialize SMP2P interrupts */ -static int ipa_smp2p_irq_init(struct ipa_smp2p *smp2p, const char *name, - irq_handler_t handler) +static int ipa_smp2p_irq_init(struct ipa_smp2p *smp2p, + struct platform_device *pdev, + const char *name, irq_handler_t handler) { - struct device *dev = &smp2p->ipa->pdev->dev; + struct device *dev = &pdev->dev; unsigned int irq; int ret; - ret = platform_get_irq_byname(smp2p->ipa->pdev, name); + ret = platform_get_irq_byname(pdev, name); if (ret <= 0) return ret ? : -EINVAL; irq = ret; @@ -261,7 +262,7 @@ int ipa_smp2p_init(struct ipa *ipa, bool modem_init) /* We have enough information saved to handle notifications */ ipa->smp2p = smp2p; - ret = ipa_smp2p_irq_init(smp2p, "ipa-clock-query", + ret = ipa_smp2p_irq_init(smp2p, smp2p->ipa->pdev, "ipa-clock-query", ipa_smp2p_modem_clk_query_isr); if (ret < 0) goto err_null_smp2p; @@ -273,7 +274,8 @@ int ipa_smp2p_init(struct ipa *ipa, bool modem_init) if (modem_init) { /* Result will be non-zero (negative for error) */ - ret = ipa_smp2p_irq_init(smp2p, "ipa-setup-ready", + ret = ipa_smp2p_irq_init(smp2p, smp2p->ipa->pdev, + "ipa-setup-ready", ipa_smp2p_modem_setup_ready_isr); if (ret < 0) goto err_notifier_unregister; From patchwork Fri Mar 1 17:02:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 208951 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp15854dyc; Fri, 1 Mar 2024 09:05:39 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVOXHKyHWcpvNUNA9sEYocBqub4XhScVp6rimYoTOfI5l5u6RqBmEHTvfM0QNkh3t0auKQ9+61LYn4r/7suM87kA+dA9A== X-Google-Smtp-Source: AGHT+IF4mcjmwscD6JDO02aI1cV/IFHHcsvx0GYKOi+YZGNFvmHRpHg86asyaXaH/6E2DnSDMIkg X-Received: by 2002:a17:906:5a9a:b0:a44:48db:9060 with SMTP id l26-20020a1709065a9a00b00a4448db9060mr1526865ejq.19.1709312738910; Fri, 01 Mar 2024 09:05:38 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709312738; cv=pass; d=google.com; s=arc-20160816; b=jU7qYqmeVok7IBCLxku4yPtNg2cUkFt0Lo0Ic5c+C5AoD7/guEfjkjTyPJYfh04vzh +x/WlHwYoDMPPPsBk1nt3QIkaCLpiNUVfCS2S9YQUaGhsZUrg0/EWwrPmp2v2uCIewjT P73lOzX4qjw+1ZgitK54cMFEsADEyNY1bIVqfon2yvytIEj42GboyU8wG6vYpteaTG9M LTS/02s524DU5887yU60CIcM9E0mQNySIyXYKUX1RZD+fFxNdwDMfBnQvPVSTBMqsGsP jVGlKJsuTlrZ4u3Vla/YOea9YptnVbinOhxOFDP/j0ROu8g6dhInIjlTPIEIRvpJqz1J M+Qw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=CjF4i+Vy6ouwx0EOaBtId9vglat4HShUeD3p4ZJNnXY=; fh=67rAJhEsmQkHISbAbXT+qg0Q9PxV+OuTIwjxmn+ziL4=; b=FafNhb40Rmd7Rbt7Lp3gMIZ3lwV4pDIF+wGSEDNcYGWj8QjEzxNQIJ2ne52gE4kzP9 /7/On5rk5kxuVB2qUce0VoA+YBZytzQGlvug/8w981GmLdAu3AaMItHI/oyHLcnmhZpz ouuOsfEOp/jhj04tyZG+x6JzFGiMFRUiaQ0BUWjqn0ftTRMdeKynCXesdQT5CHFQdVrG zsFpxMPjE+XPyWh72qnGQdbBS+fjU4Lf4XY/wtI6lfy5UFHc57TSj9IVOFzeFn+C3Mli u3yNh27X7J4A8eMswLskOcMyeeOHMgn1sA/J31oqnmkmQT5+2wBEdQSMkMP7wIq7Xnez +STA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fPVwitAF; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88793-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88793-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id nc6-20020a1709071c0600b00a3d42dafba0si1634440ejc.1052.2024.03.01.09.05.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:05:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-88793-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fPVwitAF; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88793-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88793-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 78EA91F2646F for ; Fri, 1 Mar 2024 17:05:02 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6777839FE8; Fri, 1 Mar 2024 17:02:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="fPVwitAF" Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 752674697 for ; Fri, 1 Mar 2024 17:02:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312576; cv=none; b=gq3t4hqQs9KKE2+rHs4f1ECO+kmhaX327q4N6HZhTAmH2Pg0G/dZ19C/FH+9uIWfsw/BEiAmtiu7pQ191tCSxnsBMjAxJOpodT+0wPV7xSX33odGhj6F+swJ8+9eMOY/hrW8N8wlNK9K394N2UHZ0p72pco2Zk4ufIeDVQN7uL0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312576; c=relaxed/simple; bh=pEDv/5wU7sbtDhxVNH7M10AUlaZ8vBb6MddBYxdRtUM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=FBJjo2ZcNSB9lRNQihleB4XDKuf4P4IR62dShmd6IpbtTyOA6Gj4kufo6CaN9/PmoN726sT3iIQ6npPsriVD4pc/To7lfIzXZq/AIOXKdtHZ8vvmxkXZj6NTy+yYT5AXQTFi4mknk0iPdEDQiKeFzvPbbt04xJfnLuleubNXW4c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=fPVwitAF; arc=none smtp.client-ip=209.85.166.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-il1-f169.google.com with SMTP id e9e14a558f8ab-36517375cc6so7824725ab.1 for ; Fri, 01 Mar 2024 09:02:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709312573; x=1709917373; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CjF4i+Vy6ouwx0EOaBtId9vglat4HShUeD3p4ZJNnXY=; b=fPVwitAFZTKFiW3JexhnQtFkAos9fx6cbwlBv8UGW2ytxPMJ8zbJQAJefJB51rWL4l QnkVS4r03F5BcbJFn+Jox00lQodhEho6t/kTuWMTJ7kITKRSP/z3i17vMz9yBoH1mW+k CNn1n1eMRwvdE4BkAH+bbEV9yDy4ah4U2IK7MIJZPS5NT/rNnv7A1JCRGqtVE5KlW2oA I4Bak86W/jskwMNoGcLN8oEAA3351YxjVbhpLKB/HQAv9MUUjPw2qBk0G4/fWvD/aw38 +5CgW7iUMAGSWF9Ifm+/3Q2ib226udF2s6kYH9SK3W5vdmhI++cQgaUKmTmGlpAygx3T /w2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709312573; x=1709917373; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CjF4i+Vy6ouwx0EOaBtId9vglat4HShUeD3p4ZJNnXY=; b=rl4Li2+v+PLUflAhiNJfbmDK7CPQy2oqR1CNaw8zBgKCgEInhTvD3Y9sE6vJaewUYj H+z7ZoqsVR2RlZea+EdE6XHXfJzPeADnGgm0G/f25zF8Wfa4mLSC8hNXba46GFctUWu2 wWGE6/zJlDsqopTS8h8IKd/aAD1jQ+tV6biZTmn6HfYqjDsOqFMt8o+Ae2Uhy7N4aqv8 TEkwto1wzq/RDwvWuZRmVY4uSftmzsBeFqpL2Kim59Kd+3Kc/U3MLltFKLxFCLxQaEEO hK5J7P8duJtUf/M6zl8mBuo7YoJNZCzVTSQ3AvCfenonu6kG3OkPWfM5C7a1H+uJUf5X X/jQ== X-Forwarded-Encrypted: i=1; AJvYcCW1kgQ4nZTnypW81muQX5IIAmleC33XmXsi+PFxnLJqw3uYLF+gPiNOAISQ5lBmSVQXpEMnkfPl2jltL/XCYykkWxYuu8XbRhG5qMBT X-Gm-Message-State: AOJu0Yy2oXCYTsyUgDkrythF/Zx/tDp9U6a+ao5KyqLXhzc6RPcdLizN 25urA3WMdXkSnzusUtS3LdhOw7HsQhjTBJCg2pJVrk+6WNx37zUfnzxbQuKAxN8= X-Received: by 2002:a92:cd83:0:b0:365:c089:1d3a with SMTP id r3-20020a92cd83000000b00365c0891d3amr2709855ilb.15.1709312573653; Fri, 01 Mar 2024 09:02:53 -0800 (PST) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id o2-20020a92dac2000000b0036581060910sm991430ilq.6.2024.03.01.09.02.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:02:53 -0800 (PST) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: horms@kernel.org, mka@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 Subject: [PATCH net-next v2 6/7] net: ipa: pass a platform device to ipa_smp2p_init() Date: Fri, 1 Mar 2024 11:02:41 -0600 Message-Id: <20240301170242.243703-7-elder@linaro.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240301170242.243703-1-elder@linaro.org> References: <20240301170242.243703-1-elder@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792344314487565232 X-GMAIL-MSGID: 1792344314487565232 Rather than using the platform device pointer field in the IPA pointer, pass a platform device pointer to ipa_smp2p_init(). Use that pointer throughout that function. Signed-off-by: Alex Elder --- drivers/net/ipa/ipa_main.c | 2 +- drivers/net/ipa/ipa_smp2p.c | 10 +++++----- drivers/net/ipa/ipa_smp2p.h | 7 +++++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 17ee075370ce6..3125aec88e6e1 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -888,7 +888,7 @@ static int ipa_probe(struct platform_device *pdev) if (ret) goto err_endpoint_exit; - ret = ipa_smp2p_init(ipa, loader == IPA_LOADER_MODEM); + ret = ipa_smp2p_init(ipa, pdev, loader == IPA_LOADER_MODEM); if (ret) goto err_table_exit; diff --git a/drivers/net/ipa/ipa_smp2p.c b/drivers/net/ipa/ipa_smp2p.c index 8c4497dfe5afd..831268551d9a7 100644 --- a/drivers/net/ipa/ipa_smp2p.c +++ b/drivers/net/ipa/ipa_smp2p.c @@ -220,10 +220,11 @@ static void ipa_smp2p_power_release(struct ipa *ipa) } /* Initialize the IPA SMP2P subsystem */ -int ipa_smp2p_init(struct ipa *ipa, bool modem_init) +int +ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev, bool modem_init) { struct qcom_smem_state *enabled_state; - struct device *dev = &ipa->pdev->dev; + struct device *dev = &pdev->dev; struct qcom_smem_state *valid_state; struct ipa_smp2p *smp2p; u32 enabled_bit; @@ -262,7 +263,7 @@ int ipa_smp2p_init(struct ipa *ipa, bool modem_init) /* We have enough information saved to handle notifications */ ipa->smp2p = smp2p; - ret = ipa_smp2p_irq_init(smp2p, smp2p->ipa->pdev, "ipa-clock-query", + ret = ipa_smp2p_irq_init(smp2p, pdev, "ipa-clock-query", ipa_smp2p_modem_clk_query_isr); if (ret < 0) goto err_null_smp2p; @@ -274,8 +275,7 @@ int ipa_smp2p_init(struct ipa *ipa, bool modem_init) if (modem_init) { /* Result will be non-zero (negative for error) */ - ret = ipa_smp2p_irq_init(smp2p, smp2p->ipa->pdev, - "ipa-setup-ready", + ret = ipa_smp2p_irq_init(smp2p, pdev, "ipa-setup-ready", ipa_smp2p_modem_setup_ready_isr); if (ret < 0) goto err_notifier_unregister; diff --git a/drivers/net/ipa/ipa_smp2p.h b/drivers/net/ipa/ipa_smp2p.h index 9b969b03d1a4b..2a3d8eefb13bb 100644 --- a/drivers/net/ipa/ipa_smp2p.h +++ b/drivers/net/ipa/ipa_smp2p.h @@ -8,17 +8,20 @@ #include +struct platform_device; + struct ipa; /** * ipa_smp2p_init() - Initialize the IPA SMP2P subsystem * @ipa: IPA pointer + * @pdev: Platform device pointer * @modem_init: Whether the modem is responsible for GSI initialization * * Return: 0 if successful, or a negative error code - * */ -int ipa_smp2p_init(struct ipa *ipa, bool modem_init); +int ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev, + bool modem_init); /** * ipa_smp2p_exit() - Inverse of ipa_smp2p_init() From patchwork Fri Mar 1 17:02:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 208972 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp37825dyc; Fri, 1 Mar 2024 09:41:21 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVGnr8BPUfIL6LQvbsMxbboHJOl2NbBWMHZItsRl+dpZcSl2RrmajzhIQl5enuDhk1nSr/XhQHH0q1im8OQpkoTepgQEQ== X-Google-Smtp-Source: AGHT+IH4xcYsH/R2rmCFikf56QhcqwmSV63edRdS/uLHP3Ejqf2c5I4uuCzooMmW8NDwkyvCza7K X-Received: by 2002:a17:90b:60b:b0:296:416e:ce88 with SMTP id gb11-20020a17090b060b00b00296416ece88mr2012162pjb.49.1709314881671; Fri, 01 Mar 2024 09:41:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709314881; cv=pass; d=google.com; s=arc-20160816; b=R7nqciq3LemPTzGXgDow+Q3PTimlWoABHblDJTdzGYCrVpWgJPDxa5fQjz+t0LXddU qSlVchvBcxiaAC1tlvYx3aF0RhncQvXR30z7a5E6qYQ1SxerjBryzoMRU2w5+n7hh3g+ qJaLfSGOL4RnzjwsHxNZTRHAV0RMjdWC1hPCbIsFW4GwGcg2t4mrLF1zk96JRlPQZwzP wz8dUqZyZZ9oc3yycT0P3d961NB69EsvLmt4RVWsDWFcHiQqEzL0kEvukLwMJl3m+lNt 1JkH9TN2M5nSqjrY5t6POMD+wZuGZ0Ch4waBshvpkeNL/cVYw/G774oOTPeg3ftTTQP+ i98w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=HSgSXfgxd1HBfN5s8xR+nxlbFslYXN/BhixB/5WxxqU=; fh=nt6yBQc/babOUnIIx6yBxYXVV1PngvZdR/HLqq30apA=; b=CUQMkgQzzzbW7YCS0PiDT7jemWmDN9gWplOfEy4zZZURScnP5zI/CMbyJG4osEcUed O2xXoJR0/TYP1Pfgg4zNnIgALYZfF8vWIx9o/t9pFnmDtF93PoTzwFI3bNijXePXfD7i XIAgY+8DmGaF+MzRufOLCSIdr3UPMxXUM56DdMDX1MDmkbmDARsJZncHZZhwvXqHeWkZ bot9qjPpHwERGRrRSEI7g/XZ+kWSdwesjAfDLnc0eMHT+qHNknKFxocxsJc0RVulkpdh QE9ElMo1GTSrXngp5UtWwiP4iMn+ShKQeWc/0pnyC9+0wWlC665Ti2aLLLrXj2/xqViA otiQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gh7jdSsG; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88794-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88794-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id a4-20020a17090a854400b00298cc2f1af3si6046587pjw.28.2024.03.01.09.41.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:41:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-88794-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gh7jdSsG; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-88794-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-88794-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 42155B26C86 for ; Fri, 1 Mar 2024 17:05:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6E7F93A1D1; Fri, 1 Mar 2024 17:03:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gh7jdSsG" Received: from mail-il1-f172.google.com (mail-il1-f172.google.com [209.85.166.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3CBC27473 for ; Fri, 1 Mar 2024 17:02:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312579; cv=none; b=Yy7gD81z1fQOQxmvRxEqeLO69wX4Bune/ejYOSrkz+TIzIosUPMLDZTA5ODta0ie5m5Xvyhc4ddVw2Tiwrv4uLSVhU8oeDUIJfmvoWWF/HPQz3zUr1DYfWI4yEnbelpOMmWg65t77i3rFp+OIvJWO+5BAsmUOeZhJiJz2LT4gkw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709312579; c=relaxed/simple; bh=/qdWvtusvoG5pkLxxqc07SePTR8XmELOkvNg8Hp39Mg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tY1TO0Bvvf4eZEMDlcDYLLmIdfNVKT3AwgdqfqKGrpvdndU+ScfYPeL28e63WJ+vYp00p1U42AW+TZt2iKOtSkZ/7F0YPl7mGhmJ29yJNSdEBXHc/VgwjcoAN+ubNNGIJiRePRp7/fzUUTf8wE9N+RTGt3OB7U4KSFQpP0zgtVM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=gh7jdSsG; arc=none smtp.client-ip=209.85.166.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-il1-f172.google.com with SMTP id e9e14a558f8ab-365be6563cbso6859465ab.0 for ; Fri, 01 Mar 2024 09:02:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709312575; x=1709917375; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HSgSXfgxd1HBfN5s8xR+nxlbFslYXN/BhixB/5WxxqU=; b=gh7jdSsGYjXOuYFKoANHE0wsZskNVVbYqiFqpBMJy6rVbYkqlqeZ+EpIpkPn84s7jh BSP9rzgS5N4qFbllbYATDV1O95+RL7D68FUyQPzIZXbeWzgX7FyUTH92I0DvS+nybIfZ ObZCh7+Lg6lVlK17DcyNxnaFMObL4YlWP++xUcRxOomdsXGxDDj7djldHhO8FGtrxgov bQtqaAJd1kOtGutYuScCeIwWLKq7ShGx0Ws5f/iBLEW02wHZczQ6dYI/YmjNs8PiW2q3 7mrNZBdSwbGXHN4lNZMAUv2vvrvwnFWkEagseMHhRLD+UPuUY/7y+S6SjMKEQtljklXP fw1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709312575; x=1709917375; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HSgSXfgxd1HBfN5s8xR+nxlbFslYXN/BhixB/5WxxqU=; b=LnBqxdEFz3/W1GCTvPOKddVqRVzyKJuIw9zer6Cqr+S80nc67U3hEKBW6LJ53AzGiR L1/zavtewT0HCjydRPXfjg2aCSWR3mwE1mxglAlrlX43vB09gtfFT2K+7q76GrB3T86X /utqNcCqJLopGXvChv0i7LkqDTZ6e8X0k71J136U6tepKT4PBCCUhpxFqIpx/RYzuZaW hekLfurxq1E/Y2DjMMQtmvVzOSOpv5vG8tinfmmaFtrq/06nJZ7NGGZTi8pS5n7NYEVr a95WN/aLaXilDf1um3bLYshn2k46soz/8Jzzc1i5wF222VUKKMzWSYQGkk00Q3Ap1xB7 yr3A== X-Forwarded-Encrypted: i=1; AJvYcCXl6htuaNKkLaiUAZvJK9tmI5eRq7f8y5N3ZXH9oDRBS7+vt6xv7Qjnpng+3ioebxBDus/HjP3Fiof+i/wtap6AlF2EacKwWUERlv/2 X-Gm-Message-State: AOJu0Yyx7RcUbMVytNXXZAmKOMK2o66tKWatBfdRFGhkhgUeflNV/jeD p/OoLW/CF7z/GafRxRIT9NGJol4cb3I/r9Oo7joXb/BARoOOUCD2IxYIwBv45Y0= X-Received: by 2002:a05:6e02:1c22:b0:365:44:1ed6 with SMTP id m2-20020a056e021c2200b0036500441ed6mr2643355ilh.5.1709312574873; Fri, 01 Mar 2024 09:02:54 -0800 (PST) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id o2-20020a92dac2000000b0036581060910sm991430ilq.6.2024.03.01.09.02.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:02:54 -0800 (PST) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: horms@kernel.org, mka@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 Subject: [PATCH net-next v2 7/7] net: ipa: don't save the platform device Date: Fri, 1 Mar 2024 11:02:42 -0600 Message-Id: <20240301170242.243703-8-elder@linaro.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240301170242.243703-1-elder@linaro.org> References: <20240301170242.243703-1-elder@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792346561555802284 X-GMAIL-MSGID: 1792346561555802284 The IPA platform device is now only used as the structure containing the IPA device structure. Replace the platform device pointer with a pointer to the device structure. Signed-off-by: Alex Elder --- drivers/net/ipa/ipa.h | 5 ++--- drivers/net/ipa/ipa_cmd.c | 6 +++--- drivers/net/ipa/ipa_endpoint.c | 29 ++++++++++++++--------------- drivers/net/ipa/ipa_interrupt.c | 7 +++---- drivers/net/ipa/ipa_main.c | 13 ++++++++----- drivers/net/ipa/ipa_mem.c | 24 +++++++++++------------- drivers/net/ipa/ipa_modem.c | 14 +++++++------- drivers/net/ipa/ipa_power.c | 4 ++-- drivers/net/ipa/ipa_qmi.c | 10 +++++----- drivers/net/ipa/ipa_smp2p.c | 13 ++++++------- drivers/net/ipa/ipa_table.c | 18 ++++++++---------- drivers/net/ipa/ipa_uc.c | 9 ++++----- 12 files changed, 73 insertions(+), 79 deletions(-) diff --git a/drivers/net/ipa/ipa.h b/drivers/net/ipa/ipa.h index f3355e040a9e1..334cd62cf2866 100644 --- a/drivers/net/ipa/ipa.h +++ b/drivers/net/ipa/ipa.h @@ -21,7 +21,6 @@ struct clk; struct icc_path; struct net_device; -struct platform_device; struct ipa_power; struct ipa_smp2p; @@ -31,7 +30,7 @@ struct ipa_interrupt; * struct ipa - IPA information * @gsi: Embedded GSI structure * @version: IPA hardware version - * @pdev: Platform device + * @dev: IPA device pointer * @completion: Used to signal pipeline clear transfer complete * @nb: Notifier block used for remoteproc SSR * @notifier: Remoteproc SSR notifier @@ -79,7 +78,7 @@ struct ipa_interrupt; struct ipa { struct gsi gsi; enum ipa_version version; - struct platform_device *pdev; + struct device *dev; struct completion completion; struct notifier_block nb; void *notifier; diff --git a/drivers/net/ipa/ipa_cmd.c b/drivers/net/ipa/ipa_cmd.c index f1419fbd776c3..39219963dbb3f 100644 --- a/drivers/net/ipa/ipa_cmd.c +++ b/drivers/net/ipa/ipa_cmd.c @@ -174,7 +174,7 @@ bool ipa_cmd_table_init_valid(struct ipa *ipa, const struct ipa_mem *mem, u32 offset_max = field_max(IP_FLTRT_FLAGS_NHASH_ADDR_FMASK); u32 size_max = field_max(IP_FLTRT_FLAGS_NHASH_SIZE_FMASK); const char *table = route ? "route" : "filter"; - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; u32 size; size = route ? ipa->route_count : ipa->filter_count + 1; @@ -204,7 +204,7 @@ bool ipa_cmd_table_init_valid(struct ipa *ipa, const struct ipa_mem *mem, /* Validate the memory region that holds headers */ static bool ipa_cmd_header_init_local_valid(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; const struct ipa_mem *mem; u32 offset_max; u32 size_max; @@ -256,7 +256,7 @@ static bool ipa_cmd_register_write_offset_valid(struct ipa *ipa, const char *name, u32 offset) { struct ipa_cmd_register_write *payload; - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; u32 offset_max; u32 bit_count; diff --git a/drivers/net/ipa/ipa_endpoint.c b/drivers/net/ipa/ipa_endpoint.c index afa1d56d9095c..dd490941615e2 100644 --- a/drivers/net/ipa/ipa_endpoint.c +++ b/drivers/net/ipa/ipa_endpoint.c @@ -233,8 +233,8 @@ static bool ipa_endpoint_data_valid_one(struct ipa *ipa, u32 count, const struct ipa_gsi_endpoint_data *data) { const struct ipa_gsi_endpoint_data *other_data; - struct device *dev = &ipa->pdev->dev; enum ipa_endpoint_name other_name; + struct device *dev = ipa->dev; if (ipa_gsi_endpoint_data_empty(data)) return true; @@ -388,7 +388,7 @@ static u32 ipa_endpoint_max(struct ipa *ipa, u32 count, const struct ipa_gsi_endpoint_data *data) { const struct ipa_gsi_endpoint_data *dp = data; - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; enum ipa_endpoint_name name; u32 max; @@ -606,7 +606,7 @@ int ipa_endpoint_modem_exception_reset_all(struct ipa *ipa) count = ipa->modem_tx_count + ipa_cmd_pipeline_clear_count(); trans = ipa_cmd_trans_alloc(ipa, count); if (!trans) { - dev_err(&ipa->pdev->dev, + dev_err(ipa->dev, "no transaction to reset modem exception endpoints\n"); return -EBUSY; } @@ -1498,8 +1498,7 @@ ipa_endpoint_status_tag_valid(struct ipa_endpoint *endpoint, const void *data) if (endpoint_id == command_endpoint->endpoint_id) { complete(&ipa->completion); } else { - dev_err(&ipa->pdev->dev, - "unexpected tagged packet from endpoint %u\n", + dev_err(ipa->dev, "unexpected tagged packet from endpoint %u\n", endpoint_id); } @@ -1536,6 +1535,7 @@ static void ipa_endpoint_status_parse(struct ipa_endpoint *endpoint, void *data = page_address(page) + NET_SKB_PAD; u32 unused = buffer_size - total_len; struct ipa *ipa = endpoint->ipa; + struct device *dev = ipa->dev; u32 resid = total_len; while (resid) { @@ -1544,7 +1544,7 @@ static void ipa_endpoint_status_parse(struct ipa_endpoint *endpoint, u32 len; if (resid < IPA_STATUS_SIZE) { - dev_err(&endpoint->ipa->pdev->dev, + dev_err(dev, "short message (%u bytes < %zu byte status)\n", resid, IPA_STATUS_SIZE); break; @@ -1666,8 +1666,8 @@ void ipa_endpoint_default_route_clear(struct ipa *ipa) */ static int ipa_endpoint_reset_rx_aggr(struct ipa_endpoint *endpoint) { - struct device *dev = &endpoint->ipa->pdev->dev; struct ipa *ipa = endpoint->ipa; + struct device *dev = ipa->dev; struct gsi *gsi = &ipa->gsi; bool suspended = false; dma_addr_t addr; @@ -1769,7 +1769,7 @@ static void ipa_endpoint_reset(struct ipa_endpoint *endpoint) gsi_channel_reset(&ipa->gsi, channel_id, true); if (ret) - dev_err(&ipa->pdev->dev, + dev_err(ipa->dev, "error %d resetting channel %u for endpoint %u\n", ret, endpoint->channel_id, endpoint->endpoint_id); } @@ -1817,7 +1817,7 @@ int ipa_endpoint_enable_one(struct ipa_endpoint *endpoint) ret = gsi_channel_start(gsi, endpoint->channel_id); if (ret) { - dev_err(&ipa->pdev->dev, + dev_err(ipa->dev, "error %d starting %cX channel %u for endpoint %u\n", ret, endpoint->toward_ipa ? 'T' : 'R', endpoint->channel_id, endpoint_id); @@ -1854,14 +1854,13 @@ void ipa_endpoint_disable_one(struct ipa_endpoint *endpoint) /* Note that if stop fails, the channel's state is not well-defined */ ret = gsi_channel_stop(gsi, endpoint->channel_id); if (ret) - dev_err(&ipa->pdev->dev, - "error %d attempting to stop endpoint %u\n", ret, - endpoint_id); + dev_err(ipa->dev, "error %d attempting to stop endpoint %u\n", + ret, endpoint_id); } void ipa_endpoint_suspend_one(struct ipa_endpoint *endpoint) { - struct device *dev = &endpoint->ipa->pdev->dev; + struct device *dev = endpoint->ipa->dev; struct gsi *gsi = &endpoint->ipa->gsi; int ret; @@ -1881,7 +1880,7 @@ void ipa_endpoint_suspend_one(struct ipa_endpoint *endpoint) void ipa_endpoint_resume_one(struct ipa_endpoint *endpoint) { - struct device *dev = &endpoint->ipa->pdev->dev; + struct device *dev = endpoint->ipa->dev; struct gsi *gsi = &endpoint->ipa->gsi; int ret; @@ -1983,7 +1982,7 @@ void ipa_endpoint_deconfig(struct ipa *ipa) int ipa_endpoint_config(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; const struct reg *reg; u32 endpoint_id; u32 hw_limit; diff --git a/drivers/net/ipa/ipa_interrupt.c b/drivers/net/ipa/ipa_interrupt.c index 7399724160a89..c3e8784d51d91 100644 --- a/drivers/net/ipa/ipa_interrupt.c +++ b/drivers/net/ipa/ipa_interrupt.c @@ -110,14 +110,13 @@ static irqreturn_t ipa_isr_thread(int irq, void *dev_id) struct ipa_interrupt *interrupt = dev_id; struct ipa *ipa = interrupt->ipa; u32 enabled = interrupt->enabled; + struct device *dev = ipa->dev; const struct reg *reg; - struct device *dev; u32 pending; u32 offset; u32 mask; int ret; - dev = &ipa->pdev->dev; ret = pm_runtime_get_sync(dev); if (WARN_ON(ret < 0)) goto out_power_put; @@ -240,8 +239,8 @@ void ipa_interrupt_simulate_suspend(struct ipa_interrupt *interrupt) int ipa_interrupt_config(struct ipa *ipa) { struct ipa_interrupt *interrupt = ipa->interrupt; - struct device *dev = &ipa->pdev->dev; unsigned int irq = interrupt->irq; + struct device *dev = ipa->dev; const struct reg *reg; int ret; @@ -281,7 +280,7 @@ int ipa_interrupt_config(struct ipa *ipa) void ipa_interrupt_deconfig(struct ipa *ipa) { struct ipa_interrupt *interrupt = ipa->interrupt; - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; ipa->interrupt = NULL; diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 3125aec88e6e1..57b241417e8cd 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -7,7 +7,6 @@ #include #include #include -#include #include #include #include @@ -114,7 +113,7 @@ int ipa_setup(struct ipa *ipa) { struct ipa_endpoint *exception_endpoint; struct ipa_endpoint *command_endpoint; - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; int ret; ret = gsi_setup(&ipa->gsi); @@ -858,7 +857,7 @@ static int ipa_probe(struct platform_device *pdev) goto err_power_exit; } - ipa->pdev = pdev; + ipa->dev = dev; dev_set_drvdata(dev, ipa); ipa->interrupt = interrupt; ipa->power = power; @@ -953,12 +952,16 @@ static int ipa_probe(struct platform_device *pdev) static void ipa_remove(struct platform_device *pdev) { - struct ipa *ipa = dev_get_drvdata(&pdev->dev); - struct device *dev = &pdev->dev; struct ipa_interrupt *interrupt; struct ipa_power *power; + struct device *dev; + struct ipa *ipa; int ret; + ipa = dev_get_drvdata(&pdev->dev); + dev = ipa->dev; + WARN_ON(dev != &pdev->dev); + power = ipa->power; interrupt = ipa->interrupt; diff --git a/drivers/net/ipa/ipa_mem.c b/drivers/net/ipa/ipa_mem.c index d7df7d340221d..709f061ede617 100644 --- a/drivers/net/ipa/ipa_mem.c +++ b/drivers/net/ipa/ipa_mem.c @@ -88,7 +88,7 @@ int ipa_mem_setup(struct ipa *ipa) */ trans = ipa_cmd_trans_alloc(ipa, 4); if (!trans) { - dev_err(&ipa->pdev->dev, "no transaction for memory setup\n"); + dev_err(ipa->dev, "no transaction for memory setup\n"); return -EBUSY; } @@ -218,8 +218,8 @@ static bool ipa_mem_id_required(struct ipa *ipa, enum ipa_mem_id mem_id) static bool ipa_mem_valid_one(struct ipa *ipa, const struct ipa_mem *mem) { - struct device *dev = &ipa->pdev->dev; enum ipa_mem_id mem_id = mem->id; + struct device *dev = ipa->dev; u16 size_multiple; /* Make sure the memory region is valid for this version of IPA */ @@ -255,7 +255,7 @@ static bool ipa_mem_valid_one(struct ipa *ipa, const struct ipa_mem *mem) static bool ipa_mem_valid(struct ipa *ipa, const struct ipa_mem_data *mem_data) { DECLARE_BITMAP(regions, IPA_MEM_COUNT) = { }; - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; enum ipa_mem_id mem_id; u32 i; @@ -291,7 +291,7 @@ static bool ipa_mem_valid(struct ipa *ipa, const struct ipa_mem_data *mem_data) /* Do all memory regions fit within the IPA local memory? */ static bool ipa_mem_size_valid(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; u32 limit = ipa->mem_size; u32 i; @@ -318,7 +318,7 @@ static bool ipa_mem_size_valid(struct ipa *ipa) */ int ipa_mem_config(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; const struct ipa_mem *mem; const struct reg *reg; dma_addr_t addr; @@ -394,7 +394,7 @@ int ipa_mem_config(struct ipa *ipa) /* Inverse of ipa_mem_config() */ void ipa_mem_deconfig(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; dma_free_coherent(dev, ipa->zero_size, ipa->zero_virt, ipa->zero_addr); ipa->zero_size = 0; @@ -421,8 +421,7 @@ int ipa_mem_zero_modem(struct ipa *ipa) */ trans = ipa_cmd_trans_alloc(ipa, 3); if (!trans) { - dev_err(&ipa->pdev->dev, - "no transaction to zero modem memory\n"); + dev_err(ipa->dev, "no transaction to zero modem memory\n"); return -EBUSY; } @@ -453,7 +452,7 @@ int ipa_mem_zero_modem(struct ipa *ipa) */ static int ipa_imem_init(struct ipa *ipa, unsigned long addr, size_t size) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; struct iommu_domain *domain; unsigned long iova; phys_addr_t phys; @@ -486,13 +485,12 @@ static int ipa_imem_init(struct ipa *ipa, unsigned long addr, size_t size) static void ipa_imem_exit(struct ipa *ipa) { + struct device *dev = ipa->dev; struct iommu_domain *domain; - struct device *dev; if (!ipa->imem_size) return; - dev = &ipa->pdev->dev; domain = iommu_get_domain_for_dev(dev); if (domain) { size_t size; @@ -528,7 +526,7 @@ static void ipa_imem_exit(struct ipa *ipa) */ static int ipa_smem_init(struct ipa *ipa, u32 item, size_t size) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; struct iommu_domain *domain; unsigned long iova; phys_addr_t phys; @@ -595,7 +593,7 @@ static int ipa_smem_init(struct ipa *ipa, u32 item, size_t size) static void ipa_smem_exit(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; struct iommu_domain *domain; domain = iommu_get_domain_for_dev(dev); diff --git a/drivers/net/ipa/ipa_modem.c b/drivers/net/ipa/ipa_modem.c index 1d1be92fbebcb..c27ca3f27f7d4 100644 --- a/drivers/net/ipa/ipa_modem.c +++ b/drivers/net/ipa/ipa_modem.c @@ -58,7 +58,7 @@ static int ipa_open(struct net_device *netdev) struct device *dev; int ret; - dev = &ipa->pdev->dev; + dev = ipa->dev; ret = pm_runtime_get_sync(dev); if (ret < 0) goto err_power_put; @@ -94,7 +94,7 @@ static int ipa_stop(struct net_device *netdev) struct device *dev; int ret; - dev = &ipa->pdev->dev; + dev = ipa->dev; ret = pm_runtime_get_sync(dev); if (ret < 0) goto out_power_put; @@ -158,7 +158,7 @@ ipa_start_xmit(struct sk_buff *skb, struct net_device *netdev) */ netif_stop_queue(netdev); - dev = &ipa->pdev->dev; + dev = ipa->dev; ret = pm_runtime_get(dev); if (ret < 1) { /* If a resume won't happen, just drop the packet */ @@ -322,7 +322,7 @@ int ipa_modem_start(struct ipa *ipa) goto out_set_state; } - SET_NETDEV_DEV(netdev, &ipa->pdev->dev); + SET_NETDEV_DEV(netdev, ipa->dev); priv = netdev_priv(netdev); priv->ipa = ipa; priv->tx = ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX]; @@ -396,7 +396,7 @@ int ipa_modem_stop(struct ipa *ipa) /* Treat a "clean" modem stop the same as a crash */ static void ipa_modem_crashed(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; int ret; /* Prevent the modem from triggering a call to ipa_setup() */ @@ -443,7 +443,7 @@ static int ipa_modem_notify(struct notifier_block *nb, unsigned long action, { struct ipa *ipa = container_of(nb, struct ipa, nb); struct qcom_ssr_notify_data *notify_data = data; - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; switch (action) { case QCOM_SSR_BEFORE_POWERUP: @@ -492,7 +492,7 @@ int ipa_modem_config(struct ipa *ipa) void ipa_modem_deconfig(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; int ret; ret = qcom_unregister_ssr_notifier(ipa->notifier, &ipa->nb); diff --git a/drivers/net/ipa/ipa_power.c b/drivers/net/ipa/ipa_power.c index 0f635b8356bfb..41ca7ef5e20fc 100644 --- a/drivers/net/ipa/ipa_power.c +++ b/drivers/net/ipa/ipa_power.c @@ -238,7 +238,7 @@ int ipa_power_setup(struct ipa *ipa) ipa_interrupt_enable(ipa, IPA_IRQ_TX_SUSPEND); - ret = device_init_wakeup(&ipa->pdev->dev, true); + ret = device_init_wakeup(ipa->dev, true); if (ret) ipa_interrupt_disable(ipa, IPA_IRQ_TX_SUSPEND); @@ -247,7 +247,7 @@ int ipa_power_setup(struct ipa *ipa) void ipa_power_teardown(struct ipa *ipa) { - (void)device_init_wakeup(&ipa->pdev->dev, false); + (void)device_init_wakeup(ipa->dev, false); ipa_interrupt_disable(ipa, IPA_IRQ_TX_SUSPEND); } diff --git a/drivers/net/ipa/ipa_qmi.c b/drivers/net/ipa/ipa_qmi.c index f70f0a1d1cdac..65c40e207802a 100644 --- a/drivers/net/ipa/ipa_qmi.c +++ b/drivers/net/ipa/ipa_qmi.c @@ -96,7 +96,7 @@ static void ipa_server_init_complete(struct ipa_qmi *ipa_qmi) IPA_QMI_INIT_COMPLETE_IND_SZ, ipa_init_complete_ind_ei, &ind); if (ret) - dev_err(&ipa->pdev->dev, + dev_err(ipa->dev, "error %d sending init complete indication\n", ret); else ipa_qmi->indication_sent = true; @@ -148,7 +148,7 @@ static void ipa_qmi_ready(struct ipa_qmi *ipa_qmi) ipa = container_of(ipa_qmi, struct ipa, qmi); ret = ipa_modem_start(ipa); if (ret) - dev_err(&ipa->pdev->dev, "error %d starting modem\n", ret); + dev_err(ipa->dev, "error %d starting modem\n", ret); } /* All QMI clients from the modem node are gone (modem shut down or crashed). */ @@ -199,7 +199,7 @@ static void ipa_server_indication_register(struct qmi_handle *qmi, ipa_qmi->indication_requested = true; ipa_qmi_ready(ipa_qmi); /* We might be ready now */ } else { - dev_err(&ipa->pdev->dev, + dev_err(ipa->dev, "error %d sending register indication response\n", ret); } } @@ -228,7 +228,7 @@ static void ipa_server_driver_init_complete(struct qmi_handle *qmi, ipa_qmi->uc_ready = true; ipa_qmi_ready(ipa_qmi); /* We might be ready now */ } else { - dev_err(&ipa->pdev->dev, + dev_err(ipa->dev, "error %d sending init complete response\n", ret); } } @@ -417,7 +417,7 @@ static void ipa_client_init_driver_work(struct work_struct *work) qmi = &ipa_qmi->client_handle; ipa = container_of(ipa_qmi, struct ipa, qmi); - dev = &ipa->pdev->dev; + dev = ipa->dev; ret = qmi_txn_init(qmi, &txn, NULL, NULL); if (ret < 0) { diff --git a/drivers/net/ipa/ipa_smp2p.c b/drivers/net/ipa/ipa_smp2p.c index 831268551d9a7..aeccce9fab727 100644 --- a/drivers/net/ipa/ipa_smp2p.c +++ b/drivers/net/ipa/ipa_smp2p.c @@ -84,15 +84,13 @@ struct ipa_smp2p { */ static void ipa_smp2p_notify(struct ipa_smp2p *smp2p) { - struct device *dev; u32 value; u32 mask; if (smp2p->notified) return; - dev = &smp2p->ipa->pdev->dev; - smp2p->power_on = pm_runtime_get_if_active(dev, true) > 0; + smp2p->power_on = pm_runtime_get_if_active(smp2p->ipa->dev, true) > 0; /* Signal whether the IPA power is enabled */ mask = BIT(smp2p->enabled_bit); @@ -152,15 +150,16 @@ static void ipa_smp2p_panic_notifier_unregister(struct ipa_smp2p *smp2p) static irqreturn_t ipa_smp2p_modem_setup_ready_isr(int irq, void *dev_id) { struct ipa_smp2p *smp2p = dev_id; + struct ipa *ipa = smp2p->ipa; struct device *dev; int ret; /* Ignore any (spurious) interrupts received after the first */ - if (smp2p->ipa->setup_complete) + if (ipa->setup_complete) return IRQ_HANDLED; /* Power needs to be active for setup */ - dev = &smp2p->ipa->pdev->dev; + dev = ipa->dev; ret = pm_runtime_get_sync(dev); if (ret < 0) { dev_err(dev, "error %d getting power for setup\n", ret); @@ -168,7 +167,7 @@ static irqreturn_t ipa_smp2p_modem_setup_ready_isr(int irq, void *dev_id) } /* An error here won't cause driver shutdown, so warn if one occurs */ - ret = ipa_setup(smp2p->ipa); + ret = ipa_setup(ipa); WARN(ret != 0, "error %d from ipa_setup()\n", ret); out_power_put: @@ -209,7 +208,7 @@ static void ipa_smp2p_irq_exit(struct ipa_smp2p *smp2p, u32 irq) /* Drop the power reference if it was taken in ipa_smp2p_notify() */ static void ipa_smp2p_power_release(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; if (!ipa->smp2p->power_on) return; diff --git a/drivers/net/ipa/ipa_table.c b/drivers/net/ipa/ipa_table.c index 7b637bb8b41c8..a24ac11b8893d 100644 --- a/drivers/net/ipa/ipa_table.c +++ b/drivers/net/ipa/ipa_table.c @@ -163,7 +163,7 @@ ipa_table_mem(struct ipa *ipa, bool filter, bool hashed, bool ipv6) bool ipa_filtered_valid(struct ipa *ipa, u64 filtered) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; u32 count; if (!filtered) { @@ -236,8 +236,7 @@ ipa_filter_reset_table(struct ipa *ipa, bool hashed, bool ipv6, bool modem) trans = ipa_cmd_trans_alloc(ipa, hweight64(ep_mask)); if (!trans) { - dev_err(&ipa->pdev->dev, - "no transaction for %s filter reset\n", + dev_err(ipa->dev, "no transaction for %s filter reset\n", modem ? "modem" : "AP"); return -EBUSY; } @@ -298,8 +297,7 @@ static int ipa_route_reset(struct ipa *ipa, bool modem) trans = ipa_cmd_trans_alloc(ipa, hash_support ? 4 : 2); if (!trans) { - dev_err(&ipa->pdev->dev, - "no transaction for %s route reset\n", + dev_err(ipa->dev, "no transaction for %s route reset\n", modem ? "modem" : "AP"); return -EBUSY; } @@ -327,7 +325,7 @@ static int ipa_route_reset(struct ipa *ipa, bool modem) void ipa_table_reset(struct ipa *ipa, bool modem) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; const char *ee_name; int ret; @@ -356,7 +354,7 @@ int ipa_table_hash_flush(struct ipa *ipa) trans = ipa_cmd_trans_alloc(ipa, 1); if (!trans) { - dev_err(&ipa->pdev->dev, "no transaction for hash flush\n"); + dev_err(ipa->dev, "no transaction for hash flush\n"); return -EBUSY; } @@ -469,7 +467,7 @@ int ipa_table_setup(struct ipa *ipa) */ trans = ipa_cmd_trans_alloc(ipa, 8); if (!trans) { - dev_err(&ipa->pdev->dev, "no transaction for table setup\n"); + dev_err(ipa->dev, "no transaction for table setup\n"); return -EBUSY; } @@ -713,7 +711,7 @@ bool ipa_table_mem_valid(struct ipa *ipa, bool filter) */ int ipa_table_init(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; dma_addr_t addr; __le64 le_addr; __le64 *virt; @@ -763,7 +761,7 @@ int ipa_table_init(struct ipa *ipa) void ipa_table_exit(struct ipa *ipa) { u32 count = max_t(u32, 1 + ipa->filter_count, ipa->route_count); - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; size_t size; size = IPA_ZERO_RULE_SIZE + (1 + count) * sizeof(__le64); diff --git a/drivers/net/ipa/ipa_uc.c b/drivers/net/ipa/ipa_uc.c index 7eaa0b4ebed92..bfd5dc6dab432 100644 --- a/drivers/net/ipa/ipa_uc.c +++ b/drivers/net/ipa/ipa_uc.c @@ -127,7 +127,7 @@ static struct ipa_uc_mem_area *ipa_uc_shared(struct ipa *ipa) static void ipa_uc_event_handler(struct ipa *ipa) { struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa); - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; if (shared->event == IPA_UC_EVENT_ERROR) dev_err(dev, "microcontroller error event\n"); @@ -141,7 +141,7 @@ static void ipa_uc_event_handler(struct ipa *ipa) static void ipa_uc_response_hdlr(struct ipa *ipa) { struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa); - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; /* An INIT_COMPLETED response message is sent to the AP by the * microcontroller when it is operational. Other than this, the AP @@ -191,7 +191,7 @@ void ipa_uc_config(struct ipa *ipa) /* Inverse of ipa_uc_config() */ void ipa_uc_deconfig(struct ipa *ipa) { - struct device *dev = &ipa->pdev->dev; + struct device *dev = ipa->dev; ipa_interrupt_disable(ipa, IPA_IRQ_UC_1); ipa_interrupt_disable(ipa, IPA_IRQ_UC_0); @@ -208,8 +208,8 @@ void ipa_uc_deconfig(struct ipa *ipa) /* Take a proxy power reference for the microcontroller */ void ipa_uc_power(struct ipa *ipa) { + struct device *dev = ipa->dev; static bool already; - struct device *dev; int ret; if (already) @@ -217,7 +217,6 @@ void ipa_uc_power(struct ipa *ipa) already = true; /* Only do this on first boot */ /* This power reference dropped in ipa_uc_response_hdlr() above */ - dev = &ipa->pdev->dev; ret = pm_runtime_get_sync(dev); if (ret < 0) { pm_runtime_put_noidle(dev);