Re: [PATCH v2 08/15] net: rnpgbe: Add irq support
From: Simon Horman
Date: Tue Jul 22 2025 - 09:26:17 EST
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@xxxxxxxxx>
...
> 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)
...
> 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 Routine
Register
> + * @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;
> +}
...