Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1614821rwd; Sun, 21 May 2023 02:25:12 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ65gQMr5byMb0zpSj4+f4N4LtLVxYus6cEul3S7kqHnaVCddr05VDuBWm6280dhmdv+Csns X-Received: by 2002:a17:90a:788c:b0:24d:f739:d62a with SMTP id x12-20020a17090a788c00b0024df739d62amr7845582pjk.23.1684661112007; Sun, 21 May 2023 02:25:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684661111; cv=none; d=google.com; s=arc-20160816; b=YQsorMc9CCdnZZgB/9ok/IAyKc2MKXyKlv2b4QfAUKSzQH0cWkjVtaKYaw8UB5FXvT nPs+mYSZ+jO65qShb9iVxgr6ljhKV193bUyPBlRnXci6nHmwJPQSECsbQFIL9tmqpHFq BKBBZ9kFL3cAVS9lrvymNycsSNxF2tcdIIhiIhFU6QUus7bV8D36NKGP5/uGLxhbPh6v jQS/wBJ4Q0q1TEJMzZSEGYqGzCyzlsRoEStc1fOy7P2GNzKtg28dHVDOevCeqzaI5V9I eaH1WbuZnVCZUDCBpeLiBrQ2STi5xt9RMb4r+1wQhLs2tLqprAVm3DizUFBbqc+PDBZW Q0+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=Es75wE1TSD9/bxpBEraTqQGgh/2Yg3IpDVhaSa9N/Z8=; b=ipH9ngv5mcn6qWyqniIMwC3WRDcjnu+p2q6HE+mp9BYrzJtOAKfYnMD5YxiWSuRkIL DSAYuHpIRhZCTr4E90GM0roekXx3ecM8WgNHcI4LLGNx99Ma4aubZoXTZwl2s8Mhg5ED 2kzI9l6y6f54kFWAn+Ubroz0T7MEEjli2eQ/+I4bsoIx6m8Qz6iUuubR69Itq0KR0Q3Y dykcNvjlFyl9MM4SS3Eod4uEuaN5448rxj6rUDODkW4ouW+XJQSIox2R696siy0w8XZq 7OwSxi+A6IEb1QmMy3Xr1c6ZGq3pjpB4yj3+i3Li08XScuioybO3AZWEAGD0SejUWbLv yWOA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gi12-20020a17090b110c00b0025287b1f177si1990424pjb.9.2023.05.21.02.24.56; Sun, 21 May 2023 02:25:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229914AbjEUJQ3 (ORCPT + 99 others); Sun, 21 May 2023 05:16:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55024 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229481AbjEUJQ0 (ORCPT ); Sun, 21 May 2023 05:16:26 -0400 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91E11CF; Sun, 21 May 2023 02:16:25 -0700 (PDT) Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-52867360efcso3377189a12.2; Sun, 21 May 2023 02:16:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684660585; x=1687252585; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Es75wE1TSD9/bxpBEraTqQGgh/2Yg3IpDVhaSa9N/Z8=; b=XkIYN9rgpERLMyhUOV+cMWlBUHjQYm7Rdx/JmysPFfsdpTNlN5ukWx0I61lv0b3V+o w/HqWt/6p86P9dd4oqboAbbX1HY9ZKPhlINmtYM04lh4UIaaP4ESQuwn/Y9wdXVGDfqA UKULTNS9Sm9r82MzzLJlep0ImpntZSYXRgmgbU+2sNk7BIgWQKh786CJBsWEWh3AgI1/ vCLyQ1ASJIkJnFxY6gzhF7QFAUCuuHdUsHNo3NOTTNiOmXtif1cvGzpmDSnYSHWSLXeM L9rxXchfZYdr22kfWlfSB7zx2Og5+chK+bejy5WFi9Od3nbMI3vWkvDLEMlkQ8/vmw50 fVDA== X-Gm-Message-State: AC+VfDz/TyYeyQUlVEpq1huA07GhhvrAeKPLbk71foecoc+N5flJ7MMC rmsCIHltnBMUXSqZuHwj2dndTeTyfQh4U/QNd8g= X-Received: by 2002:a17:90a:9cf:b0:250:bb6:47ed with SMTP id 73-20020a17090a09cf00b002500bb647edmr6796360pjo.33.1684660584928; Sun, 21 May 2023 02:16:24 -0700 (PDT) MIME-Version: 1.0 References: <20230519195600.420644-1-frank.jungclaus@esd.eu> <20230519195600.420644-2-frank.jungclaus@esd.eu> In-Reply-To: <20230519195600.420644-2-frank.jungclaus@esd.eu> From: Vincent MAILHOL Date: Sun, 21 May 2023 18:16:13 +0900 Message-ID: Subject: Re: [PATCH v2 1/6] can: esd_usb: Make use of existing kernel macros To: Frank Jungclaus Cc: linux-can@vger.kernel.org, Marc Kleine-Budde , Wolfgang Grandegger , =?UTF-8?Q?Stefan_M=C3=A4tje?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Thanks for the patch. On Sat. 20 May 2023 at 04:57, Frank Jungclaus wrote: > Make use of existing kernel macros: > - Use the unit suffixes from linux/units.h for the controller clock > frequencies > - Use the BIT() and the GENMASK() macro to set specific bits in some > constants > - Use CAN_MAX_DLEN (instead of directly using the value 8) for the > maximum CAN payload length > > Additionally: > - Spend some commenting for the previously changed constants > - Add the current year to the copyright notice > - While adding the header linux/units.h to the list of include files > also sort that list alphabetically > > Suggested-by: Vincent MAILHOL > Link: https://lore.kernel.org/all/CAMZ6RqLaDNy-fZ2G0+QMhUEckkXLL+ZyELVSDFmqpd++aBzZQg@mail.gmail.com/ > Link: https://lore.kernel.org/all/CAMZ6RqKdg5YBufa0C+ttzJvoG=9yuti-8AmthCi4jBbd08JEtw@mail.gmail.com/ > Suggested-by: Marc Kleine-Budde > Link: https://lore.kernel.org/all/20230518-grower-film-ea8b5f853f3e-mkl@pengutronix.de/ > Signed-off-by: Frank Jungclaus > --- > drivers/net/can/usb/esd_usb.c | 40 ++++++++++++++++++----------------- > 1 file changed, 21 insertions(+), 19 deletions(-) > > diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c > index d33bac3a6c10..32354cfdf151 100644 > --- a/drivers/net/can/usb/esd_usb.c > +++ b/drivers/net/can/usb/esd_usb.c > @@ -3,19 +3,20 @@ > * CAN driver for esd electronics gmbh CAN-USB/2 and CAN-USB/Micro > * > * Copyright (C) 2010-2012 esd electronic system design gmbh, Matthias Fuchs > - * Copyright (C) 2022 esd electronics gmbh, Frank Jungclaus > + * Copyright (C) 2022-2023 esd electronics gmbh, Frank Jungclaus > */ > +#include > +#include > +#include > + > #include > -#include > -#include > #include > #include > +#include > +#include > +#include > #include > > -#include > -#include > -#include > - > MODULE_AUTHOR("Matthias Fuchs "); > MODULE_AUTHOR("Frank Jungclaus "); > MODULE_DESCRIPTION("CAN driver for esd electronics gmbh CAN-USB/2 and CAN-USB/Micro interfaces"); > @@ -27,8 +28,8 @@ MODULE_LICENSE("GPL v2"); > #define USB_CANUSBM_PRODUCT_ID 0x0011 > > /* CAN controller clock frequencies */ > -#define ESD_USB2_CAN_CLOCK 60000000 > -#define ESD_USBM_CAN_CLOCK 36000000 > +#define ESD_USB2_CAN_CLOCK (60 * MEGA) /* Hz */ > +#define ESD_USBM_CAN_CLOCK (36 * MEGA) /* Hz */ > > /* Maximum number of CAN nets */ > #define ESD_USB_MAX_NETS 2 > @@ -42,20 +43,21 @@ MODULE_LICENSE("GPL v2"); > #define CMD_IDADD 6 /* also used for IDADD_REPLY */ > > /* esd CAN message flags - dlc field */ > -#define ESD_RTR 0x10 > +#define ESD_RTR BIT(4) > + > > /* esd CAN message flags - id field */ > -#define ESD_EXTID 0x20000000 > -#define ESD_EVENT 0x40000000 > -#define ESD_IDMASK 0x1fffffff > +#define ESD_EXTID BIT(29) > +#define ESD_EVENT BIT(30) > +#define ESD_IDMASK GENMASK(28, 0) > > /* esd CAN event ids */ > #define ESD_EV_CAN_ERROR_EXT 2 /* CAN controller specific diagnostic data */ > > /* baudrate message flags */ > -#define ESD_USB_UBR 0x80000000 > -#define ESD_USB_LOM 0x40000000 > -#define ESD_USB_NO_BAUDRATE 0x7fffffff > +#define ESD_USB_LOM BIT(30) /* 0x40000000, Listen Only Mode */ > +#define ESD_USB_UBR BIT(31) /* 0x80000000, User Bit Rate (controller BTR) in bits 0..27 */ ^^^^^^^^^^ As pointented by Marc, no need for redundant comment with the hexadecimal value. > +#define ESD_USB_NO_BAUDRATE GENMASK(30, 0) /* bit rate unconfigured */ > > /* bit timing CAN-USB/2 */ > #define ESD_USB2_TSEG1_MIN 1 > @@ -70,7 +72,7 @@ MODULE_LICENSE("GPL v2"); > #define ESD_USB2_BRP_MIN 1 > #define ESD_USB2_BRP_MAX 1024 > #define ESD_USB2_BRP_INC 1 > -#define ESD_USB2_3_SAMPLES 0x00800000 > +#define ESD_USB2_3_SAMPLES BIT(23) > > /* esd IDADD message */ > #define ESD_ID_ENABLE 0x80 > @@ -128,7 +130,7 @@ struct rx_msg { > __le32 ts; > __le32 id; /* upper 3 bits contain flags */ > union { > - u8 data[8]; > + u8 data[CAN_MAX_DLEN]; > struct { > u8 status; /* CAN Controller Status */ > u8 ecc; /* Error Capture Register */ > @@ -145,7 +147,7 @@ struct tx_msg { > u8 dlc; > u32 hnd; /* opaque handle, not used by device */ > __le32 id; /* upper 3 bits contain flags */ > - u8 data[8]; > + u8 data[CAN_MAX_DLEN]; > }; > > struct tx_done_msg { > -- > 2.25.1 >