Abstract class of a clock tree element that will not block to perform element updates and might fail when performing clock updates.
Static Public Attributes | |
| static constexpr bool | kMayBlock = false |
| static constexpr bool | kMayFail = true |
Protected Member Functions | |
| sync::InterruptSpinLock & | lock () |
Protected Member Functions inherited from pw::clock_tree::Element | |
| virtual Status | DoAcquireLocked ()=0 |
| virtual Status | DoReleaseLocked ()=0 |
| uint32_t | IncRef () |
| Increment reference count and return incremented value. | |
| uint32_t | DecRef () |
| Decrement reference count and return decremented value. | |
| virtual Status | DoEnable ()=0 |
| Function called when the clock tree element needs to get enabled. | |
| virtual Status | DoDisable () |
Private Member Functions | |
| Status | DoAcquire () final |
| Handle Acquire(), deferring locking the child class. | |
| Status | DoRelease () final |
| Handle Release(), deferring locking the child class. | |
Additional Inherited Members | |
Public Member Functions inherited from pw::clock_tree::Element | |
| constexpr | Element (bool may_block) |
| uint32_t | ref_count () const |
| Get reference count for this clock tree element. | |
| bool | may_block () const |
| Check whether acquiring or releasing the element may block. | |
| Element (const Element &)=delete | |
| Element (const Element &&)=delete | |
| Element & | operator= (const Element &)=delete |
| Element & | operator= (const Element &&)=delete |
| Status | Acquire () |
| Status | Release () |
| Status | AcquireWith (Element &element_with) |