You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2020/11/03 13:28:52 UTC

[GitHub] [incubator-nuttx] btashton commented on a change in pull request #2158: Linux I2C bus support in sim

btashton commented on a change in pull request #2158:
URL: https://github.com/apache/incubator-nuttx/pull/2158#discussion_r516072853



##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */
+
+#define I2C_M_RD               0x0001
+#define I2C_M_TEN              0x0010
+#define I2C_M_DMA_SAFE         0x0200
+#define I2C_M_RECV_LEN         0x0400
+#define I2C_M_NO_RD_ACK        0x0800
+#define I2C_M_IGNORE_NAK       0x1000
+#define I2C_M_REV_DIR_ADDR     0x2000
+#define I2C_M_NOSTART          0x4000
+#define I2C_M_STOP             0x8000
+
+/* Linux ioctl */
+
+#define I2C_RETRIES            0x0701
+#define I2C_TIMEOUT            0x0702
+#define I2C_SLAVE              0x0703
+#define I2C_SLAVE_FORCE        0x0706
+#define I2C_TENBIT             0x0704
+#define I2C_FUNCS              0x0705
+#define I2C_RDWR               0x0707
+#define I2C_PEC                0x0708
+#define I2C_SMBUS              0x0720
+
+/* NuttX msg flags (see i2c_master.h) */

Review comment:
       I really don't want to pull that header in here, both because of the additional build requirements and side effects of the header.  These are quite stable.

##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */

Review comment:
       I really don't want to pull that header in here, both because of the additional build requirements and side effects of the header.  These are quite stable.

##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */
+
+#define I2C_M_RD               0x0001
+#define I2C_M_TEN              0x0010
+#define I2C_M_DMA_SAFE         0x0200
+#define I2C_M_RECV_LEN         0x0400
+#define I2C_M_NO_RD_ACK        0x0800
+#define I2C_M_IGNORE_NAK       0x1000
+#define I2C_M_REV_DIR_ADDR     0x2000
+#define I2C_M_NOSTART          0x4000
+#define I2C_M_STOP             0x8000
+
+/* Linux ioctl */
+
+#define I2C_RETRIES            0x0701
+#define I2C_TIMEOUT            0x0702
+#define I2C_SLAVE              0x0703
+#define I2C_SLAVE_FORCE        0x0706
+#define I2C_TENBIT             0x0704
+#define I2C_FUNCS              0x0705
+#define I2C_RDWR               0x0707
+#define I2C_PEC                0x0708
+#define I2C_SMBUS              0x0720
+
+/* NuttX msg flags (see i2c_master.h) */

Review comment:
       But the previous comment was to move them out of the header and into the C file. 

##########
File path: boards/sim/sim/sim/Kconfig
##########
@@ -54,3 +54,20 @@ config SIM_WTGAHRS2_UARTN
 		We can select the number accoding to which SIM_UARTX_NAME is uesd to sensor.
 		This range is 0-4.
 endif
+
+config SIM_I2CBUS

Review comment:
       Seems reasonable

##########
File path: arch/sim/src/sim/up_i2cbus.c
##########
@@ -0,0 +1,153 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_i2cbus.c

Review comment:
       The reason I put this here was I figured that if another I2C bus implementor was here like libhid that this would resolve the mapping.
   
   I can move it out it just means only supporting one at a time.

##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */
+
+#define I2C_M_RD               0x0001
+#define I2C_M_TEN              0x0010
+#define I2C_M_DMA_SAFE         0x0200
+#define I2C_M_RECV_LEN         0x0400
+#define I2C_M_NO_RD_ACK        0x0800
+#define I2C_M_IGNORE_NAK       0x1000
+#define I2C_M_REV_DIR_ADDR     0x2000
+#define I2C_M_NOSTART          0x4000
+#define I2C_M_STOP             0x8000
+
+/* Linux ioctl */
+
+#define I2C_RETRIES            0x0701
+#define I2C_TIMEOUT            0x0702
+#define I2C_SLAVE              0x0703
+#define I2C_SLAVE_FORCE        0x0706
+#define I2C_TENBIT             0x0704
+#define I2C_FUNCS              0x0705
+#define I2C_RDWR               0x0707
+#define I2C_PEC                0x0708
+#define I2C_SMBUS              0x0720
+
+/* NuttX msg flags (see i2c_master.h) */

Review comment:
       I'm fine doing that but I need to change the naming of the NuttX or Linux flags since there is conflict. If I put the NuttX ones in a common place I feel like we should still prefix them so that we don't have conflicts against host naming. Does that make sense?

