From: Vincent MAILHOL <mailhol.vincent@wanadoo.fr>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Alan Stern <stern@rowland.harvard.edu>,
linux-can@vger.kernel.org, Marc Kleine-Budde <mkl@pengutronix.de>,
linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 3/3] can: etas_es58x: report the firmware version through ethtool
Date: Sun, 13 Nov 2022 00:40:31 +0900 [thread overview]
Message-ID: <CAMZ6Rq+N7Dbs7AENU12PJu-M2coBeoEF-YLpvQp79cSChAR6hg@mail.gmail.com> (raw)
In-Reply-To: <Y2faf++qaSq92qmZ@kroah.com>
On Mon. 7 nov. 2022 at 01:18, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Sun, Nov 06, 2022 at 11:44:52PM +0900, Vincent MAILHOL wrote:
> > On Sun. 6 Nov. 2022 à 23:22, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
> > > On Sun, Nov 06, 2022 at 09:47:05PM +0900, Vincent MAILHOL wrote:
> > > > On Sun. 6 Nov. 2022 at 20:25, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
> > > > 1/ Can I still export and use usb_cache_string()? In other terms, does
> > > > the first patch of this series still apply? This looks like the most
> > > > convenient function to retrieve that custom string to me.
> > >
> > > Everyone seems to just use the usb_string() function, will that not work
> > > for you?
> >
> > It is just that I would have to write two or three lines of code less.
>
> Odd, should it be used instead where others are calling usb_string()?
>
> > But if you prefer I can use usb_string(), no problem on that.
>
> Try it both ways. If it's easier with usb_cache_string(), then we can
> export it. It's just odd that it hasn't been exported yet.
I tried both. Not counting the line breaks, the empty lines and the
comments, the usb_string() version needs 6 more lines. Not a huge
difference but the usb_cache_string() remains easier (at least in my
eyes).
For reference, here is the diff before and after using usb_cache_string():
diff --git a/drivers/net/can/usb/etas_es58x/es58x_sysfs.c
b/drivers/net/can/usb/etas_es58x/es58x_sysfs.c
index 4ff0332f6f50..c1d220d0d35f 100644
--- a/drivers/net/can/usb/etas_es58x/es58x_sysfs.c
+++ b/drivers/net/can/usb/etas_es58x/es58x_sysfs.c
@@ -178,17 +178,10 @@ void es58x_create_file(struct device *dev)
{
struct es58x_device *es58x_dev = dev_get_drvdata(dev);
char *prod_info;
- int ret;
- prod_info = kmalloc(ES58X_PROD_INFO_SIZE, GFP_KERNEL);
- if (!prod_info)
- return;
-
- ret = usb_string(es58x_dev->udev, ES58X_PROD_INFO_IDX,
- prod_info, ES58X_PROD_INFO_SIZE);
- if (ret < 0) {
+ prod_info = usb_cache_string(es58x_dev->udev, ES58X_PROD_INFO_IDX);
+ if (!prod_info) {
dev_warn(dev, "could not retrieve the product info string\n");
- kfree(prod_info);
return;
}
diff --git a/drivers/net/can/usb/etas_es58x/es58x_sysfs.h
b/drivers/net/can/usb/etas_es58x/es58x_sysfs.h
index 62347ffa0214..a204aa5344a8 100644
--- a/drivers/net/can/usb/etas_es58x/es58x_sysfs.h
+++ b/drivers/net/can/usb/etas_es58x/es58x_sysfs.h
@@ -14,13 +14,6 @@
/* USB descriptor index containing the product information string. */
#define ES58X_PROD_INFO_IDX 6
-/* Maximum size for the USB information custom string. USB strings are
- * at most 127 characters and es58x devices only use ASCII (i.e. one
- * byte). Also, empirical observations show a maximum length of 83
- * bytes for the product information.
- */
-#define ES58X_PROD_INFO_SIZE (127 + 1)
-
void es58x_create_file(struct device *dev);
void es58x_remove_file(struct device *dev);
next prev parent reply other threads:[~2022-11-12 15:40 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-04 7:36 [PATCH] can: etas_es58x: report the firmware version through ethtool Vincent Mailhol
2022-11-04 11:52 ` Marc Kleine-Budde
2022-11-04 15:35 ` Vincent MAILHOL
2022-11-04 17:16 ` [PATCH v2 0/3] can: etas_es58x: report firmware version Vincent Mailhol
2022-11-04 17:16 ` [PATCH v2 1/3] USB: core: export usb_cache_string() Vincent Mailhol
2022-11-05 8:22 ` Greg Kroah-Hartman
2022-11-04 17:16 ` [PATCH v2 2/3] can: etas_es58x: use usb_cache_string() to retrieve the product info string Vincent Mailhol
2022-11-05 8:21 ` Greg Kroah-Hartman
2022-11-04 17:16 ` [PATCH v2 3/3] can: etas_es58x: report the firmware version through ethtool Vincent Mailhol
2022-11-05 8:23 ` Greg Kroah-Hartman
2022-11-05 9:27 ` Vincent MAILHOL
2022-11-05 17:21 ` Vincent MAILHOL
2022-11-05 17:38 ` Greg Kroah-Hartman
2022-11-06 0:45 ` Alan Stern
2022-11-06 5:34 ` Vincent MAILHOL
2022-11-06 11:21 ` Greg Kroah-Hartman
2022-11-06 12:47 ` Vincent MAILHOL
2022-11-06 14:22 ` Greg Kroah-Hartman
2022-11-06 14:44 ` Vincent MAILHOL
2022-11-06 16:02 ` Greg Kroah-Hartman
2022-11-12 15:40 ` Vincent MAILHOL [this message]
2022-11-06 15:18 ` Alan Stern
2022-11-13 4:01 ` [PATCH v3 0/3] can: etas_es58x: report firmware, bootloader and hardware version Vincent Mailhol
2022-11-13 4:01 ` [PATCH v3 1/3] USB: core: export usb_cache_string() Vincent Mailhol
2022-11-22 16:00 ` Greg Kroah-Hartman
2022-11-13 4:01 ` [PATCH v3 2/3] can: etas_es58x: export firmware, bootloader and hardware versions in sysfs Vincent Mailhol
2022-11-15 22:47 ` Saeed Mahameed
2022-11-16 0:36 ` Vincent MAILHOL
2022-11-16 23:20 ` Saeed Mahameed
2022-11-13 4:01 ` [PATCH v3 3/3] can: etas_es58x: report firmware-version through ethtool Vincent Mailhol
2022-11-13 16:48 ` [PATCH v3 0/3] can: etas_es58x: report firmware, bootloader and hardware version Andrew Lunn
2022-11-14 16:49 ` Vincent MAILHOL
2022-11-14 17:08 ` Andrew Lunn
2022-11-26 16:22 ` [PATCH v4 0/6] " Vincent Mailhol
2022-11-26 16:22 ` [PATCH v4 1/6] USB: core: export usb_cache_string() Vincent Mailhol
2022-11-26 16:22 ` [PATCH v4 2/6] can: etas_es58x: add devlink support Vincent Mailhol
2022-11-26 16:51 ` Andrew Lunn
2022-11-27 5:10 ` Vincent MAILHOL
2022-11-27 15:36 ` Alan Stern
2022-11-28 1:34 ` Vincent MAILHOL
2022-11-28 5:32 ` Vincent MAILHOL
2022-11-28 15:50 ` Alan Stern
2022-11-28 23:30 ` Vincent MAILHOL
2022-11-28 13:42 ` Andrew Lunn
2022-11-28 14:29 ` Vincent MAILHOL
2022-11-26 16:22 ` [PATCH v4 3/6] can: etas_es58x: export product information through devlink_ops::info_get() Vincent Mailhol
2022-11-26 17:16 ` Andrew Lunn
2022-11-27 3:42 ` Vincent MAILHOL
2022-11-27 4:31 ` Vincent MAILHOL
2022-11-27 15:07 ` Andrew Lunn
2022-11-28 1:21 ` Vincent MAILHOL
2022-11-28 13:43 ` Andrew Lunn
2022-11-28 13:47 ` Andrew Lunn
2022-11-28 14:43 ` Vincent MAILHOL
2022-11-28 22:27 ` Jakub Kicinski
2022-11-28 23:17 ` Vincent MAILHOL
2022-11-26 16:22 ` [PATCH v4 4/6] can: etas_es58x: remove es58x_get_product_info() Vincent Mailhol
2022-11-28 13:44 ` Andrew Lunn
2022-11-28 14:36 ` Vincent MAILHOL
2022-11-26 16:22 ` [PATCH v4 5/6] can: etas_es58x: report the firmware version through ethtool Vincent Mailhol
2022-11-28 13:44 ` Andrew Lunn
2022-11-28 22:29 ` Jakub Kicinski
2022-11-29 17:12 ` Vincent MAILHOL
2022-11-30 2:31 ` Jakub Kicinski
2022-11-26 16:22 ` [PATCH v4 6/6] Documentation: devlink: add devlink documentation for the etas_es58x driver Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 0/7] can: etas_es58x: report firmware, bootloader and hardware version Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 1/7] can: etas_es58x: add devlink support Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 2/7] can: etas_es58x: add devlink port support Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 3/7] USB: core: export usb_cache_string() Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 4/7] net: devlink: add DEVLINK_INFO_VERSION_GENERIC_FW_BOOTLOADER Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 5/7] can: etas_es58x: export product information through devlink_ops::info_get() Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 6/7] can: etas_es58x: remove es58x_get_product_info() Vincent Mailhol
2022-11-30 17:46 ` [PATCH v5 7/7] Documentation: devlink: add devlink documentation for the etas_es58x driver Vincent Mailhol
2022-12-02 12:27 ` Marc Kleine-Budde
2022-12-02 13:15 ` Vincent MAILHOL
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMZ6Rq+N7Dbs7AENU12PJu-M2coBeoEF-YLpvQp79cSChAR6hg@mail.gmail.com \
--to=mailhol.vincent@wanadoo.fr \
--cc=gregkh@linuxfoundation.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).