mbox series

[v5,0/7] Add the I3C mastership request

Message ID 1561236905-8901-1-git-send-email-pgaj@cadence.com (mailing list archive)
Headers show
Series Add the I3C mastership request | expand

Message

Przemysław Gaj June 22, 2019, 8:54 p.m. UTC
This patch series adds support for mastership request to I3C
subsystem and Cadence I3C master driver. Mastership request
allows slave to become the master of the I3C bus.

Main changes between v4 and v5 are:
- Add populate_bus() hook
- Split i3c_master_register into init and register pair
- Split device information retrieval, let add partialy discovered devices
- Make i3c_master_set_info private
- Add separate function to register secondary master
- Reworked secondary master register in CDNS driver
- Export i3c_bus_set_mode

Main changes between v3 and v4 are:
- Reworked acquire bus ownership
- Refactored the code

Main changes between v2 and v3 are:
- Added DEFSLVS devices are registered from master driver
- Reworked I2C registering on secondary master side
- Reworked Mastership event is enabled/disabled globally (for all devices)

Main changes between initial version and v2 are:
- Reworked devices registration on secondary master side
- Reworked mastership event disabling/enabling
- Reworked bus locking during mastership takeover process
- Added DEFSLVS devices registration during initialization
- Fixed style issues

Przemyslaw Gaj (7):
  i3c: add addr and lvr to i2c_dev_desc structure
  i3c: split i3c_master_register into init - register pair
  i3c: export i3c_bus_set_mode function
  i3c: Add support for mastership request to I3C subsystem
  i3c: master: cdns: add support for mastership request to Cadence I3C
    master     driver.
  i3c: master: Add module author
  MAINTAINERS: add myself as co-maintainer of i3c subsystem

 MAINTAINERS                          |   1 +
 drivers/i3c/device.c                 |  26 ++
 drivers/i3c/internals.h              |   4 +
 drivers/i3c/master.c                 | 694 +++++++++++++++++++++++------
 drivers/i3c/master/dw-i3c-master.c   |  38 +-
 drivers/i3c/master/i3c-master-cdns.c | 837 +++++++++++++++++++++++++++--------
 include/linux/i3c/master.h           |  52 ++-
 7 files changed, 1303 insertions(+), 349 deletions(-)