|
@@ -23,6 +23,7 @@
|
|
#include <linux/list.h>
|
|
#include <linux/list.h>
|
|
#include <linux/mutex.h>
|
|
#include <linux/mutex.h>
|
|
#include <linux/notifier.h>
|
|
#include <linux/notifier.h>
|
|
|
|
+#include <linux/reset.h>
|
|
#include <linux/spinlock.h>
|
|
#include <linux/spinlock.h>
|
|
#include <linux/workqueue.h>
|
|
#include <linux/workqueue.h>
|
|
|
|
|
|
@@ -109,7 +110,8 @@ struct nvec_msg {
|
|
* @irq: The IRQ of the I2C device
|
|
* @irq: The IRQ of the I2C device
|
|
* @i2c_addr: The address of the I2C slave
|
|
* @i2c_addr: The address of the I2C slave
|
|
* @base: The base of the memory mapped region of the I2C device
|
|
* @base: The base of the memory mapped region of the I2C device
|
|
- * @clk: The clock of the I2C device
|
|
|
|
|
|
+ * @i2c_clk: The clock of the I2C device
|
|
|
|
+ * @rst: The reset of the I2C device
|
|
* @notifier_list: Notifiers to be called on received messages, see
|
|
* @notifier_list: Notifiers to be called on received messages, see
|
|
* nvec_register_notifier()
|
|
* nvec_register_notifier()
|
|
* @rx_data: Received messages that have to be processed
|
|
* @rx_data: Received messages that have to be processed
|
|
@@ -139,6 +141,7 @@ struct nvec_chip {
|
|
int i2c_addr;
|
|
int i2c_addr;
|
|
void __iomem *base;
|
|
void __iomem *base;
|
|
struct clk *i2c_clk;
|
|
struct clk *i2c_clk;
|
|
|
|
+ struct reset_control *rst;
|
|
struct atomic_notifier_head notifier_list;
|
|
struct atomic_notifier_head notifier_list;
|
|
struct list_head rx_data, tx_data;
|
|
struct list_head rx_data, tx_data;
|
|
struct notifier_block nvec_status_notifier;
|
|
struct notifier_block nvec_status_notifier;
|