From nobody Mon Jun 8 05:25:27 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (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 2493B346A1E for ; Tue, 2 Jun 2026 22:34:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780439692; cv=none; b=WrJxemxjEOlje+dSJO/AxN98Y9BIHsEV3q9/YLwdwVNV523bWcGaMVnSZG1S7fhV8+6reRNTl9I4h1NKd2A/xZdU2xqRi/x3MptdMZEc22Abc8fDBY34sq6w2pMyDZ8r08+frA9lHmBaYPlieK0Hoeyx2j200JKs9AdbgAVH1k8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780439692; c=relaxed/simple; bh=ueA9H90jSB0H/m134T00B/UzUQ46sRwiwg7sPqWqLtQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=UnJwfKYwfTya5TjlWrmIBFJRiWqVLWAUr7KUHYCKB2dTnAMPrvcjyHWeAaS/YuPqV2e3TtIVf4CQ06jD5C6J0xhN3oSPYx3d2vCexpaTg5P3xR+EQ7weWwfM6kBsW9/ocv2Aupj0k7gKz7JVby0MJhfElB2e7gfAjsnD2/hQlWg= 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=FgV5uv9H; arc=none smtp.client-ip=209.85.214.174 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="FgV5uv9H" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2c0c3543590so21279015ad.2 for ; Tue, 02 Jun 2026 15:34:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780439689; x=1781044489; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=5hUju9imTXYzBOd81ezd87RiP58NYg2h8oodLJ1hs5E=; b=FgV5uv9H5cjGck4wSogSO3aTJJ2LYHvLmFhYUW0vMgogYjweDoS5zXX3ikbBg1Qb2u iJguUDzWFeBL7IHp2o9pPipKhP+l8BxW32OoP7SUcFPtBrk198g1IYhv37qq3L35oc/n Z3ycCva8QI2HhbO871ih36xOUVkc18TNQx73kYOdhA5Mv8SDltkAK6wA+G375Cijdn45 halnlKqhuU1nPxScRccDeFE87RCF+G5bBtz66X6K00uOYp2Kz1DXPqhN/TPmMkbH2ZCk RpNmA1NPv70t1l7kfAt7qnNzoGuCWorHzgWlB2PLbxxWU1Uz17nNOARrXjZyvaBJNjcv dTXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780439689; x=1781044489; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=5hUju9imTXYzBOd81ezd87RiP58NYg2h8oodLJ1hs5E=; b=OVJzyZn4iEN56A55iNKnvuoxLrOodC9he/qbL7tAIJIBIp9RCr2tBBBp/v/9pM2J2x iwvaqWDZ7VA6w670HFrcaxpV7QiiLCvgm3gZ/J/ocX3FsQqXKWtRSrn9j6/Pxfc5RxEA l2yf8X5A3mTX0W4Us3+j8tGUutsOg9oyFUimBhCPnMiHt/enYv7jqyev55KHTraj2ctb rnQqtvwbpvsyH4Ptil0RoFzO51npUaRcqnAKkhOu9J74J6H4LpDQp8Ajahn5aJu1Aom4 V0wCL6JeR6fKwXPAy9111Ody8RQW0p5zxJdQgUfql7beYgX82dMyRaB5oKjtaHkDMPf8 CMpg== X-Forwarded-Encrypted: i=1; AFNElJ8q+RzxJhrSYsVOyxUXHxwxXOQTRjJvWxYjb9ETmm0L0/7e5yfNyI4ym7RAuMDNn3jzaW9p8LeAlaa477A=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3xqebHZP/kUa9qm44uB0PVVeAKoKR1U3PP4OVl0F/LilcE3kA ju0Uc4aF/BM+m0YuKrtHdFRqZaX+QAYaDFsAzSENIpBS1srUceMd3LnN X-Gm-Gg: Acq92OFnYbyRduV2tREBh4KvOLUZVfMEh8ORk+F9y/Osa3KaXCEcSC6yBDpAywtdO03 PS77Q8voJLPbF24vYMCQNkyVVyjHzcDZiffZ0vY8vOKkpp3XHry9v+55viaw93/LCx6zs0cCNx/ aBjtnyEDSPH/N1Sy7BR9hQqU7VW7D4TT8zVE/3qAU44XuqkR8RZXEaIpOotlQqogo1vXNfjZQZL d4B1Y4RZnvAV9X2HfJCBOadAfFNT5M1FsHndJsrWKv/VsGITi3Qt98QQm7hpycwceBO+fYyX/iL PgshBGDY+rxcXkZpG3MAjDm3E1ixnPa9izwtNDzMRV5q9sdDp45U6kzbntlSa2/AMYBKQKspUGy BhOLMx4ccGSccsn3GAstGaMKLryZ0B8HBqaRsPi1jt6LefJF3NxJMBDR1r/NexMzZmWgsNCbPQM sVGRskVfsZ/jOEcgTtxi5GFDLAk1JOMdh9wsilpCV8Ff8USmiImrasB4ECbNxbvwQqE3XKvMEvJ +8vPdjF7lq+v+kpx8victlGxVSjgTWRF/pJ/RYwjvtgCFEhdRCTEcFE X-Received: by 2002:a17:902:f60b:b0:2bd:9803:9308 with SMTP id d9443c01a7336-2c1644b827amr6258335ad.36.1780439689191; Tue, 02 Jun 2026 15:34:49 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c1664ad138sm2785095ad.82.2026.06.02.15.34.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 15:34:48 -0700 (PDT) From: Rosen Penev To: linux-can@vger.kernel.org Cc: Marc Kleine-Budde , chleroy@kernel.org, Vincent Mailhol , linux-kernel@vger.kernel.org (open list) Subject: [PATCH] can: mscan: replace in_8/out_8 with ioread8/iowrite8 Date: Tue, 2 Jun 2026 15:34:31 -0700 Message-ID: <20260602223431.17672-1-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 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" Mechanical conversion of the ppc4xx-specific in_8/out_8 accessors and the setbits8/clrbits8 macros to the generic ioread8/iowrite8 helpers for portability. Add HAS_IOMEM as these functions need it. Add COMPILE_TEST as a result. This can be built anywhere now. Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev Reviewed-by: Vincent Mailhol --- drivers/net/can/mscan/Kconfig | 3 +- drivers/net/can/mscan/mscan.c | 143 +++++++++++++++++----------------- 2 files changed, 73 insertions(+), 73 deletions(-) diff --git a/drivers/net/can/mscan/Kconfig b/drivers/net/can/mscan/Kconfig index dfe6bd9947bb..ef3a99b3d3db 100644 --- a/drivers/net/can/mscan/Kconfig +++ b/drivers/net/can/mscan/Kconfig @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config CAN_MSCAN - depends on PPC + depends on PPC || COMPILE_TEST + depends on HAS_IOMEM tristate "Support for Freescale MSCAN based chips" help The Motorola Scalable Controller Area Network (MSCAN) definition diff --git a/drivers/net/can/mscan/mscan.c b/drivers/net/can/mscan/mscan.c index 39c7aa2a0b2f..9038e2f1cc9d 100644 --- a/drivers/net/can/mscan/mscan.c +++ b/drivers/net/can/mscan/mscan.c @@ -52,16 +52,16 @@ static int mscan_set_mode(struct net_device *dev, u8 mo= de) if (mode !=3D MSCAN_NORMAL_MODE) { if (priv->tx_active) { /* Abort transfers before going to sleep */# - out_8(®s->cantarq, priv->tx_active); + iowrite8(priv->tx_active, ®s->cantarq); /* Suppress TX done interrupts */ - out_8(®s->cantier, 0); + iowrite8(0, ®s->cantier); } =20 - canctl1 =3D in_8(®s->canctl1); + canctl1 =3D ioread8(®s->canctl1); if ((mode & MSCAN_SLPRQ) && !(canctl1 & MSCAN_SLPAK)) { - setbits8(®s->canctl0, MSCAN_SLPRQ); + iowrite8(ioread8(®s->canctl0) | (MSCAN_SLPRQ), ®s->canctl0); for (i =3D 0; i < MSCAN_SET_MODE_RETRIES; i++) { - if (in_8(®s->canctl1) & MSCAN_SLPAK) + if (ioread8(®s->canctl1) & MSCAN_SLPAK) break; udelay(100); } @@ -85,9 +85,9 @@ static int mscan_set_mode(struct net_device *dev, u8 mode) } =20 if ((mode & MSCAN_INITRQ) && !(canctl1 & MSCAN_INITAK)) { - setbits8(®s->canctl0, MSCAN_INITRQ); + iowrite8(ioread8(®s->canctl0) | (MSCAN_INITRQ), ®s->canctl0); for (i =3D 0; i < MSCAN_SET_MODE_RETRIES; i++) { - if (in_8(®s->canctl1) & MSCAN_INITAK) + if (ioread8(®s->canctl1) & MSCAN_INITAK) break; } if (i >=3D MSCAN_SET_MODE_RETRIES) @@ -97,14 +97,14 @@ static int mscan_set_mode(struct net_device *dev, u8 mo= de) priv->can.state =3D CAN_STATE_STOPPED; =20 if (mode & MSCAN_CSWAI) - setbits8(®s->canctl0, MSCAN_CSWAI); + iowrite8(ioread8(®s->canctl0) | (MSCAN_CSWAI), ®s->canctl0); =20 } else { - canctl1 =3D in_8(®s->canctl1); + canctl1 =3D ioread8(®s->canctl1); if (canctl1 & (MSCAN_SLPAK | MSCAN_INITAK)) { - clrbits8(®s->canctl0, MSCAN_SLPRQ | MSCAN_INITRQ); + iowrite8(ioread8(®s->canctl0) & ~(MSCAN_SLPRQ | MSCAN_INITRQ), ®s= ->canctl0); for (i =3D 0; i < MSCAN_SET_MODE_RETRIES; i++) { - canctl1 =3D in_8(®s->canctl1); + canctl1 =3D ioread8(®s->canctl1); if (!(canctl1 & (MSCAN_INITAK | MSCAN_SLPAK))) break; } @@ -124,7 +124,7 @@ static int mscan_start(struct net_device *dev) u8 canrflg; int err; =20 - out_8(®s->canrier, 0); + iowrite8(0, ®s->canrier); =20 INIT_LIST_HEAD(&priv->tx_head); priv->prev_buf_id =3D 0; @@ -135,22 +135,22 @@ static int mscan_start(struct net_device *dev) =20 if (priv->type =3D=3D MSCAN_TYPE_MPC5121) { /* Clear pending bus-off condition */ - if (in_8(®s->canmisc) & MSCAN_BOHOLD) - out_8(®s->canmisc, MSCAN_BOHOLD); + if (ioread8(®s->canmisc) & MSCAN_BOHOLD) + iowrite8(MSCAN_BOHOLD, ®s->canmisc); } =20 err =3D mscan_set_mode(dev, MSCAN_NORMAL_MODE); if (err) return err; =20 - canrflg =3D in_8(®s->canrflg); + canrflg =3D ioread8(®s->canrflg); priv->shadow_statflg =3D canrflg & MSCAN_STAT_MSK; priv->can.state =3D state_map[max(MSCAN_STATE_RX(canrflg), MSCAN_STATE_TX(canrflg))]; - out_8(®s->cantier, 0); + iowrite8(0, ®s->cantier); =20 /* Enable receive interrupts. */ - out_8(®s->canrier, MSCAN_RX_INTS_ENABLE); + iowrite8(MSCAN_RX_INTS_ENABLE, ®s->canrier); =20 return 0; } @@ -163,11 +163,11 @@ static int mscan_restart(struct net_device *dev) struct mscan_regs __iomem *regs =3D priv->reg_base; =20 priv->can.state =3D CAN_STATE_ERROR_ACTIVE; - WARN(!(in_8(®s->canmisc) & MSCAN_BOHOLD), + WARN(!(ioread8(®s->canmisc) & MSCAN_BOHOLD), "bus-off state expected\n"); - out_8(®s->canmisc, MSCAN_BOHOLD); + iowrite8(MSCAN_BOHOLD, ®s->canmisc); /* Re-enable receive interrupts. */ - out_8(®s->canrier, MSCAN_RX_INTS_ENABLE); + iowrite8(MSCAN_RX_INTS_ENABLE, ®s->canrier); } else { if (priv->can.state <=3D CAN_STATE_BUS_OFF) mscan_set_mode(dev, MSCAN_INIT_MODE); @@ -188,7 +188,7 @@ static netdev_tx_t mscan_start_xmit(struct sk_buff *skb= , struct net_device *dev) if (can_dev_dropped_skb(dev, skb)) return NETDEV_TX_OK; =20 - out_8(®s->cantier, 0); + iowrite8(0, ®s->cantier); =20 i =3D ~priv->tx_active & MSCAN_TXE; buf_id =3D ffs(i) - 1; @@ -216,7 +216,7 @@ static netdev_tx_t mscan_start_xmit(struct sk_buff *skb= , struct net_device *dev) break; } priv->prev_buf_id =3D buf_id; - out_8(®s->cantbsel, i); + iowrite8(i, ®s->cantbsel); =20 rtr =3D frame->can_id & CAN_RTR_FLAG; =20 @@ -226,7 +226,7 @@ static netdev_tx_t mscan_start_xmit(struct sk_buff *skb= , struct net_device *dev) << (MSCAN_EFF_RTR_SHIFT + 1); if (rtr) can_id |=3D 1 << MSCAN_EFF_RTR_SHIFT; - out_be16(®s->tx.idr3_2, can_id); + iowrite16be(can_id, ®s->tx.idr3_2); =20 can_id >>=3D 16; /* EFF_FLAGS are between the IDs :( */ @@ -238,26 +238,26 @@ static netdev_tx_t mscan_start_xmit(struct sk_buff *s= kb, struct net_device *dev) if (rtr) can_id |=3D 1 << MSCAN_SFF_RTR_SHIFT; } - out_be16(®s->tx.idr1_0, can_id); + iowrite16be(can_id, ®s->tx.idr1_0); =20 if (!rtr) { void __iomem *data =3D ®s->tx.dsr1_0; u16 *payload =3D (u16 *)frame->data; =20 for (i =3D 0; i < frame->len / 2; i++) { - out_be16(data, *payload++); + iowrite16be(*payload++, data); data +=3D 2 + _MSCAN_RESERVED_DSR_SIZE; } /* write remaining byte if necessary */ if (frame->len & 1) - out_8(data, frame->data[frame->len - 1]); + iowrite8(frame->data[frame->len - 1], data); } =20 - out_8(®s->tx.dlr, frame->len); - out_8(®s->tx.tbpr, priv->cur_pri); + iowrite8(frame->len, ®s->tx.dlr); + iowrite8(priv->cur_pri, ®s->tx.tbpr); =20 /* Start transmission. */ - out_8(®s->cantflg, 1 << buf_id); + iowrite8(1 << buf_id, ®s->cantflg); =20 if (!test_bit(F_TX_PROGRESS, &priv->flags)) netif_trans_update(dev); @@ -268,7 +268,7 @@ static netdev_tx_t mscan_start_xmit(struct sk_buff *skb= , struct net_device *dev) =20 /* Enable interrupt. */ priv->tx_active |=3D 1 << buf_id; - out_8(®s->cantier, priv->tx_active); + iowrite8(priv->tx_active, ®s->cantier); =20 return NETDEV_TX_OK; } @@ -291,10 +291,10 @@ static void mscan_get_rx_frame(struct net_device *dev= , struct can_frame *frame) u32 can_id; int i; =20 - can_id =3D in_be16(®s->rx.idr1_0); + can_id =3D ioread16be(®s->rx.idr1_0); if (can_id & (1 << 3)) { frame->can_id =3D CAN_EFF_FLAG; - can_id =3D ((can_id << 16) | in_be16(®s->rx.idr3_2)); + can_id =3D ((can_id << 16) | ioread16be(®s->rx.idr3_2)); can_id =3D ((can_id & 0xffe00000) | ((can_id & 0x7ffff) << 2)) >> 2; } else { @@ -306,22 +306,22 @@ static void mscan_get_rx_frame(struct net_device *dev= , struct can_frame *frame) if (can_id & 1) frame->can_id |=3D CAN_RTR_FLAG; =20 - frame->len =3D can_cc_dlc2len(in_8(®s->rx.dlr) & 0xf); + frame->len =3D can_cc_dlc2len(ioread8(®s->rx.dlr) & 0xf); =20 if (!(frame->can_id & CAN_RTR_FLAG)) { void __iomem *data =3D ®s->rx.dsr1_0; u16 *payload =3D (u16 *)frame->data; =20 for (i =3D 0; i < frame->len / 2; i++) { - *payload++ =3D in_be16(data); + *payload++ =3D ioread16be(data); data +=3D 2 + _MSCAN_RESERVED_DSR_SIZE; } /* read remaining byte if necessary */ if (frame->len & 1) - frame->data[frame->len - 1] =3D in_8(data); + frame->data[frame->len - 1] =3D ioread8(data); } =20 - out_8(®s->canrflg, MSCAN_RXF); + iowrite8(MSCAN_RXF, ®s->canrflg); } =20 static void mscan_get_err_frame(struct net_device *dev, struct can_frame *= frame, @@ -357,17 +357,16 @@ static void mscan_get_err_frame(struct net_device *de= v, struct can_frame *frame, * a light-weight stop (we are in irq-context). */ if (priv->type !=3D MSCAN_TYPE_MPC5121) { - out_8(®s->cantier, 0); - out_8(®s->canrier, 0); - setbits8(®s->canctl0, - MSCAN_SLPRQ | MSCAN_INITRQ); + iowrite8(0, ®s->cantier); + iowrite8(0, ®s->canrier); + iowrite8(ioread8(®s->canctl0) | (MSCAN_SLPRQ | MSCAN_INITRQ), ®s-= >canctl0); } can_bus_off(dev); } } priv->shadow_statflg =3D canrflg & MSCAN_STAT_MSK; frame->len =3D CAN_ERR_DLC; - out_8(®s->canrflg, MSCAN_ERR_IF); + iowrite8(MSCAN_ERR_IF, ®s->canrflg); } =20 static int mscan_rx_poll(struct napi_struct *napi, int quota) @@ -382,7 +381,7 @@ static int mscan_rx_poll(struct napi_struct *napi, int = quota) u8 canrflg; =20 while (work_done < quota) { - canrflg =3D in_8(®s->canrflg); + canrflg =3D ioread8(®s->canrflg); if (!(canrflg & (MSCAN_RXF | MSCAN_ERR_IF))) break; =20 @@ -391,7 +390,7 @@ static int mscan_rx_poll(struct napi_struct *napi, int = quota) if (printk_ratelimit()) netdev_notice(dev, "packet dropped\n"); stats->rx_dropped++; - out_8(®s->canrflg, canrflg); + iowrite8(canrflg, ®s->canrflg); continue; } =20 @@ -412,7 +411,7 @@ static int mscan_rx_poll(struct napi_struct *napi, int = quota) if (likely(napi_complete_done(&priv->napi, work_done))) { clear_bit(F_RX_PROGRESS, &priv->flags); if (priv->can.state < CAN_STATE_BUS_OFF) - out_8(®s->canrier, priv->shadow_canrier); + iowrite8(priv->shadow_canrier, ®s->canrier); } } return work_done; @@ -427,8 +426,8 @@ static irqreturn_t mscan_isr(int irq, void *dev_id) u8 cantier, cantflg, canrflg; irqreturn_t ret =3D IRQ_NONE; =20 - cantier =3D in_8(®s->cantier) & MSCAN_TXE; - cantflg =3D in_8(®s->cantflg) & cantier; + cantier =3D ioread8(®s->cantier) & MSCAN_TXE; + cantflg =3D ioread8(®s->cantflg) & cantier; =20 if (cantier && cantflg) { struct list_head *tmp, *pos; @@ -441,7 +440,7 @@ static irqreturn_t mscan_isr(int irq, void *dev_id) if (!(cantflg & mask)) continue; =20 - out_8(®s->cantbsel, mask); + iowrite8(mask, ®s->cantbsel); stats->tx_bytes +=3D can_get_echo_skb(dev, entry->id, NULL); stats->tx_packets++; @@ -460,16 +459,16 @@ static irqreturn_t mscan_isr(int irq, void *dev_id) if (!test_bit(F_TX_WAIT_ALL, &priv->flags)) netif_wake_queue(dev); =20 - out_8(®s->cantier, priv->tx_active); + iowrite8(priv->tx_active, ®s->cantier); ret =3D IRQ_HANDLED; } =20 - canrflg =3D in_8(®s->canrflg); + canrflg =3D ioread8(®s->canrflg); if ((canrflg & ~MSCAN_STAT_MSK) && !test_and_set_bit(F_RX_PROGRESS, &priv->flags)) { if (canrflg & ~MSCAN_STAT_MSK) { - priv->shadow_canrier =3D in_8(®s->canrier); - out_8(®s->canrier, 0); + priv->shadow_canrier =3D ioread8(®s->canrier); + iowrite8(0, ®s->canrier); napi_schedule(&priv->napi); ret =3D IRQ_HANDLED; } else { @@ -513,8 +512,8 @@ static int mscan_do_set_bittiming(struct net_device *de= v) =20 netdev_info(dev, "setting BTR0=3D0x%02x BTR1=3D0x%02x\n", btr0, btr1); =20 - out_8(®s->canbtr0, btr0); - out_8(®s->canbtr1, btr1); + iowrite8(btr0, ®s->canbtr0); + iowrite8(btr1, ®s->canbtr1); =20 return 0; } @@ -525,8 +524,8 @@ static int mscan_get_berr_counter(const struct net_devi= ce *dev, struct mscan_priv *priv =3D netdev_priv(dev); struct mscan_regs __iomem *regs =3D priv->reg_base; =20 - bec->txerr =3D in_8(®s->cantxerr); - bec->rxerr =3D in_8(®s->canrxerr); + bec->txerr =3D ioread8(®s->cantxerr); + bec->rxerr =3D ioread8(®s->canrxerr); =20 return 0; } @@ -558,9 +557,9 @@ static int mscan_open(struct net_device *dev) } =20 if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) - setbits8(®s->canctl1, MSCAN_LISTEN); + iowrite8(ioread8(®s->canctl1) | (MSCAN_LISTEN), ®s->canctl1); else - clrbits8(®s->canctl1, MSCAN_LISTEN); + iowrite8(ioread8(®s->canctl1) & ~(MSCAN_LISTEN), ®s->canctl1); =20 ret =3D mscan_start(dev); if (ret) @@ -591,8 +590,8 @@ static int mscan_close(struct net_device *dev) netif_stop_queue(dev); napi_disable(&priv->napi); =20 - out_8(®s->cantier, 0); - out_8(®s->canrier, 0); + iowrite8(0, ®s->cantier); + iowrite8(0, ®s->canrier); mscan_set_mode(dev, MSCAN_INIT_MODE); close_candev(dev); free_irq(dev->irq, dev); @@ -619,7 +618,7 @@ int register_mscandev(struct net_device *dev, int mscan= _clksrc) struct mscan_regs __iomem *regs =3D priv->reg_base; u8 ctl1; =20 - ctl1 =3D in_8(®s->canctl1); + ctl1 =3D ioread8(®s->canctl1); if (mscan_clksrc) ctl1 |=3D MSCAN_CLKSRC; else @@ -631,21 +630,21 @@ int register_mscandev(struct net_device *dev, int msc= an_clksrc) } =20 ctl1 |=3D MSCAN_CANE; - out_8(®s->canctl1, ctl1); + iowrite8(ctl1, ®s->canctl1); udelay(100); =20 /* acceptance mask/acceptance code (accept everything) */ - out_be16(®s->canidar1_0, 0); - out_be16(®s->canidar3_2, 0); - out_be16(®s->canidar5_4, 0); - out_be16(®s->canidar7_6, 0); - - out_be16(®s->canidmr1_0, 0xffff); - out_be16(®s->canidmr3_2, 0xffff); - out_be16(®s->canidmr5_4, 0xffff); - out_be16(®s->canidmr7_6, 0xffff); + iowrite16be(0, ®s->canidar1_0); + iowrite16be(0, ®s->canidar3_2); + iowrite16be(0, ®s->canidar5_4); + iowrite16be(0, ®s->canidar7_6); + + iowrite16be(0xffff, ®s->canidmr1_0); + iowrite16be(0xffff, ®s->canidmr3_2); + iowrite16be(0xffff, ®s->canidmr5_4); + iowrite16be(0xffff, ®s->canidmr7_6); /* Two 32 bit Acceptance Filters */ - out_8(®s->canidac, MSCAN_AF_32BIT); + iowrite8(MSCAN_AF_32BIT, ®s->canidac); =20 mscan_set_mode(dev, MSCAN_INIT_MODE); =20 @@ -657,7 +656,7 @@ void unregister_mscandev(struct net_device *dev) struct mscan_priv *priv =3D netdev_priv(dev); struct mscan_regs __iomem *regs =3D priv->reg_base; mscan_set_mode(dev, MSCAN_INIT_MODE); - clrbits8(®s->canctl1, MSCAN_CANE); + iowrite8(ioread8(®s->canctl1) & ~(MSCAN_CANE), ®s->canctl1); unregister_candev(dev); } =20 --=20 2.54.0