mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 21:07:36 +00:00
Kernel: Make UserOrKernelBuffer return KResult from read/write/memset
This allows us to simplify a whole bunch of call sites with TRY(). :^)
This commit is contained in:
parent
7bf8844499
commit
b481132418
29 changed files with 85 additions and 118 deletions
|
@ -81,7 +81,7 @@ public:
|
|||
void* get_private() const { return m_private; }
|
||||
|
||||
template<typename... Args>
|
||||
[[nodiscard]] bool write_to_buffer(UserOrKernelBuffer& buffer, Args... args)
|
||||
KResult write_to_buffer(UserOrKernelBuffer& buffer, Args... args)
|
||||
{
|
||||
if (in_target_context(buffer))
|
||||
return buffer.write(forward<Args>(args)...);
|
||||
|
@ -99,7 +99,7 @@ public:
|
|||
}
|
||||
|
||||
template<typename... Args>
|
||||
[[nodiscard]] bool read_from_buffer(const UserOrKernelBuffer& buffer, Args... args)
|
||||
KResult read_from_buffer(const UserOrKernelBuffer& buffer, Args... args)
|
||||
{
|
||||
if (in_target_context(buffer))
|
||||
return buffer.read(forward<Args>(args)...);
|
||||
|
|
|
@ -32,8 +32,7 @@ bool FullDevice::can_read(const FileDescription&, size_t) const
|
|||
|
||||
KResultOr<size_t> FullDevice::read(FileDescription&, u64, UserOrKernelBuffer& buffer, size_t size)
|
||||
{
|
||||
if (!buffer.memset(0, size))
|
||||
return EFAULT;
|
||||
TRY(buffer.memset(0, size));
|
||||
return size;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,8 +39,7 @@ KResultOr<size_t> MouseDevice::read(FileDescription&, u64, UserOrKernelBuffer& b
|
|||
dbgln_if(MOUSE_DEBUG, "PS2 Mouse Read: Filter packets");
|
||||
|
||||
size_t bytes_read_from_packet = min(remaining_space_in_buffer, sizeof(MousePacket));
|
||||
if (!buffer.write(&packet, nread, bytes_read_from_packet))
|
||||
return EFAULT;
|
||||
TRY(buffer.write(&packet, nread, bytes_read_from_packet));
|
||||
nread += bytes_read_from_packet;
|
||||
remaining_space_in_buffer -= bytes_read_from_packet;
|
||||
|
||||
|
|
|
@ -276,8 +276,7 @@ KResultOr<size_t> SB16::write(FileDescription&, u64, UserOrKernelBuffer const& d
|
|||
|
||||
u8 mode = (u8)SampleFormat::Signed | (u8)SampleFormat::Stereo;
|
||||
|
||||
if (!data.read(m_dma_region->vaddr().as_ptr(), length))
|
||||
return EFAULT;
|
||||
TRY(data.read(m_dma_region->vaddr().as_ptr(), length));
|
||||
dma_start(length);
|
||||
|
||||
// 16-bit single-cycle output.
|
||||
|
|
|
@ -31,8 +31,7 @@ bool ZeroDevice::can_read(const FileDescription&, size_t) const
|
|||
|
||||
KResultOr<size_t> ZeroDevice::read(FileDescription&, u64, UserOrKernelBuffer& buffer, size_t size)
|
||||
{
|
||||
if (!buffer.memset(0, size))
|
||||
return EFAULT;
|
||||
TRY(buffer.memset(0, size));
|
||||
return size;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue