<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic SJA1105 driver in S32G</title>
    <link>https://community.nxp.com/t5/S32G/SJA1105-driver/m-p/1682853#M4030</link>
    <description>&lt;P&gt;I downloaded the sja1105 driver from the link &lt;A href="https://github.com/nxp-auto-linux/sja1105x/tree/release/bsp31.0_5.4_cd" target="_blank"&gt;https://github.com/nxp-auto-linux/sja1105x/tree/release/bsp31.0_5.4_cd&lt;/A&gt;, but the compilation reported some errors. I downloaded the version of the Linux kernel from here: &lt;A href="https://github.com/nxp-auto-linux/linux/tree/release/bsp30.0-5.10.41-rt" target="_blank"&gt;https://github.com/nxp-auto-linux/linux/tree/release/bsp30.0-5.10.41-rt&lt;/A&gt;, can someone help me? Here is the compiled log:&lt;/P&gt;&lt;P&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘set_port_linkstatus’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:353:2: error: too few arguments to function ‘dev_change_flags’&lt;BR /&gt;353 | dev_change_flags(netdev, flags);&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;In file included from ./include/linux/etherdevice.h:21,&lt;BR /&gt;from /home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:18:&lt;BR /&gt;./include/linux/netdevice.h:3894:5: note: declared here&lt;BR /&gt;3894 | int dev_change_flags(struct net_device *dev, unsigned int flags,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘nxp_port_attr_get’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:681:7: error: ‘SWITCHDEV_ATTR_ID_PORT_PARENT_ID’ undeclared (first use in this function); did you mean ‘SWITCHDEV_ATTR_ID_PORT_MROUTER’?&lt;BR /&gt;681 | case SWITCHDEV_ATTR_ID_PORT_PARENT_ID:&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;| SWITCHDEV_ATTR_ID_PORT_MROUTER&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:681:7: note: each undeclared identifier is reported only once for each function it appears in&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:682:55: error: ‘union &amp;lt;anonymous&amp;gt;’ has no member named ‘ppid’&lt;BR /&gt;682 | return nxp_port_swdev_parent_id_get(netdev, &amp;amp;attr-&amp;gt;u.ppid);&lt;BR /&gt;| ^&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: At top level:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:808:19: error: initialization of ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, struct netlink_ext_ack *)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int, struct netlink_ext_ack *)’} from incompatible pointer type ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int)’} [-Werror=incompatible-pointer-types]&lt;BR /&gt;808 | .ndo_fdb_add = nxp_port_fdb_add,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:808:19: note: (near initialization for ‘nxp_port_netdev_ops.ndo_fdb_add’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:818:21: error: variable ‘nxp_port_swdev_ops’ has initializer but incomplete type&lt;BR /&gt;818 | static const struct switchdev_ops nxp_port_swdev_ops = {&lt;BR /&gt;| ^~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:819:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_attr_get’&lt;BR /&gt;819 | .switchdev_port_attr_get = nxp_port_attr_get,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:819:29: warning: excess elements in struct initializer&lt;BR /&gt;819 | .switchdev_port_attr_get = nxp_port_attr_get,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:819:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:820:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_attr_set’&lt;BR /&gt;820 | .switchdev_port_attr_set = nxp_port_attr_set,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:820:29: warning: excess elements in struct initializer&lt;BR /&gt;820 | .switchdev_port_attr_set = nxp_port_attr_set,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:820:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:821:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_obj_add’&lt;BR /&gt;821 | .switchdev_port_obj_add = nxp_port_obj_add,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:821:29: warning: excess elements in struct initializer&lt;BR /&gt;821 | .switchdev_port_obj_add = nxp_port_obj_add,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:821:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:822:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_obj_del’&lt;BR /&gt;822 | .switchdev_port_obj_del = nxp_port_obj_del,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:822:29: warning: excess elements in struct initializer&lt;BR /&gt;822 | .switchdev_port_obj_del = nxp_port_obj_del,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:822:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘attach_phydev’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:930:18: error: ‘PHY_CHANGELINK’ undeclared (first use in this function); did you mean ‘PHY_NOLINK’?&lt;BR /&gt;930 | phydev-&amp;gt;state = PHY_CHANGELINK;&lt;BR /&gt;| ^~~~~~~~~~~~~~&lt;BR /&gt;| PHY_NOLINK&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘register_ports’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:1026:3: error: implicit declaration of function ‘SWITCHDEV_SET_OPS’ [-Werror=implicit-function-declaration]&lt;BR /&gt;1026 | SWITCHDEV_SET_OPS(netdev, &amp;amp;nxp_port_swdev_ops);&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: At top level:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:818:35: error: storage size of ‘nxp_port_swdev_ops’ isn’t known&lt;BR /&gt;818 | static const struct switchdev_ops nxp_port_swdev_ops = {&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~&lt;BR /&gt;cc1: some warnings being treated as errors&lt;BR /&gt;make[2]: *** [scripts/Makefile.build:279: /home/yl/sja1105x/switchdev/src/sja1105p_switchdev.o] Error 1&lt;BR /&gt;make[1]: *** [Makefile:1821: /home/yl/sja1105x] Error 2&lt;BR /&gt;make[1]: Leaving directory '/home/yl/linux'&lt;BR /&gt;make: *** [Makefile:90: modules] Error 2&lt;/P&gt;</description>
    <pubDate>Thu, 06 Jul 2023 07:06:22 GMT</pubDate>
    <dc:creator>yanglei666888</dc:creator>
    <dc:date>2023-07-06T07:06:22Z</dc:date>
    <item>
      <title>SJA1105 driver</title>
      <link>https://community.nxp.com/t5/S32G/SJA1105-driver/m-p/1682853#M4030</link>
      <description>&lt;P&gt;I downloaded the sja1105 driver from the link &lt;A href="https://github.com/nxp-auto-linux/sja1105x/tree/release/bsp31.0_5.4_cd" target="_blank"&gt;https://github.com/nxp-auto-linux/sja1105x/tree/release/bsp31.0_5.4_cd&lt;/A&gt;, but the compilation reported some errors. I downloaded the version of the Linux kernel from here: &lt;A href="https://github.com/nxp-auto-linux/linux/tree/release/bsp30.0-5.10.41-rt" target="_blank"&gt;https://github.com/nxp-auto-linux/linux/tree/release/bsp30.0-5.10.41-rt&lt;/A&gt;, can someone help me? Here is the compiled log:&lt;/P&gt;&lt;P&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘set_port_linkstatus’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:353:2: error: too few arguments to function ‘dev_change_flags’&lt;BR /&gt;353 | dev_change_flags(netdev, flags);&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;In file included from ./include/linux/etherdevice.h:21,&lt;BR /&gt;from /home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:18:&lt;BR /&gt;./include/linux/netdevice.h:3894:5: note: declared here&lt;BR /&gt;3894 | int dev_change_flags(struct net_device *dev, unsigned int flags,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘nxp_port_attr_get’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:681:7: error: ‘SWITCHDEV_ATTR_ID_PORT_PARENT_ID’ undeclared (first use in this function); did you mean ‘SWITCHDEV_ATTR_ID_PORT_MROUTER’?&lt;BR /&gt;681 | case SWITCHDEV_ATTR_ID_PORT_PARENT_ID:&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;| SWITCHDEV_ATTR_ID_PORT_MROUTER&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:681:7: note: each undeclared identifier is reported only once for each function it appears in&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:682:55: error: ‘union &amp;lt;anonymous&amp;gt;’ has no member named ‘ppid’&lt;BR /&gt;682 | return nxp_port_swdev_parent_id_get(netdev, &amp;amp;attr-&amp;gt;u.ppid);&lt;BR /&gt;| ^&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: At top level:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:808:19: error: initialization of ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, struct netlink_ext_ack *)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int, struct netlink_ext_ack *)’} from incompatible pointer type ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int)’} [-Werror=incompatible-pointer-types]&lt;BR /&gt;808 | .ndo_fdb_add = nxp_port_fdb_add,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:808:19: note: (near initialization for ‘nxp_port_netdev_ops.ndo_fdb_add’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:818:21: error: variable ‘nxp_port_swdev_ops’ has initializer but incomplete type&lt;BR /&gt;818 | static const struct switchdev_ops nxp_port_swdev_ops = {&lt;BR /&gt;| ^~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:819:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_attr_get’&lt;BR /&gt;819 | .switchdev_port_attr_get = nxp_port_attr_get,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:819:29: warning: excess elements in struct initializer&lt;BR /&gt;819 | .switchdev_port_attr_get = nxp_port_attr_get,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:819:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:820:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_attr_set’&lt;BR /&gt;820 | .switchdev_port_attr_set = nxp_port_attr_set,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:820:29: warning: excess elements in struct initializer&lt;BR /&gt;820 | .switchdev_port_attr_set = nxp_port_attr_set,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:820:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:821:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_obj_add’&lt;BR /&gt;821 | .switchdev_port_obj_add = nxp_port_obj_add,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:821:29: warning: excess elements in struct initializer&lt;BR /&gt;821 | .switchdev_port_obj_add = nxp_port_obj_add,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:821:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:822:3: error: ‘const struct switchdev_ops’ has no member named ‘switchdev_port_obj_del’&lt;BR /&gt;822 | .switchdev_port_obj_del = nxp_port_obj_del,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:822:29: warning: excess elements in struct initializer&lt;BR /&gt;822 | .switchdev_port_obj_del = nxp_port_obj_del,&lt;BR /&gt;| ^~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:822:29: note: (near initialization for ‘nxp_port_swdev_ops’)&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘attach_phydev’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:930:18: error: ‘PHY_CHANGELINK’ undeclared (first use in this function); did you mean ‘PHY_NOLINK’?&lt;BR /&gt;930 | phydev-&amp;gt;state = PHY_CHANGELINK;&lt;BR /&gt;| ^~~~~~~~~~~~~~&lt;BR /&gt;| PHY_NOLINK&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: In function ‘register_ports’:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:1026:3: error: implicit declaration of function ‘SWITCHDEV_SET_OPS’ [-Werror=implicit-function-declaration]&lt;BR /&gt;1026 | SWITCHDEV_SET_OPS(netdev, &amp;amp;nxp_port_swdev_ops);&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c: At top level:&lt;BR /&gt;/home/yl/sja1105x/switchdev/src/sja1105p_switchdev.c:818:35: error: storage size of ‘nxp_port_swdev_ops’ isn’t known&lt;BR /&gt;818 | static const struct switchdev_ops nxp_port_swdev_ops = {&lt;BR /&gt;| ^~~~~~~~~~~~~~~~~~&lt;BR /&gt;cc1: some warnings being treated as errors&lt;BR /&gt;make[2]: *** [scripts/Makefile.build:279: /home/yl/sja1105x/switchdev/src/sja1105p_switchdev.o] Error 1&lt;BR /&gt;make[1]: *** [Makefile:1821: /home/yl/sja1105x] Error 2&lt;BR /&gt;make[1]: Leaving directory '/home/yl/linux'&lt;BR /&gt;make: *** [Makefile:90: modules] Error 2&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2023 07:06:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/SJA1105-driver/m-p/1682853#M4030</guid>
      <dc:creator>yanglei666888</dc:creator>
      <dc:date>2023-07-06T07:06:22Z</dc:date>
    </item>
  </channel>
</rss>

