OSDN Git Service

can: pcan_usb: Document the commands sent to the device
authorStephane Grosjean <s.grosjean@peak-system.com>
Fri, 6 Dec 2019 15:38:02 +0000 (16:38 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 21 Sep 2020 08:13:18 +0000 (10:13 +0200)
This patch documents the functions and numbers of the commands sent by the
driver to the PCAN-USB CAN device from PEAK-System GmbH.

Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com>
Link: https://lore.kernel.org/r/20191206153803.17725-2-s.grosjean@peak-system.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/usb/peak_usb/pcan_usb.c

index 66d0198..7646825 100644 (file)
@@ -34,6 +34,22 @@ MODULE_SUPPORTED_DEVICE("PEAK-System PCAN-USB adapter");
 #define PCAN_USB_CMD_LEN               (PCAN_USB_CMD_ARGS + \
                                         PCAN_USB_CMD_ARGS_LEN)
 
+/* PCAN-USB commands */
+#define PCAN_USB_CMD_BITRATE   1
+#define PCAN_USB_CMD_SET_BUS   3
+#define PCAN_USB_CMD_DEVID     4
+#define PCAN_USB_CMD_SN                6
+#define PCAN_USB_CMD_REGISTER  9
+#define PCAN_USB_CMD_EXT_VCC   10
+
+/* PCAN_USB_CMD_SET_BUS number arg */
+#define PCAN_USB_BUS_XCVER             2
+#define PCAN_USB_BUS_SILENT_MODE       3
+
+/* PCAN_USB_CMD_xxx functions */
+#define PCAN_USB_GET           1
+#define PCAN_USB_SET           2
+
 /* PCAN-USB command timeout (ms.) */
 #define PCAN_USB_COMMAND_TIMEOUT       1000
 
@@ -172,7 +188,8 @@ static int pcan_usb_set_sja1000(struct peak_usb_device *dev, u8 mode)
                [1] = mode,
        };
 
-       return pcan_usb_send_cmd(dev, 9, 2, args);
+       return pcan_usb_send_cmd(dev, PCAN_USB_CMD_REGISTER, PCAN_USB_SET,
+                                args);
 }
 
 static int pcan_usb_set_bus(struct peak_usb_device *dev, u8 onoff)
@@ -181,7 +198,8 @@ static int pcan_usb_set_bus(struct peak_usb_device *dev, u8 onoff)
                [0] = !!onoff,
        };
 
-       return pcan_usb_send_cmd(dev, 3, 2, args);
+       return pcan_usb_send_cmd(dev, PCAN_USB_CMD_SET_BUS, PCAN_USB_BUS_XCVER,
+                                args);
 }
 
 static int pcan_usb_set_silent(struct peak_usb_device *dev, u8 onoff)
@@ -190,7 +208,8 @@ static int pcan_usb_set_silent(struct peak_usb_device *dev, u8 onoff)
                [0] = !!onoff,
        };
 
-       return pcan_usb_send_cmd(dev, 3, 3, args);
+       return pcan_usb_send_cmd(dev, PCAN_USB_CMD_SET_BUS,
+                                PCAN_USB_BUS_SILENT_MODE, args);
 }
 
 static int pcan_usb_set_ext_vcc(struct peak_usb_device *dev, u8 onoff)
@@ -199,7 +218,7 @@ static int pcan_usb_set_ext_vcc(struct peak_usb_device *dev, u8 onoff)
                [0] = !!onoff,
        };
 
-       return pcan_usb_send_cmd(dev, 10, 2, args);
+       return pcan_usb_send_cmd(dev, PCAN_USB_CMD_EXT_VCC, PCAN_USB_SET, args);
 }
 
 /*
@@ -223,7 +242,7 @@ static int pcan_usb_set_bittiming(struct peak_usb_device *dev,
        args[0] = btr1;
        args[1] = btr0;
 
-       return pcan_usb_send_cmd(dev, 1, 2, args);
+       return pcan_usb_send_cmd(dev, PCAN_USB_CMD_BITRATE, PCAN_USB_SET, args);
 }
 
 /*
@@ -307,7 +326,7 @@ static int pcan_usb_get_serial(struct peak_usb_device *dev, u32 *serial_number)
        u8 args[PCAN_USB_CMD_ARGS_LEN];
        int err;
 
-       err = pcan_usb_wait_rsp(dev, 6, 1, args);
+       err = pcan_usb_wait_rsp(dev, PCAN_USB_CMD_SN, PCAN_USB_GET, args);
        if (err) {
                netdev_err(dev->netdev, "getting serial failure: %d\n", err);
        } else if (serial_number) {
@@ -328,7 +347,7 @@ static int pcan_usb_get_device_id(struct peak_usb_device *dev, u32 *device_id)
        u8 args[PCAN_USB_CMD_ARGS_LEN];
        int err;
 
-       err = pcan_usb_wait_rsp(dev, 4, 1, args);
+       err = pcan_usb_wait_rsp(dev, PCAN_USB_CMD_DEVID, PCAN_USB_GET, args);
        if (err)
                netdev_err(dev->netdev, "getting device id failure: %d\n", err);
        else if (device_id)