ppisa commented on code in PR #16999:
URL: https://github.com/apache/nuttx/pull/16999#discussion_r2347191905


##########
include/nuttx/net/mdio.h:
##########
@@ -0,0 +1,208 @@
+/****************************************************************************
+ * include/nuttx/net/mdio.h
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_NET_MDIO_H
+#define __INCLUDE_NUTTX_NET_MDIO_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/compiler.h>
+#include <stdint.h>
+#include <nuttx/mutex.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+/* Forward references */
+
+struct mdio_bus_s;
+struct mdio_lowerhalf_s;
+
+/* This structure defines the interface for the MDIO lower-half driver.
+ * These methods are called by the upper-half MDIO driver.
+ */
+
+struct mdio_ops_s
+{
+  /* Clause 22 MDIO Read. The first argument is a reference to the
+   * lower-half driver's private state.
+   */
+
+  int (*read)(FAR struct mdio_lowerhalf_s *lower, uint8_t phyaddr,
+              uint8_t regaddr, FAR uint16_t *value);
+
+  /* Clause 22 MDIO Write */
+
+  int (*write)(FAR struct mdio_lowerhalf_s *lower, uint8_t phyaddr,
+               uint8_t regaddr, uint16_t value);

Review Comment:
   Please, consider there where the MMD PRTAD  could be passed. I would vote 
for additional `int prtad` argument. See related Linux code
   
   https://elixir.bootlin.com/linux/v6.16.3/source/include/linux/mdio.h#L139
   
   https://elixir.bootlin.com/linux/v6.16.3/source/drivers/net/mdio.c#L26
   
   Please, think about some locations/flags where PHY and MAC stores 
information if they supports C22, C45 or both.



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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to