registers::Doorbell
as an alias ofregisters::doorbell::Doorbell
. (#170)
registers::Capability
now has read-only accessors instead of read-write ones. (#167)registers::doorbell::Register
is renamed toregisters::doorbell::Doorbell
. The former still exists, but is deprecated now. (#167)
registers::doorbell::Register
in favor ofregisters::doorbell::Doorbell
. (#167)
- The sponsor button is now shown on the repository page on GitHub.
- CI now uses
giraffate/clippy-action@
instead ofactions-rs/clippy-check
for Clippy check.
transfer::Normal
's data_buffer_pointer calculation is fixed.- The path to the workflow status is fixed.
- Removed an outdated lint
unaligned_references
.
set_0_*
for all RW1C bits, which sets the bit to 0. This prevents the bit from being cleared on write.Default
implementations for registers without RsvdP bits, which allows avoiding a redundant read.
- The structure of
registers::runtime::InterrupterRegisterSet
is changed, and you can now modify single fields of the Interrupter Register Set viaregisters::runtime::Interrupter
. See #142 and #142 (comment) for the background of this change.
registers::runtime::InterruptRegisterSet
in favor ofregisters::runtime::InterrupterRegisterSet
.
registers::runtime::InterruptRegisterSet
is renamed toregisters::runtime::InterrupterRegisterSet
(note: Interrupter). The former still exists but is an alias of the latter and is deprecated now.
registers::runtime::InterruptRegisterSet
in favor ofregisters::runtime::InterrupterRegisterSet
.
- The wrong bit range in the implementation of
TryFrom<[u32; 4]>
for TRB structs is fixed.
- Added the implementation of
TryFrom<[u32; 4]>
to TRB structs inring::trb::command
andring::trb::transfer
- Clippy's function size limitation setting is removed.
- Wrong bit range in
StructuralParameters2::max_scratchpad_buffers
is fixed.
- License and contribution notes are added to the README.
- Dependabot is enabled.
- Switched to Rust edition 2021.
- Outdated code example in
README.md
is fixed. - Removed all the use of deprecated code.
- Wrong masking in
EventRingDequeuePointerRegister::event_ring_dequeue_pointer
is fixed.
#![deny(warnings)]
is removed from the source code.
- The members of
XhciLocalMemory
are now public.
- The most part of
trb
module is rewritten.set_xxx(true_or_false)
methods are split intoset_xxx()
andclear_xxx()
.- Bit setters, bit clearers, and field setters now return mutable references to
Self
transfer::SetupStage::set_trb_transfer_length
is removed.
- Missing members and accessors of TRBs are added.
- Missing error messages of
assert
macros are added.
set_xxx(true_or_false)
methods of the Registers and the Extended Capabilities are split intoset_xxx()
andclear_xxx()
.CapabilityParameters1::max_primary_stream_array_size
is renamed toCapabilityParameters1::maximum_primary_stream_array_size
.- Bit setter and clearer now return mutable references to
Self
. extended_capabilities::HciExtendedPowerManagement
is rewritten so that it contains members.context
module is rewritten.
- A note about
Mapper
is added to the documentation ofRegisters
- Missing members and accessors of the Extended Capabilities are added.
USBLegacySupportCapability
is redefined asUSBLegacySupport
. Now it includes the accessor to the USB Legacy Support Control and Status Register.
- Syntax highlight is applied to the code example in README.
- Missing members and accessors of the Operational Registers and the Runtime Registers are added.
- The
doorbell_stream_id
andset_doorbell_stream_id
methods are added todoorbell::Register
.
- Missing members of
Capability
are added.
- The typo of the URL to the repository is fixed.
From
trait is implemented for theAllowed
enum to convert from the structs of TRBs to the enum.
- The missing Completion Codes are added to the
CompletionCode
.
CompletionCode
becomes an exhausive enum.
- All the missing getters of the Transfer TRBs are implemented.
- The debug prints of the all TRBs now print the value of each field.
ConfigureEndpoint::deconfigure
andSetTrDequeuePointer::slot_id
wrongly took the mutable references to theself
. They now take the immutable references.
- All types now implement the
Debug
trait. - Code examples are added.
ring
module is added.
- Wrong codes in documentations are fixed.
- Methods of the
register
module now panic if it fails to create an accessor.
- The
context
module.
- Methods now panic if an error occurs.
error::Error
- Add a missing document.
- Reexport
error::Error
asError
. - Define accessors to xHCI registers and xHCI Extended Capabilities.
- Implement
Copy
andClone
for register types.
extended_capabilities::usb_legacy_support_capability::UsbLegacySupportCapability
.
registers::operational::UsbCommandRegister::set_host_controller_reset
updated the wrong bit.
- Implement
Debug
forerror::Error
.
- Implement
Debug
for the register types.
- Rename
EventRingDequeuePointerRegister::set
toEventRingDequeuePointerRegister::set_event_ring_dequeue_pointer
.
- Initial version.