machine: use new internal/binary package

The encoding/binary package in Go 1.23 imports the slices package, which
results in circular import when imported from the machine package.
Therefore, encoding/binary cannot be used in the machine package.

This commit fixes that by introducing a new internal/binary package that
is just plain Go code without dependencies. It can be safely used
anywhere (including the runtime if needed).
This commit is contained in:
Ayke van Laethem
2024-06-24 17:26:58 +02:00
committed by Ron Evans
parent 868262f4a7
commit 1270a50104
12 changed files with 43 additions and 10 deletions
+1 -1
View File
@@ -10,8 +10,8 @@ import (
"bytes"
"device/arm"
"device/sam"
"encoding/binary"
"errors"
"internal/binary"
"runtime/interrupt"
"unsafe"
)
+1 -1
View File
@@ -10,8 +10,8 @@ import (
"bytes"
"device/arm"
"device/sam"
"encoding/binary"
"errors"
"internal/binary"
"runtime/interrupt"
"unsafe"
)
+1 -1
View File
@@ -5,7 +5,7 @@ package machine
import (
"bytes"
"device/nrf"
"encoding/binary"
"internal/binary"
"runtime/interrupt"
"unsafe"
)
+1 -1
View File
@@ -6,8 +6,8 @@ package machine
import (
"device/stm32"
"encoding/binary"
"errors"
"internal/binary"
"math/bits"
"runtime/interrupt"
"runtime/volatile"
+1 -1
View File
@@ -4,8 +4,8 @@ package machine
import (
"device/stm32"
"encoding/binary"
"errors"
"internal/binary"
"runtime/interrupt"
"runtime/volatile"
"unsafe"
+1 -1
View File
@@ -6,8 +6,8 @@ package machine
import (
"device/stm32"
"encoding/binary"
"errors"
"internal/binary"
"math/bits"
"runtime/interrupt"
"runtime/volatile"
+1 -1
View File
@@ -1,7 +1,7 @@
package descriptor
import (
"encoding/binary"
"internal/binary"
)
const (
+1 -1
View File
@@ -1,7 +1,7 @@
package descriptor
import (
"encoding/binary"
"internal/binary"
)
const (
+1 -1
View File
@@ -1,7 +1,7 @@
package descriptor
import (
"encoding/binary"
"internal/binary"
)
var endpointEP1IN = [endpointTypeLen]byte{
+1 -1
View File
@@ -2,8 +2,8 @@ package descriptor
import (
"bytes"
"encoding/binary"
"errors"
"internal/binary"
)
var configurationCDCHID = [configurationTypeLen]byte{