Netdev Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Andre Naujoks <nautsch2@gmail.com>
To: "Stéphane Grosjean" <s.grosjean@peak-system.com>,
	"Wolfgang Grandegger" <wg@grandegger.com>,
	"Marc Kleine-Budde" <mkl@pengutronix.de>,
	"David S. Miller" <davem@davemloft.net>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Vincent Mailhol" <mailhol.vincent@wanadoo.fr>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	"Pavel Skripkin" <paskripkin@gmail.com>,
	"Colin Ian King" <colin.king@canonical.com>,
	"linux-can@vger.kernel.org" <linux-can@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] Expose Peak USB device id in sysfs via phys_port_name.
Date: Wed, 21 Jul 2021 15:39:57 +0200	[thread overview]
Message-ID: <fe8998f2-7897-735c-926f-6b6b74018784@gmail.com> (raw)
In-Reply-To: <PA4PR03MB67973D473C7CE600A6104EE8D6E39@PA4PR03MB6797.eurprd03.prod.outlook.com>

Am 21.07.21 um 15:29 schrieb Stéphane Grosjean:
> Hi,
> 
> The display and the possibility to change this "device_number" is a current modification of the peak_usb driver. This modification will offer this possibility for all CAN - USB interfaces of PEAK-System.

Hi.

By "current modification" you mean something not yet public? Do you have 
a time frame for when you are planning to make it public? I'd really 
like to use this :-)

> 
> However, it is planned to create new R/W entries for this (under /sys/class/net/canX/...) as is already the case in other USB - CAN interface drivers.

I'd be fine with that. I just chose something, that was already 
available and looked as if it made the most sense without breaking anything.

Thanks for the reply!
   Andre

> 
> — Stéphane
> 
> 
> De : Andre Naujoks <nautsch2@gmail.com>
> Envoyé : mercredi 21 juillet 2021 14:59
> À : Wolfgang Grandegger <wg@grandegger.com>; Marc Kleine-Budde <mkl@pengutronix.de>; David S. Miller <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>; Stéphane Grosjean <s.grosjean@peak-system.com>; Vincent Mailhol <mailhol.vincent@wanadoo.fr>; Gustavo A. R. Silva <gustavoars@kernel.org>; Pavel Skripkin <paskripkin@gmail.com>; Colin Ian King <colin.king@canonical.com>; Andre Naujoks <nautsch2@gmail.com>; linux-can@vger.kernel.org <linux-can@vger.kernel.org>; netdev@vger.kernel.org <netdev@vger.kernel.org>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
> Objet : [PATCH v2] Expose Peak USB device id in sysfs via phys_port_name.
> 
> The Peak USB CAN adapters can be assigned a device id via the Peak
> provided tools (pcan-settings). This id can currently not be set by the
> upstream kernel drivers, but some devices expose this id already.
> 
> The id can be used for consistent naming of CAN interfaces regardless of
> order of attachment or recognition on the system. The classical CAN Peak
> USB adapters expose this id via bcdDevice (combined with another value)
> on USB-level in the sysfs tree and this value is then available in
> ID_REVISION from udev. This is not a feasible approach, when a single
> USB device offers more than one CAN-interface, like e.g. the PCAN-USB
> Pro FD devices.
> 
> This patch exposes those ids via the, up to now unused, netdevice sysfs
> attribute phys_port_name as a simple decimal ASCII representation of the
> id. phys_port_id was not used, since the default print functions from
> net/core/net-sysfs.c output a hex-encoded binary value, which is
> overkill for a one-byte device id, like this one.
> 
> Signed-off-by: Andre Naujoks <nautsch2@gmail.com>
> ---
>   drivers/net/can/usb/peak_usb/pcan_usb_core.c | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_core.c b/drivers/net/can/usb/peak_usb/pcan_usb_core.c
> index e8f43ed90b72..f6cbb01a58cc 100644
> --- a/drivers/net/can/usb/peak_usb/pcan_usb_core.c
> +++ b/drivers/net/can/usb/peak_usb/pcan_usb_core.c
> @@ -408,6 +408,21 @@ static netdev_tx_t peak_usb_ndo_start_xmit(struct sk_buff *skb,
>           return NETDEV_TX_OK;
>   }
> 
> +static int peak_usb_ndo_get_phys_port_name(struct net_device *netdev,
> +                                          char *name, size_t len)
> +{
> +       const struct peak_usb_device *dev = netdev_priv(netdev);
> +       int err;
> +
> +       err = snprintf(name, len, "%u", dev->device_number);
> +
> +       if (err >= len || err <= 0) {
> +               return -EINVAL;
> +       }
> +
> +       return 0;
> +}
> +
>   /*
>    * start the CAN interface.
>    * Rx and Tx urbs are allocated here. Rx urbs are submitted here.
> @@ -769,6 +784,7 @@ static const struct net_device_ops peak_usb_netdev_ops = {
>           .ndo_stop = peak_usb_ndo_stop,
>           .ndo_start_xmit = peak_usb_ndo_start_xmit,
>           .ndo_change_mtu = can_change_mtu,
> +       .ndo_get_phys_port_name = peak_usb_ndo_get_phys_port_name,
>   };
> 
>   /*
> --
> 2.32.0
> 
> --
> PEAK-System Technik GmbH
> Sitz der Gesellschaft Darmstadt - HRB 9183
> Geschaeftsfuehrung: Alexander Gach / Uwe Wilhelm
> Unsere Datenschutzerklaerung mit wichtigen Hinweisen
> zur Behandlung personenbezogener Daten finden Sie unter
> www.peak-system.com/Datenschutz.483.0.html
> 


  reply	other threads:[~2021-07-21 13:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-21 12:40 [PATCH] " Andre Naujoks
2021-07-21 12:52 ` Pavel Skripkin
2021-07-21 12:59 ` [PATCH v2] " Andre Naujoks
2021-07-21 13:29   ` Stéphane Grosjean
2021-07-21 13:39     ` Andre Naujoks [this message]
     [not found]       ` <DBBPR03MB67952FE719401869BC8F1A77D6E59@DBBPR03MB6795.eurprd03.prod.outlook.com>
2021-07-23  7:33         ` Andre Naujoks

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=fe8998f2-7897-735c-926f-6b6b74018784@gmail.com \
    --to=nautsch2@gmail.com \
    --cc=colin.king@canonical.com \
    --cc=davem@davemloft.net \
    --cc=gustavoars@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mailhol.vincent@wanadoo.fr \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=paskripkin@gmail.com \
    --cc=s.grosjean@peak-system.com \
    --cc=wg@grandegger.com \
    --subject='Re: [PATCH v2] Expose Peak USB device id in sysfs via phys_port_name.' \
    /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

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).