Commit 190daf19 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i3c updates from Boris Brezillon:

 - Add the HCI driver

 - Add a missing destroy_workqueue() in an error path

 - Flag Alexandre Belloni as the new maintainer

* tag 'i3c/for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
  i3c/master/mipi-i3c-hci: quiet maybe-unused variable warning
  i3c: Resign from my maintainer role
  i3c/master: Fix uninitialized variable next_addr
  i3c/master: introduce the mipi-i3c-hci driver
  dt-bindings: i3c: MIPI I3C Host Controller Interface
  i3c master: fix missing destroy_workqueue() on error in i3c_master_register
parents 11c33652 95393f3e
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/i3c/mipi-i3c-hci.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: MIPI I3C HCI Device Tree Bindings

maintainers:
  - Nicolas Pitre <npitre@baylibre.com>

description: |
  MIPI I3C Host Controller Interface

  The MIPI I3C HCI (Host Controller Interface) specification defines
  a common software driver interface to support compliant MIPI I3C
  host controller hardware implementations from multiple vendors.

  The hardware is self-advertising for differences in implementation
  capabilities, including the spec version it is based on, so there
  isn't much to describe here (yet).

  For details, please see:
  https://www.mipi.org/specifications/i3c-hci

properties:
  compatible:
    const: mipi-i3c-hci
  reg:
    maxItems: 1
  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    i3c@a0000000 {
      compatible = "mipi-i3c-hci";
      reg = <0xa0000000 0x2000>;
      interrupts = <89>;
    };
+1 −1
Original line number Diff line number Diff line
@@ -8416,7 +8416,7 @@ F: Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.txt
F:	drivers/i3c/master/dw*
I3C SUBSYSTEM
M:	Boris Brezillon <bbrezillon@kernel.org>
M:	Alexandre Belloni <alexandre.belloni@bootlin.com>
L:	linux-i3c@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
C:	irc://chat.freenode.net/linux-i3c
+4 −1
Original line number Diff line number Diff line
@@ -2537,7 +2537,7 @@ int i3c_master_register(struct i3c_master_controller *master,

	ret = i3c_master_bus_init(master);
	if (ret)
		goto err_put_dev;
		goto err_destroy_wq;

	ret = device_add(&master->dev);
	if (ret)
@@ -2568,6 +2568,9 @@ err_del_dev:
err_cleanup_bus:
	i3c_master_bus_cleanup(master);

err_destroy_wq:
	destroy_workqueue(master->wq);

err_put_dev:
	put_device(&master->dev);

+13 −0
Original line number Diff line number Diff line
@@ -21,3 +21,16 @@ config DW_I3C_MASTER

	  This driver can also be built as a module.  If so, the module
	  will be called dw-i3c-master.

config MIPI_I3C_HCI
	tristate "MIPI I3C Host Controller Interface driver (EXPERIMENTAL)"
	depends on I3C
	help
	  Support for hardware following the MIPI Aliance's I3C Host Controller
	  Interface specification.

	  For details please see:
	  https://www.mipi.org/specifications/i3c-hci

	  This driver can also be built as a module.  If so, the module will be
	  called mipi-i3c-hci.
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
obj-$(CONFIG_CDNS_I3C_MASTER)		+= i3c-master-cdns.o
obj-$(CONFIG_DW_I3C_MASTER)		+= dw-i3c-master.o
obj-$(CONFIG_MIPI_I3C_HCI)		+= mipi-i3c-hci/
Loading