Re: [PATCH v2 08/15] net: rnpgbe: Add irq support
From: Simon Horman <horms@kernel.org>
Date: 2025-07-22 13:26:03
Also in:
linux-doc, lkml
On Mon, Jul 21, 2025 at 07:32:31PM +0800, Dong Yibo wrote:
Initialize irq functions for driver use. Signed-off-by: Dong Yibo <dong100@mucse.com>
...
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.c
...
+/** + * rnpgbe_acquire_msix_vectors - Allocate msix vectors + * @mucse: pointer to private structure + * @vectors: number of msix vectors
Please also document the return value for functions that have one and a kernel doc. Flagged by ./scripts/kernel-doc --none -Wall
+ **/ +static int rnpgbe_acquire_msix_vectors(struct mucse *mucse, + int vectors)
...
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c
...
+/**
+ * rnpgbe_msix_other - Other irq handler
+ * @irq: irq num
+ * @data: private data
+ *
+ * @return: IRQ_HANDLED
+ **/
+static irqreturn_t rnpgbe_msix_other(int irq, void *data)
+{
+ struct mucse *mucse = (struct mucse *)data;
+
+ set_bit(__MUCSE_IN_IRQ, &mucse->state);
+ clear_bit(__MUCSE_IN_IRQ, &mucse->state);
+
+ return IRQ_HANDLED;
+}
+
+/**
+ * register_mbx_irq - Regist mbx RoutineRegister
+ * @mucse: pointer to private structure
+ *
+ * @return: 0 on success, negative on failure
+ **/
+static int register_mbx_irq(struct mucse *mucse)
+{
+ struct mucse_hw *hw = &mucse->hw;
+ struct net_device *netdev = mucse->netdev;
+ int err = 0;Nit, unlike most of this patch(set) the above doesn't follow reverse xmas tree order - longest line to shortest - for variable declarations. Edward Cree's tool can be useful here. https://github.com/ecree-solarflare/xmastree/
+
+ /* for mbx:vector0 */
+ if (mucse->num_other_vectors == 0)
+ return err;
+ /* only do this in msix mode */
+ if (mucse->flags & M_FLAG_MSIX_ENABLED) {
+ err = request_irq(mucse->msix_entries[0].vector,
+ rnpgbe_msix_other, 0, netdev->name,
+ mucse);
+ if (err)
+ goto err_mbx;
+ hw->mbx.ops.configure(hw,
+ mucse->msix_entries[0].entry,
+ true);
+ hw->mbx.irq_enabled = true;
+ }
+err_mbx:
+ return err;
+}...