[PATCH v4 0/6] i3c: master: some improvment for i3c master

From: Frank Li
Date: Wed Nov 29 2023 - 17:12:52 EST


These are dependent on bugs fixed serial: https://lore.kernel.org/imx/20231016153232.2851095-1-Frank.Li@xxxxxxx/T/#t
There are three major improvement

1. Add actual size in i3c_transfer because i3c allow target early termiate
transfer.
2. Add API for i3c_dev_gettstatus_format1 for i3c comand GET_STATUS.
3. svc master enable hotjoin default

Change from v2 to v3
-fix build warning

All warnings (new ones prefixed by >>):

drivers/i3c/master/svc-i3c-master.c:212: warning: Function parameter or member 'lock' not described in 'svc_i3c_master'
>> drivers/i3c/master/svc-i3c-master.c:212: warning: Function parameter or member 'enabled_events' not described in 'svc_i3c_master'
2 warnings as Errors

Change from v1 to v2.
- Hotjoin control by sys entry, default enable hotjoin, which standard i3c
feature, user can disable by echo 0 > /sys/bus/i3c/i3c-0/hotjoin
- use actual_len, add document
- using &xfers[i]
- still keep check cmd->xfer because i2c and ccc transfer, xfer is NULL.
- fixed issue found by checkpatch --strict

Frank Li (6):
i3c: master: add enable(disable) hot join in sys entry
i3c: master: svc: add hot join support
i3c: add actual_len in i3c_priv_xfer
i3c: svc: rename read_len as actual_len
i3c: master: svc return actual transfer data len
i3c: add API i3c_dev_gettstatus_format1() to get target device status

drivers/i3c/device.c | 24 ++++++
drivers/i3c/internals.h | 1 +
drivers/i3c/master.c | 110 ++++++++++++++++++++++++++++
drivers/i3c/master/svc-i3c-master.c | 92 ++++++++++++++++++-----
include/linux/i3c/device.h | 3 +
include/linux/i3c/master.h | 5 ++
6 files changed, 218 insertions(+), 17 deletions(-)

--
2.34.1