Re: [PATCH] Input: iqs7222 - preserve system status register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Mar 09, 2025 at 08:29:59PM -0500, Jeff LaBundy wrote:
> Some register groups reserve a byte at the end of their continuous
> address space. Depending on the variant of silicon, this field may
> share the same memory space as the lower byte of the system status
> register (0x10).
> 
> In these cases, caching the reserved byte and writing it later may
> effectively reset the device depending on what happened in between
> the read and write operations.
> 
> Solve this problem by avoiding any access to this last byte within
> offending register groups. This method replaces a workaround which
> attempted to write the reserved byte with up-to-date contents, but
> left a small window in which updates by the device could have been
> clobbered.
> 
> Now that the driver does not touch these reserved bytes, the order
> in which the device's registers are written no longer matters, and
> they can be written in their natural order. The new method is also
> much more generic, and can be more easily extended to new variants
> of silicon with different register maps.
> 
> As part of this change, the register read and write functions must
> be gently updated to support byte access instead of word access.
> 
> Fixes: 2e70ef525b73 ("Input: iqs7222 - acknowledge reset before writing registers")
> Signed-off-by: Jeff LaBundy <jeff@xxxxxxxxxxx>

Applied, thank you.

-- 
Dmitry




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux