Input: himax_hx83112b - fix incorrect size when reading product ID
We need to read a u32 value (4 bytes), not size of a pointer to that
value.
Also, himax_read_mcu() wrapper is an overkill, remove it and use
himax_bus_read() directly.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202408200301.Ujpj7Vov-lkp@intel.com/
Fixes: 0944829d49
("Input: himax_hx83112b - implement MCU register reading")
Tested-by: Felix Kaechele <felix@kaechele.ca>
Link: https://lore.kernel.org/r/ZsPdmtfC54R7JVxR@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
aaa4ca873d
commit
4e870e6bbe
@ -130,17 +130,6 @@ static int himax_bus_read(struct himax_ts_data *ts, u32 address, void *dst,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int himax_read_mcu(struct himax_ts_data *ts, u32 address, u32 *dst)
|
|
||||||
{
|
|
||||||
int error;
|
|
||||||
|
|
||||||
error = himax_bus_read(ts, address, dst, sizeof(dst));
|
|
||||||
if (error)
|
|
||||||
return error;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void himax_reset(struct himax_ts_data *ts)
|
static void himax_reset(struct himax_ts_data *ts)
|
||||||
{
|
{
|
||||||
gpiod_set_value_cansleep(ts->gpiod_rst, 1);
|
gpiod_set_value_cansleep(ts->gpiod_rst, 1);
|
||||||
@ -160,7 +149,8 @@ static int himax_read_product_id(struct himax_ts_data *ts, u32 *product_id)
|
|||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
error = himax_read_mcu(ts, HIMAX_REG_ADDR_ICID, product_id);
|
error = himax_bus_read(ts, HIMAX_REG_ADDR_ICID, product_id,
|
||||||
|
sizeof(*product_id));
|
||||||
if (error)
|
if (error)
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user