lkml.org 
[lkml]   [2022]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH 0/4] can: bxcan: add support for ST bxCAN controller
    I've stripped down the Cc list a bit...

    On 17.08.2022 16:35:25, Dario Binacchi wrote:
    > The series adds support for the basic extended CAN controller (bxCAN)
    > found in many low- to middle-end STM32 SoCs.
    >
    > The driver has been tested on the stm32f469i-discovery board with a
    > kernel version 5.19.0-rc2 in loopback + silent mode:

    I've had no time for a in depth review, but here are some warnings by
    the standard checker tools:

    Please fix these sparse errors:

    | drivers/net/can/bxcan/bxcan-drv.c:641:39: warning: incorrect type in initializer (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:641:39: expected struct bxcan_regs *regs
    | drivers/net/can/bxcan/bxcan-drv.c:641:39: got struct bxcan_regs [noderef] __iomem *regs
    | drivers/net/can/bxcan/bxcan-drv.c:650:15: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:650:15: expected void const volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:650:15: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:667:20: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:667:20: expected void volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:667:20: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:672:17: warning: incorrect type in argument 2 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:672:17: expected void volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:672:17: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:675:9: warning: incorrect type in argument 2 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:675:9: expected void volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:675:9: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:677:15: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:677:15: expected void const volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:677:15: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:703:14: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:703:14: expected void const volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:703:14: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:709:15: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:709:15: expected void const volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:709:15: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:718:50: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:718:50: expected void const volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:718:50: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:730:39: warning: incorrect type in initializer (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:730:39: expected struct bxcan_regs *regs
    | drivers/net/can/bxcan/bxcan-drv.c:730:39: got struct bxcan_regs [noderef] __iomem *regs
    | drivers/net/can/bxcan/bxcan-drv.c:735:24: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:735:24: expected void const volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:735:24: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:742:17: warning: incorrect type in argument 2 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:742:17: expected void volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:742:17: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:747:28: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:747:28: expected void volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:747:28: got unsigned int *
    | drivers/net/can/bxcan/bxcan-drv.c:802:39: warning: incorrect type in initializer (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:802:39: expected struct bxcan_regs *regs
    | drivers/net/can/bxcan/bxcan-drv.c:802:39: got struct bxcan_regs [noderef] __iomem *regs
    | drivers/net/can/bxcan/bxcan-drv.c:810:15: warning: incorrect type in argument 1 (different address spaces)
    | drivers/net/can/bxcan/bxcan-drv.c:810:15: expected void const volatile [noderef] __iomem *addr
    | drivers/net/can/bxcan/bxcan-drv.c:810:15: got unsigned int *

    (To enable sparse checking, do a "make C=1" to compile.)

    Please fix these checkpatch warnings:

    | WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
    | #74:
    | new file mode 100644

    Please create a MAINTAINERS entry.

    | WARNING: Using vsprintf specifier '%px' potentially exposes the kernel memory layout, if you don't really need the address please consider using '%p'.
    | #307: FILE: drivers/net/can/bxcan/bxcan-core.c:179:
    | + dev_info(&pdev->dev, "regs: %px\n", priv->base);

    Please remove the print of the base address.

    | WARNING: Use of volatile is usually wrong: see Documentation/process/volatile-considered-harmful.rst
    | #356: FILE: drivers/net/can/bxcan/bxcan-core.h:21:
    | +static inline void bxcan_rmw(volatile void __iomem *addr, u32 clear, u32 set)

    remove the volatile.

    | WARNING: Using vsprintf specifier '%px' potentially exposes the kernel memory layout, if you don't really need the address please consider using '%p'.
    | #1273: FILE: drivers/net/can/bxcan/bxcan-drv.c:899:
    | + }
    | +
    | + dev_info(dev, "regs: %px, clk: %d Hz, IRQs: %d, %d, %d\n",
    | + priv->regs, priv->can.clock.freq, tx_irq, rx_irq,
    | + sce_irq);

    Remote the print of the regs.

    regards,
    Marc

    --
    Pengutronix e.K. | Marc Kleine-Budde |
    Embedded Linux | https://www.pengutronix.de |
    Vertretung West/Dortmund | Phone: +49-231-2826-924 |
    Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2022-08-17 23:18    [W:7.835 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site