mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
staging:iio:adc:ad7280a: Fix handing of device address bit reversing.
[ Upstream commitf281e4ddbb] The bit reversal was wrong for bits 1 and 3 of the 5 bits. Result is driver failure to probe if you have more than 2 daisy-chained devices. Discovered via QEMU based device emulation. Fixes tag is for when this moved from a macro to a function, but it was broken before that. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Fixes:065a7c0b1f("Staging: iio: adc: ad7280a.c: Fixed Macro argument reuse") Reviewed-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com> Link: https://lore.kernel.org/r/20220206190328.333093-2-jic23@kernel.org Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f5b01abf5f
commit
b5db33a81e
@@ -107,9 +107,9 @@
|
|||||||
static unsigned int ad7280a_devaddr(unsigned int addr)
|
static unsigned int ad7280a_devaddr(unsigned int addr)
|
||||||
{
|
{
|
||||||
return ((addr & 0x1) << 4) |
|
return ((addr & 0x1) << 4) |
|
||||||
((addr & 0x2) << 3) |
|
((addr & 0x2) << 2) |
|
||||||
(addr & 0x4) |
|
(addr & 0x4) |
|
||||||
((addr & 0x8) >> 3) |
|
((addr & 0x8) >> 2) |
|
||||||
((addr & 0x10) >> 4);
|
((addr & 0x10) >> 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user