##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */

Review comment:
       We can try, I have just had issues in the past with kernel headers causing side effects.  I have gone back and forth, but since it is an advanced feature the extra requirement is not that bad long as it still works. .

##########
File path: arch/sim/src/sim/up_i2cbus.c
##########
@@ -0,0 +1,153 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_i2cbus.c

Review comment:
       Ok that's fine. I guess if we were to support using other userspace I2C libraries (via libftdi, libhid, etc) they could just be mapped and initialized as appropriate in the host specific bus code.

##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */
+
+#define I2C_M_RD               0x0001
+#define I2C_M_TEN              0x0010
+#define I2C_M_DMA_SAFE         0x0200
+#define I2C_M_RECV_LEN         0x0400
+#define I2C_M_NO_RD_ACK        0x0800
+#define I2C_M_IGNORE_NAK       0x1000
+#define I2C_M_REV_DIR_ADDR     0x2000
+#define I2C_M_NOSTART          0x4000
+#define I2C_M_STOP             0x8000
+
+/* Linux ioctl */
+
+#define I2C_RETRIES            0x0701
+#define I2C_TIMEOUT            0x0702
+#define I2C_SLAVE              0x0703
+#define I2C_SLAVE_FORCE        0x0706
+#define I2C_TENBIT             0x0704
+#define I2C_FUNCS              0x0705
+#define I2C_RDWR               0x0707
+#define I2C_PEC                0x0708
+#define I2C_SMBUS              0x0720
+
+/* NuttX msg flags (see i2c_master.h) */

Review comment:
       Yeah I saw that. I don't really like that we leaked in the sim specific logic in that driver, but I also get that that driver is expected to work in the sim so I guess it is fine. 

##########
File path: boards/sim/sim/sim/Kconfig
##########
@@ -54,3 +54,20 @@ config SIM_WTGAHRS2_UARTN
 		We can select the number accoding to which SIM_UARTX_NAME is uesd to sensor.
 		This range is 0-4.
 endif
+
+config SIM_I2CBUS

Review comment:
       Done

##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */
+
+#define I2C_M_RD               0x0001
+#define I2C_M_TEN              0x0010
+#define I2C_M_DMA_SAFE         0x0200
+#define I2C_M_RECV_LEN         0x0400
+#define I2C_M_NO_RD_ACK        0x0800
+#define I2C_M_IGNORE_NAK       0x1000
+#define I2C_M_REV_DIR_ADDR     0x2000
+#define I2C_M_NOSTART          0x4000
+#define I2C_M_STOP             0x8000
+
+/* Linux ioctl */
+
+#define I2C_RETRIES            0x0701
+#define I2C_TIMEOUT            0x0702
+#define I2C_SLAVE              0x0703
+#define I2C_SLAVE_FORCE        0x0706
+#define I2C_TENBIT             0x0704
+#define I2C_FUNCS              0x0705
+#define I2C_RDWR               0x0707
+#define I2C_PEC                0x0708
+#define I2C_SMBUS              0x0720
+
+/* NuttX msg flags (see i2c_master.h) */

Review comment:
       Done.
   There is now up_i2cbus.h that contains the NuttX structs and flags that can be used by multiple host implementations.  The Linux interface stuff all comes in via included kernel headers.

##########
File path: arch/sim/src/sim/up_linuxi2cbus.c
##########
@@ -0,0 +1,332 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_linuxi2cbus.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "up_linuxi2cbus.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define ERROR(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define INFO(fmt, ...) \
+        syslog(LOG_ERR, "up_linuxi2c_host: " fmt "\n", ##__VA_ARGS__)
+#define DEBUG(fmt, ...)
+
+/* Define the Linux IOCTL interfaces again here so we do not require having
+ * the kernel headers to build this.  This interface should be fairly
+ * stable so it should not cause any issues.  The naming is preserved in case
+ * we want to change it in the future.
+ */
+
+/* Linux msg flags */

Review comment:
       including them now.

##########
File path: arch/sim/src/sim/up_i2cbus.c
##########
@@ -0,0 +1,153 @@
+/****************************************************************************
+ * arch/sim/src/sim/up_i2cbus.c

Review comment:
       Done.

##########
File path: arch/sim/Kconfig
##########
@@ -504,6 +504,21 @@ config SIM_HCISOCKET
 		control of the device, but is abstracted from the
 		physical interface which is still handled by Linux.
 
+config SIM_LINUXI2CBUS

Review comment:
       Done




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org