]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[smscusb] Move non-inline register access functions to smscusb.c
authorMichael Brown <mcb30@ipxe.org>
Mon, 10 Jul 2017 10:54:24 +0000 (11:54 +0100)
committerMichael Brown <mcb30@ipxe.org>
Mon, 10 Jul 2017 10:55:04 +0000 (11:55 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/net/smscusb.c
src/drivers/net/smscusb.h

index 32e24418bc62ecabfb222f313aa6978838e481b0..19a679c462c0e73c2a094211150698d6773d610a 100644 (file)
@@ -42,6 +42,63 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
 static struct profiler smscusb_intr_profiler __profiler =
        { .name = "smscusb.intr" };
 
+/******************************************************************************
+ *
+ * Register access
+ *
+ ******************************************************************************
+ */
+
+/**
+ * Write register (without byte-swapping)
+ *
+ * @v smscusb          Smscusb device
+ * @v address          Register address
+ * @v value            Register value
+ * @ret rc             Return status code
+ */
+int smscusb_raw_writel ( struct smscusb_device *smscusb, unsigned int address,
+                        uint32_t value ) {
+       int rc;
+
+       /* Write register */
+       DBGCIO ( smscusb, "SMSCUSB %p [%03x] <= %08x\n",
+                smscusb, address, le32_to_cpu ( value ) );
+       if ( ( rc = usb_control ( smscusb->usb, SMSCUSB_REGISTER_WRITE, 0,
+                                 address, &value, sizeof ( value ) ) ) != 0 ) {
+               DBGC ( smscusb, "SMSCUSB %p could not write %03x: %s\n",
+                      smscusb, address, strerror ( rc ) );
+               return rc;
+       }
+
+       return 0;
+}
+
+/**
+ * Read register (without byte-swapping)
+ *
+ * @v smscusb          SMSC USB device
+ * @v address          Register address
+ * @ret value          Register value
+ * @ret rc             Return status code
+ */
+int smscusb_raw_readl ( struct smscusb_device *smscusb, unsigned int address,
+                       uint32_t *value ) {
+       int rc;
+
+       /* Read register */
+       if ( ( rc = usb_control ( smscusb->usb, SMSCUSB_REGISTER_READ, 0,
+                                 address, value, sizeof ( *value ) ) ) != 0 ) {
+               DBGC ( smscusb, "SMSCUSB %p could not read %03x: %s\n",
+                      smscusb, address, strerror ( rc ) );
+               return rc;
+       }
+       DBGCIO ( smscusb, "SMSCUSB %p [%03x] => %08x\n",
+                smscusb, address, le32_to_cpu ( *value ) );
+
+       return 0;
+}
+
 /******************************************************************************
  *
  * EEPROM access
index 8c602dc54104ca7a507613950f3049b531764383..d7216d9a8db0d31da9a57dc579b234b555e8a9d3 100644 (file)
@@ -170,30 +170,10 @@ struct smscusb_device {
        uint32_t int_sts;
 };
 
-/**
- * Write register (without byte-swapping)
- *
- * @v smscusb          Smscusb device
- * @v address          Register address
- * @v value            Register value
- * @ret rc             Return status code
- */
-static int smscusb_raw_writel ( struct smscusb_device *smscusb,
-                               unsigned int address, uint32_t value ) {
-       int rc;
-
-       /* Write register */
-       DBGCIO ( smscusb, "SMSCUSB %p [%03x] <= %08x\n",
-                smscusb, address, le32_to_cpu ( value ) );
-       if ( ( rc = usb_control ( smscusb->usb, SMSCUSB_REGISTER_WRITE, 0,
-                                 address, &value, sizeof ( value ) ) ) != 0 ) {
-               DBGC ( smscusb, "SMSCUSB %p could not write %03x: %s\n",
-                      smscusb, address, strerror ( rc ) );
-               return rc;
-       }
-
-       return 0;
-}
+extern int smscusb_raw_writel ( struct smscusb_device *smscusb,
+                               unsigned int address, uint32_t value );
+extern int smscusb_raw_readl ( struct smscusb_device *smscusb,
+                              unsigned int address, uint32_t *value );
 
 /**
  * Write register
@@ -216,31 +196,6 @@ smscusb_writel ( struct smscusb_device *smscusb, unsigned int address,
        return 0;
 }
 
-/**
- * Read register (without byte-swapping)
- *
- * @v smscusb          SMSC USB device
- * @v address          Register address
- * @ret value          Register value
- * @ret rc             Return status code
- */
-static int smscusb_raw_readl ( struct smscusb_device *smscusb,
-                              unsigned int address, uint32_t *value ) {
-       int rc;
-
-       /* Read register */
-       if ( ( rc = usb_control ( smscusb->usb, SMSCUSB_REGISTER_READ, 0,
-                                 address, value, sizeof ( *value ) ) ) != 0 ) {
-               DBGC ( smscusb, "SMSCUSB %p could not read %03x: %s\n",
-                      smscusb, address, strerror ( rc ) );
-               return rc;
-       }
-       DBGCIO ( smscusb, "SMSCUSB %p [%03x] => %08x\n",
-                smscusb, address, le32_to_cpu ( *value ) );
-
-       return 0;
-}
-
 /**
  * Read register
  *