u64 reg_imask;
int err, i;
struct flexcan_mb __iomem *mb;
-@@ -1164,6 +1312,26 @@ static int flexcan_chip_start(struct net
+@@ -1166,6 +1314,26 @@ static int flexcan_chip_start(struct net
netdev_dbg(dev, "%s: writing ctrl=0x%08x", __func__, reg_ctrl);
priv->write(reg_ctrl, ®s->ctrl);
if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) {
reg_ctrl2 = priv->read(®s->ctrl2);
reg_ctrl2 |= FLEXCAN_CTRL2_EACEN | FLEXCAN_CTRL2_RRS;
-@@ -1304,6 +1472,12 @@ static int flexcan_open(struct net_devic
+@@ -1306,6 +1474,12 @@ static int flexcan_open(struct net_devic
struct flexcan_priv *priv = netdev_priv(dev);
int err;
err = pm_runtime_get_sync(priv->dev);
if (err < 0) {
pm_runtime_put_noidle(priv->dev);
-@@ -1322,7 +1496,10 @@ static int flexcan_open(struct net_devic
+@@ -1324,7 +1498,10 @@ static int flexcan_open(struct net_devic
if (err)
goto out_transceiver_disable;
priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) +
(sizeof(priv->regs->mb[1]) / priv->mb_size);
-@@ -1670,6 +1847,18 @@ static int flexcan_probe(struct platform
+@@ -1676,6 +1853,18 @@ static int flexcan_probe(struct platform
priv->devtype_data = devtype_data;
priv->reg_xceiver = reg_xceiver;