static irqreturn_t rcar_canfd_channel_tx_interrupt(int irq, void *dev_id)
 {
-       struct rcar_canfd_global *gpriv = dev_id;
-       u32 ch;
+       struct rcar_canfd_channel *priv = dev_id;
 
-       for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels)
-               rcar_canfd_handle_channel_tx(gpriv, ch);
+       rcar_canfd_handle_channel_tx(priv->gpriv, priv->channel);
 
        return IRQ_HANDLED;
 }
 
 static irqreturn_t rcar_canfd_channel_err_interrupt(int irq, void *dev_id)
 {
-       struct rcar_canfd_global *gpriv = dev_id;
-       u32 ch;
+       struct rcar_canfd_channel *priv = dev_id;
 
-       for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels)
-               rcar_canfd_handle_channel_err(gpriv, ch);
+       rcar_canfd_handle_channel_err(priv->gpriv, priv->channel);
 
        return IRQ_HANDLED;
 }
        priv->ndev = ndev;
        priv->base = gpriv->base;
        priv->channel = ch;
+       priv->gpriv = gpriv;
        priv->can.clock.freq = fcan_freq;
        dev_info(&pdev->dev, "can_clk rate is %u\n", priv->can.clock.freq);
 
                }
                err = devm_request_irq(&pdev->dev, err_irq,
                                       rcar_canfd_channel_err_interrupt, 0,
-                                      irq_name, gpriv);
+                                      irq_name, priv);
                if (err) {
                        dev_err(&pdev->dev, "devm_request_irq CH Err(%d) failed, error %d\n",
                                err_irq, err);
                }
                err = devm_request_irq(&pdev->dev, tx_irq,
                                       rcar_canfd_channel_tx_interrupt, 0,
-                                      irq_name, gpriv);
+                                      irq_name, priv);
                if (err) {
                        dev_err(&pdev->dev, "devm_request_irq Tx (%d) failed, error %d\n",
                                tx_irq, err);
 
        priv->can.do_set_mode = rcar_canfd_do_set_mode;
        priv->can.do_get_berr_counter = rcar_canfd_get_berr_counter;
-       priv->gpriv = gpriv;
        SET_NETDEV_DEV(ndev, &pdev->dev);
 
        netif_napi_add_weight(ndev, &priv->napi, rcar_canfd_rx_poll,