Re: [PATCH v4 01/11] can: Add LIN bus as CAN abstraction
From: Simon Horman <horms@kernel.org>
Date: 2024-05-13 09:53:40
Also in:
linux-can, linux-devicetree, linux-input, linux-serial
On Thu, May 09, 2024 at 07:17:26PM +0200, Christoph Fritz wrote:
Introduce a LIN (local interconnect network) abstraction on top of CAN. This is a glue driver adapting CAN on one side while offering LIN abstraction on the other side. So that upcoming LIN device drivers can make use of it. Tested-by: Andreas Lauser <redacted> Signed-off-by: Christoph Fritz <redacted>
...
+#define LID(_name) \ + struct device_attribute linid_##_name = __ATTR(_name, 0644, \ + lin_identifier_show, lin_identifier_store) + +LID(00); LID(01); LID(02); LID(03); LID(04); LID(05); LID(06); LID(07); +LID(08); LID(09); LID(0a); LID(0b); LID(0c); LID(0d); LID(0e); LID(0f); +LID(10); LID(11); LID(12); LID(13); LID(14); LID(15); LID(16); LID(17); +LID(18); LID(19); LID(1a); LID(1b); LID(1c); LID(1d); LID(1e); LID(1f); +LID(20); LID(21); LID(22); LID(23); LID(24); LID(25); LID(26); LID(27); +LID(28); LID(29); LID(2a); LID(2b); LID(2c); LID(2d); LID(2e); LID(2f); +LID(30); LID(31); LID(32); LID(33); LID(34); LID(35); LID(36); LID(37); +LID(38); LID(39); LID(3a); LID(3b); LID(3c); LID(3d); LID(3e); LID(3f);
Hi Christoph, Sparse flags that the structures defined by the above code are not declared elsewhere, and therefore likely should be static.
+
+static struct attribute *lin_sysfs_attrs[] = {
+ &linid_00.attr, &linid_01.attr, &linid_02.attr, &linid_03.attr,
+ &linid_04.attr, &linid_05.attr, &linid_06.attr, &linid_07.attr,
+ &linid_08.attr, &linid_09.attr, &linid_0a.attr, &linid_0b.attr,
+ &linid_0c.attr, &linid_0d.attr, &linid_0e.attr, &linid_0f.attr,
+ &linid_10.attr, &linid_11.attr, &linid_12.attr, &linid_13.attr,
+ &linid_14.attr, &linid_15.attr, &linid_16.attr, &linid_17.attr,
+ &linid_18.attr, &linid_19.attr, &linid_1a.attr, &linid_1b.attr,
+ &linid_1c.attr, &linid_1d.attr, &linid_1e.attr, &linid_1f.attr,
+ &linid_20.attr, &linid_21.attr, &linid_22.attr, &linid_23.attr,
+ &linid_24.attr, &linid_25.attr, &linid_26.attr, &linid_27.attr,
+ &linid_28.attr, &linid_29.attr, &linid_2a.attr, &linid_2b.attr,
+ &linid_2c.attr, &linid_2d.attr, &linid_2e.attr, &linid_2f.attr,
+ &linid_30.attr, &linid_31.attr, &linid_32.attr, &linid_33.attr,
+ &linid_34.attr, &linid_35.attr, &linid_36.attr, &linid_37.attr,
+ &linid_38.attr, &linid_39.attr, &linid_3a.attr, &linid_3b.attr,
+ &linid_3c.attr, &linid_3d.attr, &linid_3e.attr, &linid_3f.attr,
+ NULL
+};...