[v4,0/6] I3C device addresing adjustments
mbox series

Message ID 20191210101502.8401-1-pgaj@cadence.com
Headers show
Series
  • I3C device addresing adjustments
Related show

Message

Przemysław Gaj Dec. 10, 2019, 10:14 a.m. UTC
This patch series is based on Vitor's Soares previous patch series.
I'm trying to meet requirements and comments which came up during the
code review.

Description related to things which were taken from v3:
Propagate i3c_boardinfo, if available, to i3c_dev_desc during
i3c_master_add_i3c_dev_locked(). This change will permit to describe
devices with a preferable dynamic address (important due to priority
reason) but without a static address in DT.

In addition, I'm improving the management of the Data Address Table in
DW I3C Master by keeping the free slots consecutive.

Sending the devices without DA in DEFSLVS frame will be fixed in separate
patch if needed.

There are also some improvements related to DT bindings documentation.

Changes in v4:
  - Remove device detach/free
  - Add PID check before registering the device
  - Add pre-reservation of init_dyn_addr

Change in v3:
  - Change cover letter
  - Change commit message for patch 1
  - Add Rob rb-tags

Change in v2:
  - Move out detach/free the i3c_dev_desc from pre_assign_dyn_addr()
  - Change i3c_master_search_i3c_boardinfo(newdev) to
  i3c_master_init_i3c_dev_boardinfo(newdev)
  - Add fixes, stable tags on patch 2
  - Add a note for no guarantee of 'assigned-address' use

Przemysław Gaj (2):
  i3c: master: pre-reserve boardinfo->init_dyn_addr when available
  i3c: master: make sure the PID is set before registering the device

Vitor Soares (4):
  i3c: master: make sure ->boardinfo is initialized in
    add_i3c_dev_locked()
  dt-bindings: i3c: Make 'assigned-address' valid if static address == 0
  dt-bindings: i3c: add a note for no guarantee of 'assigned-address'
    use
  i3c: master: dw: reattach device on first available location of
    address table

 Documentation/devicetree/bindings/i3c/i3c.txt | 15 +++++++++++---
 drivers/i3c/master.c                          | 29 +++++++++++++++++++++++++--
 drivers/i3c/master/dw-i3c-master.c            | 16 +++++++++++++++
 3 files changed, 55 insertions(+), 5 deletions(-)
 mode change 100644 => 100755 drivers/i3c/master.c