Thread (17 messages) 17 messages, 3 authors, 2017-03-17

Re: [RESEND PATCH v6 4/6] i2c: designware: introducing I2C_SLAVE definitions

From: Jarkko Nikula <hidden>
Date: 2017-03-02 13:50:20
Also in: linux-i2c, lkml

On 03/01/17 17:59, Luis Oliveira wrote:
- Definitions were added to core library
- A example was added to designware-core.txt Documentation that shows
  how the slave can be setup using DTS

SLAVE related definitions were added to the core of the controller.

Signed-off-by: Luis Oliveira <redacted>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Rob Herring <robh@kernel.org>
---
V5->V6
- Included an example of use in the device tree binding document
(with the RESEND)
- Removed the i2c-designware.txt binding leading 0 to add the Rob
  Herring ack.

 .../devicetree/bindings/i2c/i2c-designware.txt     | 16 +++++++++-
 drivers/i2c/busses/i2c-designware-core.h           | 35 ++++++++++++++++++++--
 2 files changed, 48 insertions(+), 3 deletions(-)
...
quoted hunk ↗ jump to hunk
diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h
index 35d7264d9e3a..b620d76ffc8d 100644
--- a/drivers/i2c/busses/i2c-designware-core.h
+++ b/drivers/i2c/busses/i2c-designware-core.h
@@ -1,5 +1,5 @@
...
quoted hunk ↗ jump to hunk
@@ -196,7 +221,11 @@
  * @acquire_lock: function to acquire a hardware lock on the bus
  * @release_lock: function to release a hardware lock on the bus
  * @pm_runtime_disabled: true if pm runtime is disabled
- *
+ * @dynamic_tar_update_enabled: true if dynamic TAR update is enabled
+ * @disable: function to disable the controller
+ * @disable_int: function to disable all interrupts
+ * @init: function to initialize the I2C hardware
+ * @mode: operation mode - I2C slave or I2C master
  * HCNT and LCNT parameters can be used if the platform knows more accurate
  * values than the one computed based only on the input clock frequency.
  * Leave them to be %0 if not used.
@@ -206,6 +235,7 @@ struct dw_i2c_dev {
 	void __iomem		*base;
 	struct completion	cmd_complete;
 	struct clk		*clk;
+	struct i2c_client		*slave;
 	u32			(*get_clk_rate_khz) (struct dw_i2c_dev *dev);
 	struct dw_pci_controller *controller;
 	int			cmd_err;
@@ -225,6 +255,7 @@ struct dw_i2c_dev {
 	struct i2c_adapter	adapter;
 	u32			functionality;
 	u32			master_cfg;
+	u32			slave_cfg;
 	unsigned int		tx_fifo_depth;
 	unsigned int		rx_fifo_depth;
 	int			rx_outstanding;
You should add comments for "slave" and "slave_cfg" since they are added 
here and move comments for other members variables to patches 3/6 and 
5/6 where they are added.

-- 
Jarkko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help