mei: vsc: Use struct vsc_tp_packet as vsc-tp tx_buf and rx_buf type

vsc_tp.tx_buf and vsc_tp.rx_buf point to a struct vsc_tp_packet, use
the correct type instead of "void *" and use sizeof(*ptr) when allocating
memory for these buffers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Alexander Usyskin <alexander.usyskin@intel.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Link: https://lore.kernel.org/r/20250318141203.94342-3-hdegoede@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Hans de Goede 2025-03-18 15:12:03 +01:00 committed by Greg Kroah-Hartman
parent 00f1cc14da
commit f88c0c72ff

View File

@ -71,8 +71,8 @@ struct vsc_tp {
u32 seq; u32 seq;
/* command buffer */ /* command buffer */
void *tx_buf; struct vsc_tp_packet *tx_buf;
void *rx_buf; struct vsc_tp_packet *rx_buf;
atomic_t assert_cnt; atomic_t assert_cnt;
wait_queue_head_t xfer_wait; wait_queue_head_t xfer_wait;
@ -164,7 +164,7 @@ static int vsc_tp_xfer_helper(struct vsc_tp *tp, struct vsc_tp_packet *pkt,
{ {
int ret, offset = 0, cpy_len, src_len, dst_len = sizeof(struct vsc_tp_packet_hdr); int ret, offset = 0, cpy_len, src_len, dst_len = sizeof(struct vsc_tp_packet_hdr);
int next_xfer_len = VSC_TP_PACKET_SIZE(pkt) + VSC_TP_XFER_TIMEOUT_BYTES; int next_xfer_len = VSC_TP_PACKET_SIZE(pkt) + VSC_TP_XFER_TIMEOUT_BYTES;
u8 *src, *crc_src, *rx_buf = tp->rx_buf; u8 *src, *crc_src, *rx_buf = (u8 *)tp->rx_buf;
int count_down = VSC_TP_MAX_XFER_COUNT; int count_down = VSC_TP_MAX_XFER_COUNT;
u32 recv_crc = 0, crc = ~0; u32 recv_crc = 0, crc = ~0;
struct vsc_tp_packet_hdr ack; struct vsc_tp_packet_hdr ack;
@ -324,7 +324,7 @@ int vsc_tp_rom_xfer(struct vsc_tp *tp, const void *obuf, void *ibuf, size_t len)
guard(mutex)(&tp->mutex); guard(mutex)(&tp->mutex);
/* rom xfer is big endian */ /* rom xfer is big endian */
cpu_to_be32_array(tp->tx_buf, obuf, words); cpu_to_be32_array((u32 *)tp->tx_buf, obuf, words);
ret = read_poll_timeout(gpiod_get_value_cansleep, ret, ret = read_poll_timeout(gpiod_get_value_cansleep, ret,
!ret, VSC_TP_ROM_XFER_POLL_DELAY_US, !ret, VSC_TP_ROM_XFER_POLL_DELAY_US,
@ -340,7 +340,7 @@ int vsc_tp_rom_xfer(struct vsc_tp *tp, const void *obuf, void *ibuf, size_t len)
return ret; return ret;
if (ibuf) if (ibuf)
be32_to_cpu_array(ibuf, tp->rx_buf, words); be32_to_cpu_array(ibuf, (u32 *)tp->rx_buf, words);
return ret; return ret;
} }
@ -494,11 +494,11 @@ static int vsc_tp_probe(struct spi_device *spi)
if (!tp) if (!tp)
return -ENOMEM; return -ENOMEM;
tp->tx_buf = devm_kzalloc(dev, VSC_TP_MAX_XFER_SIZE, GFP_KERNEL); tp->tx_buf = devm_kzalloc(dev, sizeof(*tp->tx_buf), GFP_KERNEL);
if (!tp->tx_buf) if (!tp->tx_buf)
return -ENOMEM; return -ENOMEM;
tp->rx_buf = devm_kzalloc(dev, VSC_TP_MAX_XFER_SIZE, GFP_KERNEL); tp->rx_buf = devm_kzalloc(dev, sizeof(*tp->rx_buf), GFP_KERNEL);
if (!tp->rx_buf) if (!tp->rx_buf)
return -ENOMEM; return -ENOMEM;