From nobody Sun Jun 14 18:58:41 2026 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (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 DF4912D0622 for ; Sun, 5 Apr 2026 14:13:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775398432; cv=none; b=LMaynd7S2DrVH6bI7Xlz2r3gdN45Kw+cXQceufGsgOLG6Ho8/9pfq1og3LVaZ5Owb2TJd30t0tMWatig4/aUfR748zJF4R2mKW8bsLztJilcTPSm9rxh5zxHZQBt4NtNeBf7pk+Q+XGmhLo+HTi2WPNw5/8Vz14UcTv7ZBho1wc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775398432; c=relaxed/simple; bh=eI7uK9JgIZGXm+y6YPkBJPVNHd21oGhz4Zduel6JvOw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=R95HjpDPgNowmsTse8aeiOPIAEwm/EuBif6WCu9pgzIwaZ6T+5S/uWrQ6YDNR06pDXn1VUwpFaG2pYhkhR9zith6QsZBeOKVvx1sYfb+MBHKpY7Xz0BIVIru44g5rfd9Y4VWf82pvbVl7pzOrj0ZEaXzaEvMGcrBbHhvJPiL1JI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DqGFoGa+; arc=none smtp.client-ip=209.85.215.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DqGFoGa+" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-c76afacbb0bso226002a12.2 for ; Sun, 05 Apr 2026 07:13:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775398430; x=1776003230; 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=bzp2ryRQt9RDlOVSqTdsO/fnm73ORdbk3rSWRNH/Bqs=; b=DqGFoGa+/wQRNDr4aupsdOpBMQrGah3HucZZgJqe6g2LdYed1gJsIvoHLKcTfoRIN6 YbY5lRznv74Z0Q4Id39uUP9Q7kEJ4Cl14oA6FAsqsWRSJIAaN0/j6XWZ+Lff9fny+AtA jqA5Expt9JYzqEilYAUvU7VH59qCcKMOSRyq0R/Wcg7L3PIRt6XgI+RGUtsso5gV2nvA N+KLkp1wAYnGn6vPcEBFHia7WYwzxRmlBSUjzIOxWVEJ8egZk9GfUSTgCZ3egBwJIzD3 Amweh08hen8HJdIul0IkL7rGMFhKBaOKRE+A2SYrJLQRYDzXfA4cNaJTp6Lf3AyB1gfk vlLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775398430; x=1776003230; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=bzp2ryRQt9RDlOVSqTdsO/fnm73ORdbk3rSWRNH/Bqs=; b=Os8TAYrjk5UBwbWAQrNY9TvozM763hkN9OK/7khkUybXVs3lMCxssRcVxBFxCzZU+2 sn+SoeIq+2S/DI+NKU7caZznAC4PIaah1MOleTd3cOifHu38VeVLCTLK17k5KMskj4jG ucFR2JgBc6uwl/nZeO7daMr9xEBP2tJIDSF0HXD28d0SzbraYdi3mPEqf79rt7ROtecW zG0EIfSHmo+GK3jygeZBiCn7F+1Wv6m9XTfRv75JSolxY4DCkJvYP4wkS6BjWi3vO5Ji eh59qtdEeZApOqMRP9lPAv0dJ3qfgJE5ortHA/TLOtlFGXKdZywmLZDM22Xp6xXnZPyW PNuQ== X-Forwarded-Encrypted: i=1; AJvYcCWRG/TP9DQvJKe5/LAIlR2NQgx8ZRHzPHY2BI7houy4j+WmR/huynGEubIKuFkfCqRt3GWUgULYZ2o4XLo=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1KYZShAb6TE62/GHKqDIAzpQikftkEI2eTCVwcUXhnxljpatw KTqEmSPIzY2qG13/nzO00xoGgeWCtUlAadWfZXRkKGRPsK3TZlm1/ABU X-Gm-Gg: AeBDieu1I0lN+n0Rw6Vl2Q71LrX5KD+E7FzYfYupNw+ks6mrvL8y2p3oS7xjjkihynp cHI4aB4Fz+8O+gXTfGeRm7ypZ7KVw/e3oFXVX3gisAyPJFB0hVFLqU7DObQyLfnQen0/K4KOoc1 C/myqlsdKnB4jndE3TXm15ru1j6xpal2w9RuxhtsF4JjSmTfay1lqCbKu1gQfiDoxBFvBumi8C5 qcdde9GAeSYmW3OFU4mXwalw/cIckiKr2djvCPHCrdRqInuelVOMNWFIqtzNhbzsog8jvZrjDo4 Cptnch3YEHtZhYCRaaxCb+xLeXuX+1hBS6eKiaJnuIlYBkqA1qDxHR3fcv7PUYG5qJ9J+UYzJT8 pXVP0UtUXTHRa/8EdjdaezvSQjrqdumLERRdyvBQChLqwaTdduhKxGgZFZF8BNZwFwcWoZSKGnu 3dx/mk7CMND+oYskRWUowCWHnYdgUl X-Received: by 2002:a05:6a00:14c8:b0:82c:ae58:46a5 with SMTP id d2e1a72fcca58-82d0dbad46amr5686710b3a.5.1775398430045; Sun, 05 Apr 2026 07:13:50 -0700 (PDT) Received: from fedora ([2401:4900:82af:33ce:56b8:b90b:816d:c3d2]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82cf9a24039sm11244051b3a.0.2026.04.05.07.13.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 07:13:49 -0700 (PDT) From: Ayush Mukkanwar To: gregkh@linuxfoundation.org Cc: error27@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Ayush Mukkanwar Subject: [PATCH v4 1/3] staging: octeon: ethernet-mem: replace pr_warn with dev_warn in free functions Date: Sun, 5 Apr 2026 19:41:08 +0530 Message-ID: <20260405141111.87925-2-ayushmukkanwar@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260405141111.87925-1-ayushmukkanwar@gmail.com> References: <20260405141111.87925-1-ayushmukkanwar@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace pr_warn() calls with dev_warn() in the hardware pool free functions (cvm_oct_free_hw_skbuff and cvm_oct_free_hw_memory) to include device information in log messages. The struct device pointer is passed from cvm_oct_remove() through cvm_oct_mem_empty_fpa() to the internal free functions. Signed-off-by: Ayush Mukkanwar --- drivers/staging/octeon/ethernet-mem.c | 30 +++++++++++++++------------ drivers/staging/octeon/ethernet-mem.h | 2 +- drivers/staging/octeon/ethernet.c | 6 +++--- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/drivers/staging/octeon/ethernet-mem.c b/drivers/staging/octeon= /ethernet-mem.c index 532594957ebc..501a2f7487c1 100644 --- a/drivers/staging/octeon/ethernet-mem.c +++ b/drivers/staging/octeon/ethernet-mem.c @@ -40,11 +40,13 @@ static int cvm_oct_fill_hw_skbuff(int pool, int size, i= nt elements) =20 /** * cvm_oct_free_hw_skbuff- free hardware pool skbuffs + * @dev: Device for logging * @pool: Pool to allocate an skbuff for * @size: Size of the buffer needed for the pool * @elements: Number of buffers to allocate */ -static void cvm_oct_free_hw_skbuff(int pool, int size, int elements) +static void cvm_oct_free_hw_skbuff(struct device *dev, + int pool, int size, int elements) { char *memory; =20 @@ -59,11 +61,11 @@ static void cvm_oct_free_hw_skbuff(int pool, int size, = int elements) } while (memory); =20 if (elements < 0) - pr_warn("Freeing of pool %u had too many skbuffs (%d)\n", - pool, elements); + dev_warn(dev, "Freeing of pool %u had too many skbuffs (%d)\n", + pool, elements); else if (elements > 0) - pr_warn("Freeing of pool %u is missing %d skbuffs\n", - pool, elements); + dev_warn(dev, "Freeing of pool %u is missing %d skbuffs\n", + pool, elements); } =20 /** @@ -107,11 +109,13 @@ static int cvm_oct_fill_hw_memory(int pool, int size,= int elements) =20 /** * cvm_oct_free_hw_memory - Free memory allocated by cvm_oct_fill_hw_memory + * @dev: Device for logging * @pool: FPA pool to free * @size: Size of each buffer in the pool * @elements: Number of buffers that should be in the pool */ -static void cvm_oct_free_hw_memory(int pool, int size, int elements) +static void cvm_oct_free_hw_memory(struct device *dev, + int pool, int size, int elements) { char *memory; char *fpa; @@ -127,11 +131,11 @@ static void cvm_oct_free_hw_memory(int pool, int size= , int elements) } while (fpa); =20 if (elements < 0) - pr_warn("Freeing of pool %u had too many buffers (%d)\n", - pool, elements); + dev_warn(dev, "Freeing of pool %u had too many buffers (%d)\n", + pool, elements); else if (elements > 0) - pr_warn("Warning: Freeing of pool %u is missing %d buffers\n", - pool, elements); + dev_warn(dev, "Freeing of pool %u is missing %d buffers\n", + pool, elements); } =20 int cvm_oct_mem_fill_fpa(int pool, int size, int elements) @@ -145,10 +149,10 @@ int cvm_oct_mem_fill_fpa(int pool, int size, int elem= ents) return freed; } =20 -void cvm_oct_mem_empty_fpa(int pool, int size, int elements) +void cvm_oct_mem_empty_fpa(struct device *dev, int pool, int size, int ele= ments) { if (pool =3D=3D CVMX_FPA_PACKET_POOL) - cvm_oct_free_hw_skbuff(pool, size, elements); + cvm_oct_free_hw_skbuff(dev, pool, size, elements); else - cvm_oct_free_hw_memory(pool, size, elements); + cvm_oct_free_hw_memory(dev, pool, size, elements); } diff --git a/drivers/staging/octeon/ethernet-mem.h b/drivers/staging/octeon= /ethernet-mem.h index 692dcdb7154d..591e0bbb6f10 100644 --- a/drivers/staging/octeon/ethernet-mem.h +++ b/drivers/staging/octeon/ethernet-mem.h @@ -6,4 +6,4 @@ */ =20 int cvm_oct_mem_fill_fpa(int pool, int size, int elements); -void cvm_oct_mem_empty_fpa(int pool, int size, int elements); +void cvm_oct_mem_empty_fpa(struct device *dev, int pool, int size, int ele= ments); diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/eth= ernet.c index eadb74fc14c8..9eed0a89a2f3 100644 --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c @@ -958,12 +958,12 @@ static void cvm_oct_remove(struct platform_device *pd= ev) cvmx_ipd_free_ptr(); =20 /* Free the HW pools */ - cvm_oct_mem_empty_fpa(CVMX_FPA_PACKET_POOL, CVMX_FPA_PACKET_POOL_SIZE, + cvm_oct_mem_empty_fpa(&pdev->dev, CVMX_FPA_PACKET_POOL, CVMX_FPA_PACKET_P= OOL_SIZE, num_packet_buffers); - cvm_oct_mem_empty_fpa(CVMX_FPA_WQE_POOL, CVMX_FPA_WQE_POOL_SIZE, + cvm_oct_mem_empty_fpa(&pdev->dev, CVMX_FPA_WQE_POOL, CVMX_FPA_WQE_POOL_SI= ZE, num_packet_buffers); if (CVMX_FPA_OUTPUT_BUFFER_POOL !=3D CVMX_FPA_PACKET_POOL) - cvm_oct_mem_empty_fpa(CVMX_FPA_OUTPUT_BUFFER_POOL, + cvm_oct_mem_empty_fpa(&pdev->dev, CVMX_FPA_OUTPUT_BUFFER_POOL, CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE, 128); } =20 --=20 2.53.0 From nobody Sun Jun 14 18:58:41 2026 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (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 BAFD127B340 for ; Sun, 5 Apr 2026 14:13:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775398436; cv=none; b=ES6T8C/1hZn0d0+cQzWfG8K0g8fIV08p+CIDURYZZjNdlGuGHwVufoWeMquMArcZYw3mp8KRz6hGv7SHaPu+2Y4+oD1HUlYL9mhRVmUx/Bnie36PO17q/0BANuoPQrfqwSkXLIs+oE94MEgXF6P7GqJVs0MdqPvgnPA7V+J7i68= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775398436; c=relaxed/simple; bh=5iwJhQYYbwsxuTbKD8nCPs9tkmq0GQfZLkUvDMAr7J4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Okht/wQorWzxaUPTOU9dpk8M+LbCRFguHKnFN9LpfEjeBy7bf+Vv/xOnxwUG0xlVKmYraU9VBjjq4tNrsawCMuKAsCiD37KhWfwG9usbRqJCJvgxtdvXUwkYfZIoQI9ukzb7QHqvabfW6gxOkKBuKolahKeubcyqdDOMzlHJw8U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=C1aw0UTr; arc=none smtp.client-ip=209.85.210.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="C1aw0UTr" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-82c5a92b79aso205692b3a.1 for ; Sun, 05 Apr 2026 07:13:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775398434; x=1776003234; 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=jR/dnlHtCukrPdxSjUklKCl3P9S0GVej8h4yO/skypk=; b=C1aw0UTrvh1Lo3OpPH2hoawEjpiB1pncZAjgIN8iIajFDNFmtzOdE4CKwpHLrgXt0v Yt7+W5Iwr1Gym+IVbAoagxU2OwPR/kWVUVNI5VZmpfXTZDu3SJ8P3fOOl9VJQdgI1iuF ph4RvM6yEpKunV83B5a7ZMHqo4/JUADAMDVuEmDLxZMuAdNYsWS1YgXbBQN50ug/rzdS sxLXoRnwmO4TcdD7uOtmHbexQs6Ze2TiSUJ7qiEm0C7gP1mp3Z8mruIR9ppTS3mX4RRK bXBLQIl+yoCa/qMNidUIDrlqxf9nEVdI/yMn85ERw+NXuguABxcVV75iTso2Ts2eaZZD r5mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775398434; x=1776003234; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jR/dnlHtCukrPdxSjUklKCl3P9S0GVej8h4yO/skypk=; b=bLN8kBrUusHs97/Nr7QkhW19ObDiRua+5oxDyuaEIsGjAO9pZnnUWUQSdjuGtZE+Dc oNua6uW1xvuvDXNw40fzxsGYWPXqJUYdOjCOxZ7+etEb38IIE+0Nj87WyPn/JHPwH6Ag hxD8naHo0kCr0CcPEQYJcnFk2Hu1rOaKBrHnD12VjW2Jw8cw6Vgss2zWLvw7zo92GOo3 DBr1bVlNE6tuADwqmJwz57Vo1DVEOOfAUBcaQDOD5JvRatmxXVacOb8o0/VZg7b/MTNt swcWG16CUz5s6Prl9+/l5QVeHtFVL7c42B48Zxa00fxPyXLhuqfIMWTO1PulmixQR7Im BtuQ== X-Forwarded-Encrypted: i=1; AJvYcCV5tScm3qbj2+h0bPQ3GKRwEJHL8lMvppMP6Wc2VzPxP8oSw1Mzz1F0U5HDGVV0e4LWnfBWmpqG0jfwqXI=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4odaVN1YfBEHzs3wshDmiA5odZZUwOwx8z9Ub2YvSVKllKhIh VMTip+AO6lLpwz+fPC7b4H2LlKeHiQfr7r7rynThfpRF94MTiD7FOX6C X-Gm-Gg: AeBDiestWPrKv7UFcgFVwFskjn6H9og/OPvArMx3ANwtb/7WS5pLccjf2NzSqg3M6qY 1+8wrQHaK0nHYhf2Se6ksygEhXVCdapUZIN3z2C2SK9IvlV6RuAIYWS+5YeCGcnVKrOEV3DBGUl r9DX7Bk6I+Cp6/R+PxIK2xH4VUwUssmA2swuQUC04/SVp7Pd6JCmHTiCI75bsFlIgJXdB8Ak9lA KpZoWlusk/mVZRlYJ+mJdUiTn4lWoSpbfdU19lxBuZG/9+5MSqGDPEhvHZDIAi8XaE/cISwxtff /Ee/Ughs0U8CV4h7vnIs4pFou0qyZmvrV1zSJ7rmPJ7mnza4jVIcXGGnjfmDs2rdQCmQUvbQypJ 79hfcJA6L8FZrqYP+Hx2YSg5eKXkXqwqNaq2MGQU4ZX+1uwGhnsB1wnVPq/YpYqxQ5pn6I1IP5c lvRgCOuH9DLtmPvSOqsBtg7N5cwDrz X-Received: by 2002:a05:6a00:2d25:b0:82c:de99:3302 with SMTP id d2e1a72fcca58-82d0da41d7cmr6005413b3a.1.1775398433934; Sun, 05 Apr 2026 07:13:53 -0700 (PDT) Received: from fedora ([2401:4900:82af:33ce:56b8:b90b:816d:c3d2]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82cf9a24039sm11244051b3a.0.2026.04.05.07.13.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 07:13:53 -0700 (PDT) From: Ayush Mukkanwar To: gregkh@linuxfoundation.org Cc: error27@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Ayush Mukkanwar Subject: [PATCH v4 2/3] staging: octeon: replace pr_warn with dev_warn in fill path Date: Sun, 5 Apr 2026 19:41:09 +0530 Message-ID: <20260405141111.87925-3-ayushmukkanwar@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260405141111.87925-1-ayushmukkanwar@gmail.com> References: <20260405141111.87925-1-ayushmukkanwar@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace pr_warn() with dev_warn() in cvm_oct_fill_hw_memory() to include device information in log messages. To make the device pointer accessible from the workqueue callback, introduce struct octeon_ethernet_platform to hold both a struct device pointer and the delayed_work. This replaces the static global cvm_oct_rx_refill_work. The struct is allocated with devm_kzalloc() in probe() and stored via platform_set_drvdata(). The worker retrieves it using container_of(). Add a struct device pointer to oct_rx_group and thread it through cvm_oct_rx_initialize() to support the NAPI poll refill path. Signed-off-by: Ayush Mukkanwar --- drivers/staging/octeon/ethernet-mem.c | 12 +++++---- drivers/staging/octeon/ethernet-mem.h | 2 +- drivers/staging/octeon/ethernet-rx.c | 6 +++-- drivers/staging/octeon/ethernet-rx.h | 6 ++--- drivers/staging/octeon/ethernet.c | 39 ++++++++++++++++++--------- 5 files changed, 42 insertions(+), 23 deletions(-) diff --git a/drivers/staging/octeon/ethernet-mem.c b/drivers/staging/octeon= /ethernet-mem.c index 501a2f7487c1..f182698dd057 100644 --- a/drivers/staging/octeon/ethernet-mem.c +++ b/drivers/staging/octeon/ethernet-mem.c @@ -70,13 +70,15 @@ static void cvm_oct_free_hw_skbuff(struct device *dev, =20 /** * cvm_oct_fill_hw_memory - fill a hardware pool with memory. + * @dev: Device for logging * @pool: Pool to populate * @size: Size of each buffer in the pool * @elements: Number of buffers to allocate * * Returns the actual number of buffers allocated. */ -static int cvm_oct_fill_hw_memory(int pool, int size, int elements) +static int cvm_oct_fill_hw_memory(struct device *dev, int pool, int size, + int elements) { char *memory; char *fpa; @@ -95,8 +97,8 @@ static int cvm_oct_fill_hw_memory(int pool, int size, int= elements) */ memory =3D kmalloc(size + 256, GFP_ATOMIC); if (unlikely(!memory)) { - pr_warn("Unable to allocate %u bytes for FPA pool %d\n", - elements * size, pool); + dev_warn(dev, "Unable to allocate %u bytes for FPA pool %d\n", + elements * size, pool); break; } fpa =3D (char *)(((unsigned long)memory + 256) & ~0x7fUL); @@ -138,14 +140,14 @@ static void cvm_oct_free_hw_memory(struct device *dev, pool, elements); } =20 -int cvm_oct_mem_fill_fpa(int pool, int size, int elements) +int cvm_oct_mem_fill_fpa(struct device *dev, int pool, int size, int eleme= nts) { int freed; =20 if (pool =3D=3D CVMX_FPA_PACKET_POOL) freed =3D cvm_oct_fill_hw_skbuff(pool, size, elements); else - freed =3D cvm_oct_fill_hw_memory(pool, size, elements); + freed =3D cvm_oct_fill_hw_memory(dev, pool, size, elements); return freed; } =20 diff --git a/drivers/staging/octeon/ethernet-mem.h b/drivers/staging/octeon= /ethernet-mem.h index 591e0bbb6f10..edfc93b2b23b 100644 --- a/drivers/staging/octeon/ethernet-mem.h +++ b/drivers/staging/octeon/ethernet-mem.h @@ -5,5 +5,5 @@ * Copyright (c) 2003-2007 Cavium Networks */ =20 -int cvm_oct_mem_fill_fpa(int pool, int size, int elements); +int cvm_oct_mem_fill_fpa(struct device *dev, int pool, int size, int eleme= nts); void cvm_oct_mem_empty_fpa(struct device *dev, int pool, int size, int ele= ments); diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/= ethernet-rx.c index d0b43d50b83c..a2f4e52d69f3 100644 --- a/drivers/staging/octeon/ethernet-rx.c +++ b/drivers/staging/octeon/ethernet-rx.c @@ -35,6 +35,7 @@ static struct oct_rx_group { int irq; int group; struct napi_struct napi; + struct device *dev; } oct_rx_group[16]; =20 /** @@ -397,7 +398,7 @@ static int cvm_oct_poll(struct oct_rx_group *rx_group, = int budget) /* Restore the scratch area */ cvmx_scratch_write64(CVMX_SCR_SCRATCH, old_scratch); } - cvm_oct_rx_refill_pool(0); + cvm_oct_rx_refill_pool(rx_group->dev, 0); =20 return rx_count; } @@ -448,7 +449,7 @@ void cvm_oct_poll_controller(struct net_device *dev) } #endif =20 -void cvm_oct_rx_initialize(void) +void cvm_oct_rx_initialize(struct device *dev) { int i; struct net_device *dev_for_napi =3D NULL; @@ -475,6 +476,7 @@ void cvm_oct_rx_initialize(void) =20 oct_rx_group[i].irq =3D OCTEON_IRQ_WORKQ0 + i; oct_rx_group[i].group =3D i; + oct_rx_group[i].dev =3D dev; =20 /* Register an IRQ handler to receive POW interrupts */ ret =3D request_irq(oct_rx_group[i].irq, cvm_oct_do_interrupt, 0, diff --git a/drivers/staging/octeon/ethernet-rx.h b/drivers/staging/octeon/= ethernet-rx.h index ff6482fa20d6..636ee7d549f6 100644 --- a/drivers/staging/octeon/ethernet-rx.h +++ b/drivers/staging/octeon/ethernet-rx.h @@ -6,10 +6,10 @@ */ =20 void cvm_oct_poll_controller(struct net_device *dev); -void cvm_oct_rx_initialize(void); +void cvm_oct_rx_initialize(struct device *dev); void cvm_oct_rx_shutdown(void); =20 -static inline void cvm_oct_rx_refill_pool(int fill_threshold) +static inline void cvm_oct_rx_refill_pool(struct device *dev, int fill_thr= eshold) { int number_to_free; int num_freed; @@ -20,7 +20,7 @@ static inline void cvm_oct_rx_refill_pool(int fill_thresh= old) if (number_to_free > fill_threshold) { cvmx_fau_atomic_add32(FAU_NUM_PACKET_BUFFERS_TO_FREE, -number_to_free); - num_freed =3D cvm_oct_mem_fill_fpa(CVMX_FPA_PACKET_POOL, + num_freed =3D cvm_oct_mem_fill_fpa(dev, CVMX_FPA_PACKET_POOL, CVMX_FPA_PACKET_POOL_SIZE, number_to_free); if (num_freed !=3D number_to_free) { diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/eth= ernet.c index 9eed0a89a2f3..a7ac29c0a4ca 100644 --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c @@ -104,11 +104,15 @@ struct net_device *cvm_oct_device[TOTAL_NUMBER_OF_POR= TS]; =20 u64 cvm_oct_tx_poll_interval; =20 -static void cvm_oct_rx_refill_worker(struct work_struct *work); -static DECLARE_DELAYED_WORK(cvm_oct_rx_refill_work, cvm_oct_rx_refill_work= er); +struct octeon_ethernet_platform { + struct device *dev; + struct delayed_work rx_refill_work; +}; =20 static void cvm_oct_rx_refill_worker(struct work_struct *work) { + struct octeon_ethernet_platform *plt =3D container_of(work, + struct octeon_ethernet_platform, rx_refill_work.work); /* * FPA 0 may have been drained, try to refill it if we need * more than num_packet_buffers / 2, otherwise normal receive @@ -116,10 +120,10 @@ static void cvm_oct_rx_refill_worker(struct work_stru= ct *work) * could be received so cvm_oct_napi_poll would never be * invoked to do the refill. */ - cvm_oct_rx_refill_pool(num_packet_buffers / 2); + cvm_oct_rx_refill_pool(plt->dev, num_packet_buffers / 2); =20 if (!atomic_read(&cvm_oct_poll_queue_stopping)) - schedule_delayed_work(&cvm_oct_rx_refill_work, HZ); + schedule_delayed_work(&plt->rx_refill_work, HZ); } =20 static void cvm_oct_periodic_worker(struct work_struct *work) @@ -138,16 +142,16 @@ static void cvm_oct_periodic_worker(struct work_struc= t *work) schedule_delayed_work(&priv->port_periodic_work, HZ); } =20 -static void cvm_oct_configure_common_hw(void) +static void cvm_oct_configure_common_hw(struct device *dev) { /* Setup the FPA */ cvmx_fpa_enable(); - cvm_oct_mem_fill_fpa(CVMX_FPA_PACKET_POOL, CVMX_FPA_PACKET_POOL_SIZE, + cvm_oct_mem_fill_fpa(dev, CVMX_FPA_PACKET_POOL, CVMX_FPA_PACKET_POOL_SIZE, num_packet_buffers); - cvm_oct_mem_fill_fpa(CVMX_FPA_WQE_POOL, CVMX_FPA_WQE_POOL_SIZE, + cvm_oct_mem_fill_fpa(dev, CVMX_FPA_WQE_POOL, CVMX_FPA_WQE_POOL_SIZE, num_packet_buffers); if (CVMX_FPA_OUTPUT_BUFFER_POOL !=3D CVMX_FPA_PACKET_POOL) - cvm_oct_mem_fill_fpa(CVMX_FPA_OUTPUT_BUFFER_POOL, + cvm_oct_mem_fill_fpa(dev, CVMX_FPA_OUTPUT_BUFFER_POOL, CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE, 1024); =20 #ifdef __LITTLE_ENDIAN @@ -678,6 +682,15 @@ static int cvm_oct_probe(struct platform_device *pdev) int qos; struct device_node *pip; int mtu_overhead =3D ETH_HLEN + ETH_FCS_LEN; + struct octeon_ethernet_platform *plt; + + plt =3D devm_kzalloc(&pdev->dev, sizeof(*plt), GFP_KERNEL); + if (!plt) + return -ENOMEM; + + plt->dev =3D &pdev->dev; + INIT_DELAYED_WORK(&plt->rx_refill_work, cvm_oct_rx_refill_worker); + platform_set_drvdata(pdev, plt); =20 #if IS_ENABLED(CONFIG_VLAN_8021Q) mtu_overhead +=3D VLAN_HLEN; @@ -689,7 +702,7 @@ static int cvm_oct_probe(struct platform_device *pdev) return -EINVAL; } =20 - cvm_oct_configure_common_hw(); + cvm_oct_configure_common_hw(&pdev->dev); =20 cvmx_helper_initialize_packet_io_global(); =20 @@ -912,26 +925,28 @@ static int cvm_oct_probe(struct platform_device *pdev) } =20 cvm_oct_tx_initialize(); - cvm_oct_rx_initialize(); + cvm_oct_rx_initialize(&pdev->dev); =20 /* * 150 uS: about 10 1500-byte packets at 1GE. */ cvm_oct_tx_poll_interval =3D 150 * (octeon_get_clock_rate() / 1000000); =20 - schedule_delayed_work(&cvm_oct_rx_refill_work, HZ); + schedule_delayed_work(&plt->rx_refill_work, HZ); =20 return 0; } =20 static void cvm_oct_remove(struct platform_device *pdev) { + struct octeon_ethernet_platform *plt =3D platform_get_drvdata(pdev); int port; =20 cvmx_ipd_disable(); =20 atomic_inc_return(&cvm_oct_poll_queue_stopping); - cancel_delayed_work_sync(&cvm_oct_rx_refill_work); + + cancel_delayed_work_sync(&plt->rx_refill_work); =20 cvm_oct_rx_shutdown(); cvm_oct_tx_shutdown(); --=20 2.53.0 From nobody Sun Jun 14 18:58:41 2026 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.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 7A870225775 for ; Sun, 5 Apr 2026 14:13:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775398439; cv=none; b=M5D13O6P193NW7dxDxY63NlBP1/CsFl5uYRWwd2Iam5N0H82BWpRWJOg+TgEhVwLqHIBp/gaL6cs7hh1xKrXeeBRv0o5+nDG6ch2gjxt/U36xIu+caYAL1PJyF+fTifpmDS2KeBS55lcI0gQ4DxjgBTSi4JU7WKgf3K6ouXT1go= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775398439; c=relaxed/simple; bh=SeLHWJSm3VQuJCEeSaRLCqVnoUtA8KmutbSxFLsMJII=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mrDO/DFZuJhknwD3EUBwTZBVjjdqZb6D73XXVoywtJmPXmBu5MnxCiFSOUVbDjyuy5W4hyp0trhq3t2Gfj38Ke3efUAz7qBlsXCubVT3jH0D8mlSdn/hszaHCpwmYgMyYjEP6UpMMY/ATrmxwaNe5dGzA8AlitJRhOUuSQZnKzM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gg34aU/T; arc=none smtp.client-ip=209.85.210.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gg34aU/T" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-824bcb2011bso187611b3a.3 for ; Sun, 05 Apr 2026 07:13:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775398438; x=1776003238; 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=PeeYoJchmIwBM/6rDWjV5/Iw+D5ZiU05N5VNWiTx3CM=; b=gg34aU/T3Gt97haayh6auuOpH4r166TYdISXnQFqQgYO9Bs3HWGF9ubLy6cDYuMDGj OPjppgITqbK5fE201T4IDXn9wJpBnUl6ofSt7iirZYjvR80XWumvo74UlHNH2hNytwlY kklHuJJ2p+cFxZLodFRINwXKgDEcub7SDpmqsGfcrwvsRq8j2jOmtVXOdabzfDVSBakF UmRtyfWIMV19im23IT5xu3Kow0nRJjR8dsKpp5ZJyJ7KOvF+z5VirdvWLhNo4d6cApNW aW94ZLyDf7U56shSKxX6tRx9yCzesc5NWETNuUIha1oH55z3JnD50rSgt6LJB45htdwL +rOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775398438; x=1776003238; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PeeYoJchmIwBM/6rDWjV5/Iw+D5ZiU05N5VNWiTx3CM=; b=Lb1VnIF0sZGbKmaWGQSU4kIZkGgp3IIE8V4euBywIhO4ov9osKvBaZoO3rNgtUiE8k UZEyISiB0qD62Ael6yuwPwmeIBK49RzQHxoL0rBqy1v1JRk236yBt6P1+9dafEjhJyXL DoHgPgat0lXARuVuvVOJsPgik5/lsR90FAkOtf3pVmugvuXHFKVFNTeydyVTMJMXwaib Zk+FVMhcYm+YSdUxoVNp/gfdPWztmMmYzjMFJ4jvPplAaPi+dtoSu1fLooC4VmPteuyC xc0MRX7vqza3hWOR6yZ2zpuxYnntkVOVxdtV2ZovEwOa9Ov/akEOPBPCGgVb0nOBlyKn Rxmw== X-Forwarded-Encrypted: i=1; AJvYcCXnvORQEGaYOGe+IUaIstHY+ldt8vDByNv59ZNugiToV9rTmdHrM5psqRmKmz28AqhCXlJSJ45u3uhMTw0=@vger.kernel.org X-Gm-Message-State: AOJu0YxMDH1WQZWV3Za+Vk8wJevuMKPSdnM0vH4fcbEqtkWKzUNQ7mtQ 0ItyPf5W1qTFhECNXGUTH7F4kddj20R3hMaA4SZH7vFt/OjaNjZJ2iA9 X-Gm-Gg: AeBDieuSLScuMHsN/UVXGgUcCRZZ7R4KrwdEsW5ZpIqTpu1wHLVYZAQGpkG7Gc+Imhz 9+uqh/c4Qy5WZEpIOp77SM5xYy5LX2ui8Y7ob9YfmoG1428uQ85PQKkksz5OovyKgTiQVtTvYcR pXTRwVDKGyUBW7RsxSyB61+2MnAS+ELQGNF1DHTtRCazh95ZaOiUo44xmpGbNqTGU9i8kcfz5oS WsPm/WO/eOSDi+aVFC9F71wNsKScxsS/vwsBikqLUCWFdMXIfimEwEbbhCp7SmGidMwjQopY42h nB3XpYZAPe2f7bcCjo+ZFIgBb5TjwmtKu3UhZ14gbSgymKOJTLMu/xU5cC1+si5TAzMfMooqGxI N74obE+zc2SgDl1HVIdr7tbWXq0BvK1IXpq57HriSDgqRUduCjJdaz+GSHmDhhF/9iP4BPcxRUg ZILeQ3yeUbESVgFTdx+q3Tp50dIu0bkK6pfwWoQIc= X-Received: by 2002:a05:6a00:4506:b0:823:b2c:4aa9 with SMTP id d2e1a72fcca58-82d0da464c3mr5308118b3a.2.1775398437737; Sun, 05 Apr 2026 07:13:57 -0700 (PDT) Received: from fedora ([2401:4900:82af:33ce:56b8:b90b:816d:c3d2]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82cf9a24039sm11244051b3a.0.2026.04.05.07.13.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 07:13:57 -0700 (PDT) From: Ayush Mukkanwar To: gregkh@linuxfoundation.org Cc: error27@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Ayush Mukkanwar Subject: [PATCH v4 3/3] staging: octeon: ethernet: replace pr_err and pr_info with dev_err and netdev_err Date: Sun, 5 Apr 2026 19:41:10 +0530 Message-ID: <20260405141111.87925-4-ayushmukkanwar@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260405141111.87925-1-ayushmukkanwar@gmail.com> References: <20260405141111.87925-1-ayushmukkanwar@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace pr_err() and pr_info() calls in cvm_oct_probe() with dev_err(), netdev_err(), and netdev_info() to include device information in log messages. Use dev_err() where no net_device is available (allocation failures), and netdev_err()/netdev_info() where a net_device exists. Signed-off-by: Ayush Mukkanwar --- drivers/staging/octeon/ethernet.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/eth= ernet.c index a7ac29c0a4ca..7c3cfd9efa7e 100644 --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c @@ -698,7 +698,7 @@ static int cvm_oct_probe(struct platform_device *pdev) =20 pip =3D pdev->dev.of_node; if (!pip) { - pr_err("Error: No 'pip' in /aliases\n"); + dev_err(&pdev->dev, "No 'pip' in /aliases\n"); return -EINVAL; } =20 @@ -796,16 +796,16 @@ static int cvm_oct_probe(struct platform_device *pdev) dev->max_mtu =3D OCTEON_MAX_MTU - mtu_overhead; =20 if (register_netdev(dev) < 0) { - pr_err("Failed to register ethernet device for POW\n"); + netdev_err(dev, "Failed to register ethernet device for POW\n"); free_netdev(dev); } else { cvm_oct_device[CVMX_PIP_NUM_INPUT_PORTS] =3D dev; - pr_info("%s: POW send group %d, receive group %d\n", - dev->name, pow_send_group, - pow_receive_group); + netdev_info(dev, "POW send group %d, receive group %d\n", + pow_send_group, + pow_receive_group); } } else { - pr_err("Failed to allocate ethernet device for POW\n"); + dev_err(&pdev->dev, "Failed to allocate ethernet device for POW\n"); } } =20 @@ -825,8 +825,8 @@ static int cvm_oct_probe(struct platform_device *pdev) struct net_device *dev =3D alloc_etherdev(sizeof(struct octeon_ethernet)); if (!dev) { - pr_err("Failed to allocate ethernet device for port %d\n", - port); + dev_err(&pdev->dev, "Failed to allocate ethernet device for port %d\n", + port); continue; } =20 @@ -910,8 +910,8 @@ static int cvm_oct_probe(struct platform_device *pdev) if (!dev->netdev_ops) { free_netdev(dev); } else if (register_netdev(dev) < 0) { - pr_err("Failed to register ethernet device for interface %d, port %d\n= ", - interface, priv->port); + netdev_err(dev, "Failed to register ethernet device for interface %d, = port %d\n", + interface, priv->port); free_netdev(dev); } else { cvm_oct_device[priv->port] =3D dev; --=20 2.53.0