i2c_dev          1759 drivers/clk/tegra/clk-dfll.c 	struct device *i2c_dev;
i2c_dev          1768 drivers/clk/tegra/clk-dfll.c 	i2c_dev = regmap_get_device(regmap);
i2c_dev          1769 drivers/clk/tegra/clk-dfll.c 	i2c_client = to_i2c_client(i2c_dev);
i2c_dev           217 drivers/gpu/drm/gma500/oaktrail.h 	struct hdmi_i2c_dev *i2c_dev;
i2c_dev            96 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct hdmi_i2c_dev *i2c_dev = hdmi_dev->i2c_dev;
i2c_dev            99 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->status = I2C_STAT_INIT;
i2c_dev           100 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->msg = pmsg;
i2c_dev           101 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->buf_offset = 0;
i2c_dev           102 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           109 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	while (i2c_dev->status != I2C_TRANSACTION_DONE)
i2c_dev           110 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 		wait_for_completion_interruptible_timeout(&i2c_dev->complete,
i2c_dev           129 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct hdmi_i2c_dev *i2c_dev = hdmi_dev->i2c_dev;
i2c_dev           132 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	mutex_lock(&i2c_dev->i2c_lock);
i2c_dev           152 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	mutex_unlock(&i2c_dev->i2c_lock);
i2c_dev           177 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct hdmi_i2c_dev *i2c_dev = hdmi_dev->i2c_dev;
i2c_dev           178 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct i2c_msg *msg = i2c_dev->msg;
i2c_dev           183 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	offset = i2c_dev->buf_offset;
i2c_dev           188 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->buf_offset += (0x10 * 4);
i2c_dev           200 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->status = I2C_READ_DONE;
i2c_dev           206 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct hdmi_i2c_dev *i2c_dev = hdmi_dev->i2c_dev;
i2c_dev           219 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->status = I2C_TRANSACTION_DONE;
i2c_dev           226 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct hdmi_i2c_dev *i2c_dev = hdmi_dev->i2c_dev;
i2c_dev           242 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	complete(&i2c_dev->complete);
i2c_dev           276 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct hdmi_i2c_dev *i2c_dev;
i2c_dev           281 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev = kzalloc(sizeof(struct hdmi_i2c_dev), GFP_KERNEL);
i2c_dev           282 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	if (i2c_dev == NULL) {
i2c_dev           288 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->adap = &oaktrail_hdmi_i2c_adapter;
i2c_dev           289 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev->status = I2C_STAT_INIT;
i2c_dev           290 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	init_completion(&i2c_dev->complete);
i2c_dev           291 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	mutex_init(&i2c_dev->i2c_lock);
i2c_dev           293 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	hdmi_dev->i2c_dev = i2c_dev;
i2c_dev           311 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	kfree(i2c_dev);
i2c_dev           319 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	struct hdmi_i2c_dev *i2c_dev;
i2c_dev           324 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	i2c_dev = hdmi_dev->i2c_dev;
i2c_dev           325 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 	kfree(i2c_dev);
i2c_dev            44 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
i2c_dev            55 drivers/i2c/busses/i2c-amd-mp2-plat.c 		dev_err(&i2c_dev->pdev->dev,
i2c_dev            77 drivers/i2c/busses/i2c-amd-mp2-plat.c static void i2c_amd_start_cmd(struct amd_i2c_dev *i2c_dev)
i2c_dev            79 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_common *i2c_common = &i2c_dev->common;
i2c_dev            81 drivers/i2c/busses/i2c-amd-mp2-plat.c 	reinit_completion(&i2c_dev->cmd_complete);
i2c_dev            87 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
i2c_dev            91 drivers/i2c/busses/i2c-amd-mp2-plat.c 		dev_dbg(&i2c_dev->pdev->dev, "%s readdata:%*ph\n",
i2c_dev            95 drivers/i2c/busses/i2c-amd-mp2-plat.c 	complete(&i2c_dev->cmd_complete);
i2c_dev            98 drivers/i2c/busses/i2c-amd-mp2-plat.c static int i2c_amd_check_cmd_completion(struct amd_i2c_dev *i2c_dev)
i2c_dev           100 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_common *i2c_common = &i2c_dev->common;
i2c_dev           103 drivers/i2c/busses/i2c-amd-mp2-plat.c 	timeout = wait_for_completion_timeout(&i2c_dev->cmd_complete,
i2c_dev           104 drivers/i2c/busses/i2c-amd-mp2-plat.c 					      i2c_dev->adap.timeout);
i2c_dev           124 drivers/i2c/busses/i2c-amd-mp2-plat.c static int i2c_amd_enable_set(struct amd_i2c_dev *i2c_dev, bool enable)
i2c_dev           126 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_common *i2c_common = &i2c_dev->common;
i2c_dev           128 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_amd_start_cmd(i2c_dev);
i2c_dev           131 drivers/i2c/busses/i2c-amd-mp2-plat.c 	return i2c_amd_check_cmd_completion(i2c_dev);
i2c_dev           134 drivers/i2c/busses/i2c-amd-mp2-plat.c static int i2c_amd_xfer_msg(struct amd_i2c_dev *i2c_dev, struct i2c_msg *pmsg)
i2c_dev           136 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_common *i2c_common = &i2c_dev->common;
i2c_dev           138 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_amd_start_cmd(i2c_dev);
i2c_dev           150 drivers/i2c/busses/i2c-amd-mp2-plat.c 	return i2c_amd_check_cmd_completion(i2c_dev);
i2c_dev           155 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev           161 drivers/i2c/busses/i2c-amd-mp2-plat.c 	if (unlikely(!i2c_dev->common.mp2_dev))
i2c_dev           164 drivers/i2c/busses/i2c-amd-mp2-plat.c 	amd_mp2_pm_runtime_get(i2c_dev->common.mp2_dev);
i2c_dev           168 drivers/i2c/busses/i2c-amd-mp2-plat.c 		err = i2c_amd_xfer_msg(i2c_dev, pmsg);
i2c_dev           173 drivers/i2c/busses/i2c-amd-mp2-plat.c 	amd_mp2_pm_runtime_put(i2c_dev->common.mp2_dev);
i2c_dev           190 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
i2c_dev           192 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_amd_enable_set(i2c_dev, false);
i2c_dev           198 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
i2c_dev           200 drivers/i2c/busses/i2c-amd-mp2-plat.c 	return i2c_amd_enable_set(i2c_dev, true);
i2c_dev           244 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_dev *i2c_dev;
i2c_dev           262 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev           263 drivers/i2c/busses/i2c-amd-mp2-plat.c 	if (!i2c_dev)
i2c_dev           266 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->common.mp2_dev = mp2_dev;
i2c_dev           267 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->pdev = pdev;
i2c_dev           268 drivers/i2c/busses/i2c-amd-mp2-plat.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev           270 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->common.cmd_completion = &i2c_amd_cmd_completion;
i2c_dev           272 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->common.suspend = &i2c_amd_suspend;
i2c_dev           273 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->common.resume = &i2c_amd_resume;
i2c_dev           281 drivers/i2c/busses/i2c-amd-mp2-plat.c 		i2c_dev->common.bus_id = 0;
i2c_dev           283 drivers/i2c/busses/i2c-amd-mp2-plat.c 		i2c_dev->common.bus_id = 1;
i2c_dev           288 drivers/i2c/busses/i2c-amd-mp2-plat.c 	dev_dbg(&pdev->dev, "bus id is %u\n", i2c_dev->common.bus_id);
i2c_dev           293 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->common.reqcmd = i2c_none;
i2c_dev           294 drivers/i2c/busses/i2c-amd-mp2-plat.c 	if (amd_mp2_register_cb(&i2c_dev->common))
i2c_dev           296 drivers/i2c/busses/i2c-amd-mp2-plat.c 	device_link_add(&i2c_dev->pdev->dev, &mp2_dev->pci_dev->dev,
i2c_dev           299 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->common.i2c_speed = i2c_amd_get_bus_speed(pdev);
i2c_dev           302 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->adap.owner = THIS_MODULE;
i2c_dev           303 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->adap.algo = &i2c_amd_algorithm;
i2c_dev           304 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->adap.quirks = &amd_i2c_dev_quirks;
i2c_dev           305 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->adap.dev.parent = &pdev->dev;
i2c_dev           306 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->adap.algo_data = i2c_dev;
i2c_dev           307 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->adap.timeout = AMD_I2C_TIMEOUT;
i2c_dev           308 drivers/i2c/busses/i2c-amd-mp2-plat.c 	ACPI_COMPANION_SET(&i2c_dev->adap.dev, ACPI_COMPANION(&pdev->dev));
i2c_dev           309 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_dev->adap.dev.of_node = pdev->dev.of_node;
i2c_dev           310 drivers/i2c/busses/i2c-amd-mp2-plat.c 	snprintf(i2c_dev->adap.name, sizeof(i2c_dev->adap.name),
i2c_dev           311 drivers/i2c/busses/i2c-amd-mp2-plat.c 		 "AMD MP2 i2c bus %u", i2c_dev->common.bus_id);
i2c_dev           312 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_set_adapdata(&i2c_dev->adap, i2c_dev);
i2c_dev           314 drivers/i2c/busses/i2c-amd-mp2-plat.c 	init_completion(&i2c_dev->cmd_complete);
i2c_dev           317 drivers/i2c/busses/i2c-amd-mp2-plat.c 	if (i2c_amd_enable_set(i2c_dev, true))
i2c_dev           321 drivers/i2c/busses/i2c-amd-mp2-plat.c 	ret = i2c_add_adapter(&i2c_dev->adap);
i2c_dev           333 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_dev           334 drivers/i2c/busses/i2c-amd-mp2-plat.c 	struct amd_i2c_common *i2c_common = &i2c_dev->common;
i2c_dev           336 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_lock_bus(&i2c_dev->adap, I2C_LOCK_ROOT_ADAPTER);
i2c_dev           338 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_amd_enable_set(i2c_dev, false);
i2c_dev           342 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_unlock_bus(&i2c_dev->adap, I2C_LOCK_ROOT_ADAPTER);
i2c_dev           344 drivers/i2c/busses/i2c-amd-mp2-plat.c 	i2c_del_adapter(&i2c_dev->adap);
i2c_dev            68 drivers/i2c/busses/i2c-bcm2835.c static inline void bcm2835_i2c_writel(struct bcm2835_i2c_dev *i2c_dev,
i2c_dev            71 drivers/i2c/busses/i2c-bcm2835.c 	writel(val, i2c_dev->regs + reg);
i2c_dev            74 drivers/i2c/busses/i2c-bcm2835.c static inline u32 bcm2835_i2c_readl(struct bcm2835_i2c_dev *i2c_dev, u32 reg)
i2c_dev            76 drivers/i2c/busses/i2c-bcm2835.c 	return readl(i2c_dev->regs + reg);
i2c_dev            82 drivers/i2c/busses/i2c-bcm2835.c 	struct bcm2835_i2c_dev *i2c_dev;
i2c_dev           114 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_DIV, divider);
i2c_dev           129 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_DEL,
i2c_dev           147 drivers/i2c/busses/i2c-bcm2835.c 	u32 divider = bcm2835_i2c_readl(div->i2c_dev, BCM2835_I2C_DIV);
i2c_dev           160 drivers/i2c/busses/i2c-bcm2835.c 					struct bcm2835_i2c_dev *i2c_dev)
i2c_dev           182 drivers/i2c/busses/i2c-bcm2835.c 	priv->i2c_dev = i2c_dev;
i2c_dev           188 drivers/i2c/busses/i2c-bcm2835.c static void bcm2835_fill_txfifo(struct bcm2835_i2c_dev *i2c_dev)
i2c_dev           192 drivers/i2c/busses/i2c-bcm2835.c 	while (i2c_dev->msg_buf_remaining) {
i2c_dev           193 drivers/i2c/busses/i2c-bcm2835.c 		val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S);
i2c_dev           196 drivers/i2c/busses/i2c-bcm2835.c 		bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_FIFO,
i2c_dev           197 drivers/i2c/busses/i2c-bcm2835.c 				   *i2c_dev->msg_buf);
i2c_dev           198 drivers/i2c/busses/i2c-bcm2835.c 		i2c_dev->msg_buf++;
i2c_dev           199 drivers/i2c/busses/i2c-bcm2835.c 		i2c_dev->msg_buf_remaining--;
i2c_dev           203 drivers/i2c/busses/i2c-bcm2835.c static void bcm2835_drain_rxfifo(struct bcm2835_i2c_dev *i2c_dev)
i2c_dev           207 drivers/i2c/busses/i2c-bcm2835.c 	while (i2c_dev->msg_buf_remaining) {
i2c_dev           208 drivers/i2c/busses/i2c-bcm2835.c 		val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S);
i2c_dev           211 drivers/i2c/busses/i2c-bcm2835.c 		*i2c_dev->msg_buf = bcm2835_i2c_readl(i2c_dev,
i2c_dev           213 drivers/i2c/busses/i2c-bcm2835.c 		i2c_dev->msg_buf++;
i2c_dev           214 drivers/i2c/busses/i2c-bcm2835.c 		i2c_dev->msg_buf_remaining--;
i2c_dev           231 drivers/i2c/busses/i2c-bcm2835.c static void bcm2835_i2c_start_transfer(struct bcm2835_i2c_dev *i2c_dev)
i2c_dev           234 drivers/i2c/busses/i2c-bcm2835.c 	struct i2c_msg *msg = i2c_dev->curr_msg;
i2c_dev           235 drivers/i2c/busses/i2c-bcm2835.c 	bool last_msg = (i2c_dev->num_msgs == 1);
i2c_dev           237 drivers/i2c/busses/i2c-bcm2835.c 	if (!i2c_dev->num_msgs)
i2c_dev           240 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->num_msgs--;
i2c_dev           241 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->msg_buf = msg->buf;
i2c_dev           242 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->msg_buf_remaining = msg->len;
i2c_dev           252 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr);
i2c_dev           253 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len);
i2c_dev           254 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c);
i2c_dev           257 drivers/i2c/busses/i2c-bcm2835.c static void bcm2835_i2c_finish_transfer(struct bcm2835_i2c_dev *i2c_dev)
i2c_dev           259 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->curr_msg = NULL;
i2c_dev           260 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->num_msgs = 0;
i2c_dev           262 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->msg_buf = NULL;
i2c_dev           263 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->msg_buf_remaining = 0;
i2c_dev           277 drivers/i2c/busses/i2c-bcm2835.c 	struct bcm2835_i2c_dev *i2c_dev = data;
i2c_dev           280 drivers/i2c/busses/i2c-bcm2835.c 	val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S);
i2c_dev           284 drivers/i2c/busses/i2c-bcm2835.c 		i2c_dev->msg_err = err;
i2c_dev           289 drivers/i2c/busses/i2c-bcm2835.c 		if (!i2c_dev->curr_msg) {
i2c_dev           290 drivers/i2c/busses/i2c-bcm2835.c 			dev_err(i2c_dev->dev, "Got unexpected interrupt (from firmware?)\n");
i2c_dev           291 drivers/i2c/busses/i2c-bcm2835.c 		} else if (i2c_dev->curr_msg->flags & I2C_M_RD) {
i2c_dev           292 drivers/i2c/busses/i2c-bcm2835.c 			bcm2835_drain_rxfifo(i2c_dev);
i2c_dev           293 drivers/i2c/busses/i2c-bcm2835.c 			val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S);
i2c_dev           296 drivers/i2c/busses/i2c-bcm2835.c 		if ((val & BCM2835_I2C_S_RXD) || i2c_dev->msg_buf_remaining)
i2c_dev           297 drivers/i2c/busses/i2c-bcm2835.c 			i2c_dev->msg_err = BCM2835_I2C_S_LEN;
i2c_dev           299 drivers/i2c/busses/i2c-bcm2835.c 			i2c_dev->msg_err = 0;
i2c_dev           304 drivers/i2c/busses/i2c-bcm2835.c 		if (!i2c_dev->msg_buf_remaining) {
i2c_dev           305 drivers/i2c/busses/i2c-bcm2835.c 			i2c_dev->msg_err = val | BCM2835_I2C_S_LEN;
i2c_dev           309 drivers/i2c/busses/i2c-bcm2835.c 		bcm2835_fill_txfifo(i2c_dev);
i2c_dev           311 drivers/i2c/busses/i2c-bcm2835.c 		if (i2c_dev->num_msgs && !i2c_dev->msg_buf_remaining) {
i2c_dev           312 drivers/i2c/busses/i2c-bcm2835.c 			i2c_dev->curr_msg++;
i2c_dev           313 drivers/i2c/busses/i2c-bcm2835.c 			bcm2835_i2c_start_transfer(i2c_dev);
i2c_dev           320 drivers/i2c/busses/i2c-bcm2835.c 		if (!i2c_dev->msg_buf_remaining) {
i2c_dev           321 drivers/i2c/busses/i2c-bcm2835.c 			i2c_dev->msg_err = val | BCM2835_I2C_S_LEN;
i2c_dev           325 drivers/i2c/busses/i2c-bcm2835.c 		bcm2835_drain_rxfifo(i2c_dev);
i2c_dev           332 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR);
i2c_dev           333 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_S, BCM2835_I2C_S_CLKT |
i2c_dev           335 drivers/i2c/busses/i2c-bcm2835.c 	complete(&i2c_dev->completion);
i2c_dev           343 drivers/i2c/busses/i2c-bcm2835.c 	struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev           349 drivers/i2c/busses/i2c-bcm2835.c 			dev_warn_once(i2c_dev->dev,
i2c_dev           354 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->curr_msg = msgs;
i2c_dev           355 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->num_msgs = num;
i2c_dev           356 drivers/i2c/busses/i2c-bcm2835.c 	reinit_completion(&i2c_dev->completion);
i2c_dev           358 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_start_transfer(i2c_dev);
i2c_dev           360 drivers/i2c/busses/i2c-bcm2835.c 	time_left = wait_for_completion_timeout(&i2c_dev->completion,
i2c_dev           363 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_finish_transfer(i2c_dev);
i2c_dev           366 drivers/i2c/busses/i2c-bcm2835.c 		bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C,
i2c_dev           368 drivers/i2c/busses/i2c-bcm2835.c 		dev_err(i2c_dev->dev, "i2c transfer timed out\n");
i2c_dev           372 drivers/i2c/busses/i2c-bcm2835.c 	if (!i2c_dev->msg_err)
i2c_dev           375 drivers/i2c/busses/i2c-bcm2835.c 	dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err);
i2c_dev           377 drivers/i2c/busses/i2c-bcm2835.c 	if (i2c_dev->msg_err & BCM2835_I2C_S_ERR)
i2c_dev           404 drivers/i2c/busses/i2c-bcm2835.c 	struct bcm2835_i2c_dev *i2c_dev;
i2c_dev           411 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev           412 drivers/i2c/busses/i2c-bcm2835.c 	if (!i2c_dev)
i2c_dev           414 drivers/i2c/busses/i2c-bcm2835.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev           415 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->dev = &pdev->dev;
i2c_dev           416 drivers/i2c/busses/i2c-bcm2835.c 	init_completion(&i2c_dev->completion);
i2c_dev           419 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->regs = devm_ioremap_resource(&pdev->dev, mem);
i2c_dev           420 drivers/i2c/busses/i2c-bcm2835.c 	if (IS_ERR(i2c_dev->regs))
i2c_dev           421 drivers/i2c/busses/i2c-bcm2835.c 		return PTR_ERR(i2c_dev->regs);
i2c_dev           430 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->bus_clk = bcm2835_i2c_register_div(&pdev->dev, mclk, i2c_dev);
i2c_dev           432 drivers/i2c/busses/i2c-bcm2835.c 	if (IS_ERR(i2c_dev->bus_clk)) {
i2c_dev           434 drivers/i2c/busses/i2c-bcm2835.c 		return PTR_ERR(i2c_dev->bus_clk);
i2c_dev           445 drivers/i2c/busses/i2c-bcm2835.c 	ret = clk_set_rate_exclusive(i2c_dev->bus_clk, bus_clk_rate);
i2c_dev           451 drivers/i2c/busses/i2c-bcm2835.c 	ret = clk_prepare_enable(i2c_dev->bus_clk);
i2c_dev           462 drivers/i2c/busses/i2c-bcm2835.c 	i2c_dev->irq = irq->start;
i2c_dev           464 drivers/i2c/busses/i2c-bcm2835.c 	ret = request_irq(i2c_dev->irq, bcm2835_i2c_isr, IRQF_SHARED,
i2c_dev           465 drivers/i2c/busses/i2c-bcm2835.c 			  dev_name(&pdev->dev), i2c_dev);
i2c_dev           471 drivers/i2c/busses/i2c-bcm2835.c 	adap = &i2c_dev->adapter;
i2c_dev           472 drivers/i2c/busses/i2c-bcm2835.c 	i2c_set_adapdata(adap, i2c_dev);
i2c_dev           482 drivers/i2c/busses/i2c-bcm2835.c 	bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, 0);
i2c_dev           486 drivers/i2c/busses/i2c-bcm2835.c 		free_irq(i2c_dev->irq, i2c_dev);
i2c_dev           493 drivers/i2c/busses/i2c-bcm2835.c 	struct bcm2835_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_dev           495 drivers/i2c/busses/i2c-bcm2835.c 	clk_rate_exclusive_put(i2c_dev->bus_clk);
i2c_dev           496 drivers/i2c/busses/i2c-bcm2835.c 	clk_disable_unprepare(i2c_dev->bus_clk);
i2c_dev           498 drivers/i2c/busses/i2c-bcm2835.c 	free_irq(i2c_dev->irq, i2c_dev);
i2c_dev           499 drivers/i2c/busses/i2c-bcm2835.c 	i2c_del_adapter(&i2c_dev->adapter);
i2c_dev           685 drivers/i2c/busses/i2c-brcmstb.c 	struct brcmstb_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev           687 drivers/i2c/busses/i2c-brcmstb.c 	i2c_mark_adapter_suspended(&i2c_dev->adapter);
i2c_dev           693 drivers/i2c/busses/i2c-brcmstb.c 	struct brcmstb_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev           695 drivers/i2c/busses/i2c-brcmstb.c 	brcmstb_i2c_set_bsc_reg_defaults(i2c_dev);
i2c_dev           696 drivers/i2c/busses/i2c-brcmstb.c 	i2c_mark_adapter_resumed(&i2c_dev->adapter);
i2c_dev           144 drivers/i2c/busses/i2c-davinci.c static inline void davinci_i2c_write_reg(struct davinci_i2c_dev *i2c_dev,
i2c_dev           147 drivers/i2c/busses/i2c-davinci.c 	writew_relaxed(val, i2c_dev->base + reg);
i2c_dev           150 drivers/i2c/busses/i2c-davinci.c static inline u16 davinci_i2c_read_reg(struct davinci_i2c_dev *i2c_dev, int reg)
i2c_dev           152 drivers/i2c/busses/i2c-davinci.c 	return readw_relaxed(i2c_dev->base + reg);
i2c_dev           155 drivers/i2c/busses/i2c-davinci.c static inline void davinci_i2c_reset_ctrl(struct davinci_i2c_dev *i2c_dev,
i2c_dev           160 drivers/i2c/busses/i2c-davinci.c 	w = davinci_i2c_read_reg(i2c_dev, DAVINCI_I2C_MDR_REG);
i2c_dev           166 drivers/i2c/busses/i2c-davinci.c 	davinci_i2c_write_reg(i2c_dev, DAVINCI_I2C_MDR_REG, w);
i2c_dev           924 drivers/i2c/busses/i2c-davinci.c 	struct davinci_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev           927 drivers/i2c/busses/i2c-davinci.c 	davinci_i2c_reset_ctrl(i2c_dev, 0);
i2c_dev           934 drivers/i2c/busses/i2c-davinci.c 	struct davinci_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev           937 drivers/i2c/busses/i2c-davinci.c 	davinci_i2c_reset_ctrl(i2c_dev, 1);
i2c_dev           120 drivers/i2c/busses/i2c-owl.c static void owl_i2c_reset(struct owl_i2c_dev *i2c_dev)
i2c_dev           122 drivers/i2c/busses/i2c-owl.c 	owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_CTL,
i2c_dev           125 drivers/i2c/busses/i2c-owl.c 	owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_CTL,
i2c_dev           129 drivers/i2c/busses/i2c-owl.c 	writel(0, i2c_dev->base + OWL_I2C_REG_STAT);
i2c_dev           132 drivers/i2c/busses/i2c-owl.c static int owl_i2c_reset_fifo(struct owl_i2c_dev *i2c_dev)
i2c_dev           137 drivers/i2c/busses/i2c-owl.c 	owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_FIFOCTL,
i2c_dev           143 drivers/i2c/busses/i2c-owl.c 		val = readl(i2c_dev->base + OWL_I2C_REG_FIFOCTL);
i2c_dev           150 drivers/i2c/busses/i2c-owl.c 		dev_err(&i2c_dev->adap.dev, "FIFO reset timeout\n");
i2c_dev           157 drivers/i2c/busses/i2c-owl.c static void owl_i2c_set_freq(struct owl_i2c_dev *i2c_dev)
i2c_dev           161 drivers/i2c/busses/i2c-owl.c 	val = DIV_ROUND_UP(i2c_dev->clk_rate, i2c_dev->bus_freq * 16);
i2c_dev           164 drivers/i2c/busses/i2c-owl.c 	writel(OWL_I2C_DIV_FACTOR(val), i2c_dev->base + OWL_I2C_REG_CLKDIV);
i2c_dev           169 drivers/i2c/busses/i2c-owl.c 	struct owl_i2c_dev *i2c_dev = _dev;
i2c_dev           170 drivers/i2c/busses/i2c-owl.c 	struct i2c_msg *msg = i2c_dev->msg;
i2c_dev           174 drivers/i2c/busses/i2c-owl.c 	spin_lock_irqsave(&i2c_dev->lock, flags);
i2c_dev           176 drivers/i2c/busses/i2c-owl.c 	i2c_dev->err = 0;
i2c_dev           179 drivers/i2c/busses/i2c-owl.c 	fifostat = readl(i2c_dev->base + OWL_I2C_REG_FIFOSTAT);
i2c_dev           181 drivers/i2c/busses/i2c-owl.c 		i2c_dev->err = -ENXIO;
i2c_dev           186 drivers/i2c/busses/i2c-owl.c 	stat = readl(i2c_dev->base + OWL_I2C_REG_STAT);
i2c_dev           188 drivers/i2c/busses/i2c-owl.c 		i2c_dev->err = -EIO;
i2c_dev           194 drivers/i2c/busses/i2c-owl.c 		while ((readl(i2c_dev->base + OWL_I2C_REG_FIFOSTAT) &
i2c_dev           195 drivers/i2c/busses/i2c-owl.c 			OWL_I2C_FIFOSTAT_RFE) && i2c_dev->msg_ptr < msg->len) {
i2c_dev           196 drivers/i2c/busses/i2c-owl.c 			msg->buf[i2c_dev->msg_ptr++] = readl(i2c_dev->base +
i2c_dev           201 drivers/i2c/busses/i2c-owl.c 		while (!(readl(i2c_dev->base + OWL_I2C_REG_FIFOSTAT) &
i2c_dev           202 drivers/i2c/busses/i2c-owl.c 			 OWL_I2C_FIFOSTAT_TFF) && i2c_dev->msg_ptr < msg->len) {
i2c_dev           203 drivers/i2c/busses/i2c-owl.c 			writel(msg->buf[i2c_dev->msg_ptr++],
i2c_dev           204 drivers/i2c/busses/i2c-owl.c 			       i2c_dev->base + OWL_I2C_REG_TXDAT);
i2c_dev           210 drivers/i2c/busses/i2c-owl.c 	owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_STAT,
i2c_dev           213 drivers/i2c/busses/i2c-owl.c 	complete_all(&i2c_dev->msg_complete);
i2c_dev           214 drivers/i2c/busses/i2c-owl.c 	spin_unlock_irqrestore(&i2c_dev->lock, flags);
i2c_dev           226 drivers/i2c/busses/i2c-owl.c 	struct owl_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev           231 drivers/i2c/busses/i2c-owl.c 	while (readl(i2c_dev->base + OWL_I2C_REG_STAT) & OWL_I2C_STAT_BBB) {
i2c_dev           244 drivers/i2c/busses/i2c-owl.c 	struct owl_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev           251 drivers/i2c/busses/i2c-owl.c 	spin_lock_irqsave(&i2c_dev->lock, flags);
i2c_dev           254 drivers/i2c/busses/i2c-owl.c 	owl_i2c_reset(i2c_dev);
i2c_dev           257 drivers/i2c/busses/i2c-owl.c 	owl_i2c_set_freq(i2c_dev);
i2c_dev           263 drivers/i2c/busses/i2c-owl.c 	spin_unlock_irqrestore(&i2c_dev->lock, flags);
i2c_dev           266 drivers/i2c/busses/i2c-owl.c 	ret = owl_i2c_reset_fifo(i2c_dev);
i2c_dev           275 drivers/i2c/busses/i2c-owl.c 	spin_lock_irqsave(&i2c_dev->lock, flags);
i2c_dev           278 drivers/i2c/busses/i2c-owl.c 	val = readl(i2c_dev->base + OWL_I2C_REG_STAT);
i2c_dev           281 drivers/i2c/busses/i2c-owl.c 		writel(val, i2c_dev->base + OWL_I2C_REG_STAT);
i2c_dev           286 drivers/i2c/busses/i2c-owl.c 	reinit_completion(&i2c_dev->msg_complete);
i2c_dev           289 drivers/i2c/busses/i2c-owl.c 	owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_CTL,
i2c_dev           307 drivers/i2c/busses/i2c-owl.c 		writel(addr, i2c_dev->base + OWL_I2C_REG_TXDAT);
i2c_dev           312 drivers/i2c/busses/i2c-owl.c 			       i2c_dev->base + OWL_I2C_REG_TXDAT);
i2c_dev           321 drivers/i2c/busses/i2c-owl.c 	i2c_dev->msg = msg;
i2c_dev           322 drivers/i2c/busses/i2c-owl.c 	i2c_dev->msg_ptr = 0;
i2c_dev           325 drivers/i2c/busses/i2c-owl.c 	writel(msg->len, i2c_dev->base + OWL_I2C_REG_DATCNT);
i2c_dev           328 drivers/i2c/busses/i2c-owl.c 	writel(addr, i2c_dev->base + OWL_I2C_REG_TXDAT);
i2c_dev           334 drivers/i2c/busses/i2c-owl.c 			if (readl(i2c_dev->base + OWL_I2C_REG_FIFOSTAT) &
i2c_dev           339 drivers/i2c/busses/i2c-owl.c 			       i2c_dev->base + OWL_I2C_REG_TXDAT);
i2c_dev           342 drivers/i2c/busses/i2c-owl.c 		i2c_dev->msg_ptr = idx;
i2c_dev           347 drivers/i2c/busses/i2c-owl.c 		owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_FIFOCTL,
i2c_dev           350 drivers/i2c/busses/i2c-owl.c 		owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_FIFOCTL,
i2c_dev           354 drivers/i2c/busses/i2c-owl.c 	writel(i2c_cmd, i2c_dev->base + OWL_I2C_REG_CMD);
i2c_dev           356 drivers/i2c/busses/i2c-owl.c 	spin_unlock_irqrestore(&i2c_dev->lock, flags);
i2c_dev           358 drivers/i2c/busses/i2c-owl.c 	time_left = wait_for_completion_timeout(&i2c_dev->msg_complete,
i2c_dev           361 drivers/i2c/busses/i2c-owl.c 	spin_lock_irqsave(&i2c_dev->lock, flags);
i2c_dev           365 drivers/i2c/busses/i2c-owl.c 		owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_CTL,
i2c_dev           372 drivers/i2c/busses/i2c-owl.c 	ret = i2c_dev->err < 0 ? i2c_dev->err : num;
i2c_dev           375 drivers/i2c/busses/i2c-owl.c 	spin_unlock_irqrestore(&i2c_dev->lock, flags);
i2c_dev           379 drivers/i2c/busses/i2c-owl.c 	owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_CTL,
i2c_dev           401 drivers/i2c/busses/i2c-owl.c 	struct owl_i2c_dev *i2c_dev;
i2c_dev           405 drivers/i2c/busses/i2c-owl.c 	i2c_dev = devm_kzalloc(dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev           406 drivers/i2c/busses/i2c-owl.c 	if (!i2c_dev)
i2c_dev           410 drivers/i2c/busses/i2c-owl.c 	i2c_dev->base = devm_ioremap_resource(dev, res);
i2c_dev           411 drivers/i2c/busses/i2c-owl.c 	if (IS_ERR(i2c_dev->base))
i2c_dev           412 drivers/i2c/busses/i2c-owl.c 		return PTR_ERR(i2c_dev->base);
i2c_dev           421 drivers/i2c/busses/i2c-owl.c 				 &i2c_dev->bus_freq))
i2c_dev           422 drivers/i2c/busses/i2c-owl.c 		i2c_dev->bus_freq = OWL_I2C_DEF_SPEED_HZ;
i2c_dev           425 drivers/i2c/busses/i2c-owl.c 	if (i2c_dev->bus_freq != OWL_I2C_DEF_SPEED_HZ &&
i2c_dev           426 drivers/i2c/busses/i2c-owl.c 	    i2c_dev->bus_freq != OWL_I2C_MAX_SPEED_HZ) {
i2c_dev           427 drivers/i2c/busses/i2c-owl.c 		dev_err(dev, "invalid clock-frequency %d\n", i2c_dev->bus_freq);
i2c_dev           431 drivers/i2c/busses/i2c-owl.c 	i2c_dev->clk = devm_clk_get(dev, NULL);
i2c_dev           432 drivers/i2c/busses/i2c-owl.c 	if (IS_ERR(i2c_dev->clk)) {
i2c_dev           434 drivers/i2c/busses/i2c-owl.c 		return PTR_ERR(i2c_dev->clk);
i2c_dev           437 drivers/i2c/busses/i2c-owl.c 	ret = clk_prepare_enable(i2c_dev->clk);
i2c_dev           441 drivers/i2c/busses/i2c-owl.c 	i2c_dev->clk_rate = clk_get_rate(i2c_dev->clk);
i2c_dev           442 drivers/i2c/busses/i2c-owl.c 	if (!i2c_dev->clk_rate) {
i2c_dev           448 drivers/i2c/busses/i2c-owl.c 	init_completion(&i2c_dev->msg_complete);
i2c_dev           449 drivers/i2c/busses/i2c-owl.c 	spin_lock_init(&i2c_dev->lock);
i2c_dev           450 drivers/i2c/busses/i2c-owl.c 	i2c_dev->adap.owner = THIS_MODULE;
i2c_dev           451 drivers/i2c/busses/i2c-owl.c 	i2c_dev->adap.algo = &owl_i2c_algorithm;
i2c_dev           452 drivers/i2c/busses/i2c-owl.c 	i2c_dev->adap.timeout = OWL_I2C_TIMEOUT;
i2c_dev           453 drivers/i2c/busses/i2c-owl.c 	i2c_dev->adap.quirks = &owl_i2c_quirks;
i2c_dev           454 drivers/i2c/busses/i2c-owl.c 	i2c_dev->adap.dev.parent = dev;
i2c_dev           455 drivers/i2c/busses/i2c-owl.c 	i2c_dev->adap.dev.of_node = dev->of_node;
i2c_dev           456 drivers/i2c/busses/i2c-owl.c 	snprintf(i2c_dev->adap.name, sizeof(i2c_dev->adap.name),
i2c_dev           458 drivers/i2c/busses/i2c-owl.c 	i2c_set_adapdata(&i2c_dev->adap, i2c_dev);
i2c_dev           460 drivers/i2c/busses/i2c-owl.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev           463 drivers/i2c/busses/i2c-owl.c 			       i2c_dev);
i2c_dev           469 drivers/i2c/busses/i2c-owl.c 	return i2c_add_adapter(&i2c_dev->adap);
i2c_dev           472 drivers/i2c/busses/i2c-owl.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev            92 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_set_count(struct sprd_i2c *i2c_dev, u32 count)
i2c_dev            94 drivers/i2c/busses/i2c-sprd.c 	writel(count, i2c_dev->base + I2C_COUNT);
i2c_dev            97 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_send_stop(struct sprd_i2c *i2c_dev, int stop)
i2c_dev            99 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           102 drivers/i2c/busses/i2c-sprd.c 		writel(tmp & ~STP_EN, i2c_dev->base + I2C_CTL);
i2c_dev           104 drivers/i2c/busses/i2c-sprd.c 		writel(tmp | STP_EN, i2c_dev->base + I2C_CTL);
i2c_dev           107 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_clear_start(struct sprd_i2c *i2c_dev)
i2c_dev           109 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           111 drivers/i2c/busses/i2c-sprd.c 	writel(tmp & ~I2C_START, i2c_dev->base + I2C_CTL);
i2c_dev           114 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_clear_ack(struct sprd_i2c *i2c_dev)
i2c_dev           116 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_STATUS);
i2c_dev           118 drivers/i2c/busses/i2c-sprd.c 	writel(tmp & ~I2C_RX_ACK, i2c_dev->base + I2C_STATUS);
i2c_dev           121 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_clear_irq(struct sprd_i2c *i2c_dev)
i2c_dev           123 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_STATUS);
i2c_dev           125 drivers/i2c/busses/i2c-sprd.c 	writel(tmp & ~I2C_INT, i2c_dev->base + I2C_STATUS);
i2c_dev           128 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_reset_fifo(struct sprd_i2c *i2c_dev)
i2c_dev           130 drivers/i2c/busses/i2c-sprd.c 	writel(I2C_RST, i2c_dev->base + ADDR_RST);
i2c_dev           133 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_set_devaddr(struct sprd_i2c *i2c_dev, struct i2c_msg *m)
i2c_dev           135 drivers/i2c/busses/i2c-sprd.c 	writel(m->addr << 1, i2c_dev->base + I2C_ADDR_CFG);
i2c_dev           138 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_write_bytes(struct sprd_i2c *i2c_dev, u8 *buf, u32 len)
i2c_dev           143 drivers/i2c/busses/i2c-sprd.c 		writeb(buf[i], i2c_dev->base + I2C_TX);
i2c_dev           146 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_read_bytes(struct sprd_i2c *i2c_dev, u8 *buf, u32 len)
i2c_dev           151 drivers/i2c/busses/i2c-sprd.c 		buf[i] = readb(i2c_dev->base + I2C_RX);
i2c_dev           154 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_set_full_thld(struct sprd_i2c *i2c_dev, u32 full_thld)
i2c_dev           156 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           160 drivers/i2c/busses/i2c-sprd.c 	writel(tmp, i2c_dev->base + I2C_CTL);
i2c_dev           163 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_set_empty_thld(struct sprd_i2c *i2c_dev, u32 empty_thld)
i2c_dev           165 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           169 drivers/i2c/busses/i2c-sprd.c 	writel(tmp, i2c_dev->base + I2C_CTL);
i2c_dev           172 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_set_fifo_full_int(struct sprd_i2c *i2c_dev, int enable)
i2c_dev           174 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           181 drivers/i2c/busses/i2c-sprd.c 	writel(tmp, i2c_dev->base + I2C_CTL);
i2c_dev           184 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_set_fifo_empty_int(struct sprd_i2c *i2c_dev, int enable)
i2c_dev           186 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           193 drivers/i2c/busses/i2c-sprd.c 	writel(tmp, i2c_dev->base + I2C_CTL);
i2c_dev           196 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_opt_start(struct sprd_i2c *i2c_dev)
i2c_dev           198 drivers/i2c/busses/i2c-sprd.c 	u32 tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           200 drivers/i2c/busses/i2c-sprd.c 	writel(tmp | I2C_START, i2c_dev->base + I2C_CTL);
i2c_dev           203 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_opt_mode(struct sprd_i2c *i2c_dev, int rw)
i2c_dev           205 drivers/i2c/busses/i2c-sprd.c 	u32 cmd = readl(i2c_dev->base + I2C_CTL) & ~I2C_MODE;
i2c_dev           207 drivers/i2c/busses/i2c-sprd.c 	writel(cmd | rw << 3, i2c_dev->base + I2C_CTL);
i2c_dev           210 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_data_transfer(struct sprd_i2c *i2c_dev)
i2c_dev           212 drivers/i2c/busses/i2c-sprd.c 	u32 i2c_count = i2c_dev->count;
i2c_dev           214 drivers/i2c/busses/i2c-sprd.c 	struct i2c_msg *msg = i2c_dev->msg;
i2c_dev           217 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_read_bytes(i2c_dev, i2c_dev->buf, I2C_FIFO_FULL_THLD);
i2c_dev           218 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->count -= I2C_FIFO_FULL_THLD;
i2c_dev           219 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->buf += I2C_FIFO_FULL_THLD;
i2c_dev           226 drivers/i2c/busses/i2c-sprd.c 		if (i2c_dev->count >= I2C_FIFO_FULL_THLD)
i2c_dev           227 drivers/i2c/busses/i2c-sprd.c 			sprd_i2c_set_fifo_full_int(i2c_dev, 1);
i2c_dev           229 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_write_bytes(i2c_dev, i2c_dev->buf, need_tran);
i2c_dev           230 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->buf += need_tran;
i2c_dev           231 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->count -= need_tran;
i2c_dev           239 drivers/i2c/busses/i2c-sprd.c 			sprd_i2c_set_fifo_empty_int(i2c_dev, 1);
i2c_dev           246 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = i2c_adap->algo_data;
i2c_dev           248 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->msg = msg;
i2c_dev           249 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->buf = msg->buf;
i2c_dev           250 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->count = msg->len;
i2c_dev           252 drivers/i2c/busses/i2c-sprd.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           253 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_reset_fifo(i2c_dev);
i2c_dev           254 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_set_devaddr(i2c_dev, msg);
i2c_dev           255 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_set_count(i2c_dev, msg->len);
i2c_dev           258 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_opt_mode(i2c_dev, 1);
i2c_dev           259 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_send_stop(i2c_dev, 1);
i2c_dev           261 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_opt_mode(i2c_dev, 0);
i2c_dev           262 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_send_stop(i2c_dev, !!is_last_msg);
i2c_dev           270 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_set_fifo_full_int(i2c_dev, 1);
i2c_dev           272 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_data_transfer(i2c_dev);
i2c_dev           274 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_opt_start(i2c_dev);
i2c_dev           276 drivers/i2c/busses/i2c-sprd.c 	wait_for_completion(&i2c_dev->complete);
i2c_dev           278 drivers/i2c/busses/i2c-sprd.c 	return i2c_dev->err;
i2c_dev           284 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = i2c_adap->algo_data;
i2c_dev           287 drivers/i2c/busses/i2c-sprd.c 	ret = pm_runtime_get_sync(i2c_dev->dev);
i2c_dev           300 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_mark_last_busy(i2c_dev->dev);
i2c_dev           301 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_put_autosuspend(i2c_dev->dev);
i2c_dev           316 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_set_clk(struct sprd_i2c *i2c_dev, u32 freq)
i2c_dev           318 drivers/i2c/busses/i2c-sprd.c 	u32 apb_clk = i2c_dev->src_clk;
i2c_dev           336 drivers/i2c/busses/i2c-sprd.c 	writel(div0, i2c_dev->base + ADDR_DVD0);
i2c_dev           337 drivers/i2c/busses/i2c-sprd.c 	writel(div1, i2c_dev->base + ADDR_DVD1);
i2c_dev           341 drivers/i2c/busses/i2c-sprd.c 		writel((6 * apb_clk) / 10000000, i2c_dev->base + ADDR_STA0_DVD);
i2c_dev           343 drivers/i2c/busses/i2c-sprd.c 		writel((4 * apb_clk) / 1000000, i2c_dev->base + ADDR_STA0_DVD);
i2c_dev           346 drivers/i2c/busses/i2c-sprd.c static void sprd_i2c_enable(struct sprd_i2c *i2c_dev)
i2c_dev           350 drivers/i2c/busses/i2c-sprd.c 	writel(tmp, i2c_dev->base + I2C_CTL);
i2c_dev           352 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_set_full_thld(i2c_dev, I2C_FIFO_FULL_THLD);
i2c_dev           353 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_set_empty_thld(i2c_dev, I2C_FIFO_EMPTY_THLD);
i2c_dev           355 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_set_clk(i2c_dev, i2c_dev->bus_freq);
i2c_dev           356 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_reset_fifo(i2c_dev);
i2c_dev           357 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_clear_irq(i2c_dev);
i2c_dev           359 drivers/i2c/busses/i2c-sprd.c 	tmp = readl(i2c_dev->base + I2C_CTL);
i2c_dev           360 drivers/i2c/busses/i2c-sprd.c 	writel(tmp | I2C_EN | I2C_INT_EN, i2c_dev->base + I2C_CTL);
i2c_dev           365 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = dev_id;
i2c_dev           366 drivers/i2c/busses/i2c-sprd.c 	struct i2c_msg *msg = i2c_dev->msg;
i2c_dev           367 drivers/i2c/busses/i2c-sprd.c 	bool ack = !(readl(i2c_dev->base + I2C_STATUS) & I2C_RX_ACK);
i2c_dev           371 drivers/i2c/busses/i2c-sprd.c 		i2c_tran = i2c_dev->count >= I2C_FIFO_FULL_THLD;
i2c_dev           373 drivers/i2c/busses/i2c-sprd.c 		i2c_tran = i2c_dev->count;
i2c_dev           384 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_data_transfer(i2c_dev);
i2c_dev           388 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->err = 0;
i2c_dev           395 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->err = -EIO;
i2c_dev           396 drivers/i2c/busses/i2c-sprd.c 	else if (msg->flags & I2C_M_RD && i2c_dev->count)
i2c_dev           397 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_read_bytes(i2c_dev, i2c_dev->buf, i2c_dev->count);
i2c_dev           400 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_clear_ack(i2c_dev);
i2c_dev           401 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_clear_start(i2c_dev);
i2c_dev           402 drivers/i2c/busses/i2c-sprd.c 	complete(&i2c_dev->complete);
i2c_dev           409 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = dev_id;
i2c_dev           410 drivers/i2c/busses/i2c-sprd.c 	struct i2c_msg *msg = i2c_dev->msg;
i2c_dev           411 drivers/i2c/busses/i2c-sprd.c 	bool ack = !(readl(i2c_dev->base + I2C_STATUS) & I2C_RX_ACK);
i2c_dev           415 drivers/i2c/busses/i2c-sprd.c 		i2c_tran = i2c_dev->count >= I2C_FIFO_FULL_THLD;
i2c_dev           417 drivers/i2c/busses/i2c-sprd.c 		i2c_tran = i2c_dev->count;
i2c_dev           431 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_clear_start(i2c_dev);
i2c_dev           432 drivers/i2c/busses/i2c-sprd.c 		sprd_i2c_clear_irq(i2c_dev);
i2c_dev           435 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_set_fifo_empty_int(i2c_dev, 0);
i2c_dev           436 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_set_fifo_full_int(i2c_dev, 0);
i2c_dev           441 drivers/i2c/busses/i2c-sprd.c static int sprd_i2c_clk_init(struct sprd_i2c *i2c_dev)
i2c_dev           445 drivers/i2c/busses/i2c-sprd.c 	clk_i2c = devm_clk_get(i2c_dev->dev, "i2c");
i2c_dev           447 drivers/i2c/busses/i2c-sprd.c 		dev_warn(i2c_dev->dev, "i2c%d can't get the i2c clock\n",
i2c_dev           448 drivers/i2c/busses/i2c-sprd.c 			 i2c_dev->adap.nr);
i2c_dev           452 drivers/i2c/busses/i2c-sprd.c 	clk_parent = devm_clk_get(i2c_dev->dev, "source");
i2c_dev           454 drivers/i2c/busses/i2c-sprd.c 		dev_warn(i2c_dev->dev, "i2c%d can't get the source clock\n",
i2c_dev           455 drivers/i2c/busses/i2c-sprd.c 			 i2c_dev->adap.nr);
i2c_dev           460 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->src_clk = clk_get_rate(clk_i2c);
i2c_dev           462 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->src_clk = 26000000;
i2c_dev           464 drivers/i2c/busses/i2c-sprd.c 	dev_dbg(i2c_dev->dev, "i2c%d set source clock is %d\n",
i2c_dev           465 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->adap.nr, i2c_dev->src_clk);
i2c_dev           467 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->clk = devm_clk_get(i2c_dev->dev, "enable");
i2c_dev           468 drivers/i2c/busses/i2c-sprd.c 	if (IS_ERR(i2c_dev->clk)) {
i2c_dev           469 drivers/i2c/busses/i2c-sprd.c 		dev_err(i2c_dev->dev, "i2c%d can't get the enable clock\n",
i2c_dev           470 drivers/i2c/busses/i2c-sprd.c 			i2c_dev->adap.nr);
i2c_dev           471 drivers/i2c/busses/i2c-sprd.c 		return PTR_ERR(i2c_dev->clk);
i2c_dev           480 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev;
i2c_dev           486 drivers/i2c/busses/i2c-sprd.c 	i2c_dev = devm_kzalloc(dev, sizeof(struct sprd_i2c), GFP_KERNEL);
i2c_dev           487 drivers/i2c/busses/i2c-sprd.c 	if (!i2c_dev)
i2c_dev           490 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->base = devm_platform_ioremap_resource(pdev, 0);
i2c_dev           491 drivers/i2c/busses/i2c-sprd.c 	if (IS_ERR(i2c_dev->base))
i2c_dev           492 drivers/i2c/busses/i2c-sprd.c 		return PTR_ERR(i2c_dev->base);
i2c_dev           494 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->irq = platform_get_irq(pdev, 0);
i2c_dev           495 drivers/i2c/busses/i2c-sprd.c 	if (i2c_dev->irq < 0) {
i2c_dev           497 drivers/i2c/busses/i2c-sprd.c 		return i2c_dev->irq;
i2c_dev           500 drivers/i2c/busses/i2c-sprd.c 	i2c_set_adapdata(&i2c_dev->adap, i2c_dev);
i2c_dev           501 drivers/i2c/busses/i2c-sprd.c 	init_completion(&i2c_dev->complete);
i2c_dev           502 drivers/i2c/busses/i2c-sprd.c 	snprintf(i2c_dev->adap.name, sizeof(i2c_dev->adap.name),
i2c_dev           505 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->bus_freq = 100000;
i2c_dev           506 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->adap.owner = THIS_MODULE;
i2c_dev           507 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->dev = dev;
i2c_dev           508 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->adap.retries = 3;
i2c_dev           509 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->adap.algo = &sprd_i2c_algo;
i2c_dev           510 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->adap.algo_data = i2c_dev;
i2c_dev           511 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->adap.dev.parent = dev;
i2c_dev           512 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->adap.nr = pdev->id;
i2c_dev           513 drivers/i2c/busses/i2c-sprd.c 	i2c_dev->adap.dev.of_node = dev->of_node;
i2c_dev           516 drivers/i2c/busses/i2c-sprd.c 		i2c_dev->bus_freq = prop;
i2c_dev           519 drivers/i2c/busses/i2c-sprd.c 	if (i2c_dev->bus_freq != 100000 && i2c_dev->bus_freq != 400000)
i2c_dev           522 drivers/i2c/busses/i2c-sprd.c 	ret = sprd_i2c_clk_init(i2c_dev);
i2c_dev           526 drivers/i2c/busses/i2c-sprd.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev           528 drivers/i2c/busses/i2c-sprd.c 	ret = clk_prepare_enable(i2c_dev->clk);
i2c_dev           532 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_enable(i2c_dev);
i2c_dev           534 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_set_autosuspend_delay(i2c_dev->dev, SPRD_I2C_PM_TIMEOUT);
i2c_dev           535 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_use_autosuspend(i2c_dev->dev);
i2c_dev           536 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_set_active(i2c_dev->dev);
i2c_dev           537 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_enable(i2c_dev->dev);
i2c_dev           539 drivers/i2c/busses/i2c-sprd.c 	ret = pm_runtime_get_sync(i2c_dev->dev);
i2c_dev           543 drivers/i2c/busses/i2c-sprd.c 	ret = devm_request_threaded_irq(dev, i2c_dev->irq,
i2c_dev           546 drivers/i2c/busses/i2c-sprd.c 		pdev->name, i2c_dev);
i2c_dev           548 drivers/i2c/busses/i2c-sprd.c 		dev_err(&pdev->dev, "failed to request irq %d\n", i2c_dev->irq);
i2c_dev           552 drivers/i2c/busses/i2c-sprd.c 	ret = i2c_add_numbered_adapter(&i2c_dev->adap);
i2c_dev           558 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_mark_last_busy(i2c_dev->dev);
i2c_dev           559 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_put_autosuspend(i2c_dev->dev);
i2c_dev           563 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_put_noidle(i2c_dev->dev);
i2c_dev           564 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_disable(i2c_dev->dev);
i2c_dev           565 drivers/i2c/busses/i2c-sprd.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev           571 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = platform_get_drvdata(pdev);
i2c_dev           574 drivers/i2c/busses/i2c-sprd.c 	ret = pm_runtime_get_sync(i2c_dev->dev);
i2c_dev           578 drivers/i2c/busses/i2c-sprd.c 	i2c_del_adapter(&i2c_dev->adap);
i2c_dev           579 drivers/i2c/busses/i2c-sprd.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev           581 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_put_noidle(i2c_dev->dev);
i2c_dev           582 drivers/i2c/busses/i2c-sprd.c 	pm_runtime_disable(i2c_dev->dev);
i2c_dev           589 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = dev_get_drvdata(dev);
i2c_dev           591 drivers/i2c/busses/i2c-sprd.c 	i2c_mark_adapter_suspended(&i2c_dev->adap);
i2c_dev           597 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = dev_get_drvdata(dev);
i2c_dev           599 drivers/i2c/busses/i2c-sprd.c 	i2c_mark_adapter_resumed(&i2c_dev->adap);
i2c_dev           605 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = dev_get_drvdata(dev);
i2c_dev           607 drivers/i2c/busses/i2c-sprd.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev           614 drivers/i2c/busses/i2c-sprd.c 	struct sprd_i2c *i2c_dev = dev_get_drvdata(dev);
i2c_dev           617 drivers/i2c/busses/i2c-sprd.c 	ret = clk_prepare_enable(i2c_dev->clk);
i2c_dev           621 drivers/i2c/busses/i2c-sprd.c 	sprd_i2c_enable(i2c_dev);
i2c_dev           235 drivers/i2c/busses/i2c-st.c static void st_i2c_flush_rx_fifo(struct st_i2c_dev *i2c_dev)
i2c_dev           244 drivers/i2c/busses/i2c-st.c 	if (readl_relaxed(i2c_dev->base + SSC_STA) & SSC_STA_RIR)
i2c_dev           247 drivers/i2c/busses/i2c-st.c 		count = readl_relaxed(i2c_dev->base + SSC_RX_FSTAT) &
i2c_dev           251 drivers/i2c/busses/i2c-st.c 		readl_relaxed(i2c_dev->base + SSC_RBUF);
i2c_dev           254 drivers/i2c/busses/i2c-st.c static void st_i2c_soft_reset(struct st_i2c_dev *i2c_dev)
i2c_dev           260 drivers/i2c/busses/i2c-st.c 	st_i2c_flush_rx_fifo(i2c_dev);
i2c_dev           262 drivers/i2c/busses/i2c-st.c 	st_i2c_set_bits(i2c_dev->base + SSC_CTL, SSC_CTL_SR);
i2c_dev           263 drivers/i2c/busses/i2c-st.c 	st_i2c_clr_bits(i2c_dev->base + SSC_CTL, SSC_CTL_SR);
i2c_dev           270 drivers/i2c/busses/i2c-st.c static void st_i2c_hw_config(struct st_i2c_dev *i2c_dev)
i2c_dev           274 drivers/i2c/busses/i2c-st.c 	struct st_i2c_timings *t = &i2c_timings[i2c_dev->mode];
i2c_dev           276 drivers/i2c/busses/i2c-st.c 	st_i2c_soft_reset(i2c_dev);
i2c_dev           280 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_CLR);
i2c_dev           284 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_CTL);
i2c_dev           286 drivers/i2c/busses/i2c-st.c 	rate = clk_get_rate(i2c_dev->clk);
i2c_dev           291 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_BRG);
i2c_dev           294 drivers/i2c/busses/i2c-st.c 	writel_relaxed(1, i2c_dev->base + SSC_PRE_SCALER_BRG);
i2c_dev           297 drivers/i2c/busses/i2c-st.c 	writel_relaxed(SSC_I2C_I2CM, i2c_dev->base + SSC_I2C);
i2c_dev           301 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_REP_START_HOLD);
i2c_dev           305 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_REP_START_SETUP);
i2c_dev           309 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_START_HOLD);
i2c_dev           313 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_DATA_SETUP);
i2c_dev           317 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_STOP_SETUP);
i2c_dev           321 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_BUS_FREE);
i2c_dev           325 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_PRSCALER);
i2c_dev           326 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_PRSCALER_DATAOUT);
i2c_dev           329 drivers/i2c/busses/i2c-st.c 	val = i2c_dev->scl_min_width_us * rate / 100000000;
i2c_dev           330 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_NOISE_SUPP_WIDTH);
i2c_dev           333 drivers/i2c/busses/i2c-st.c 	val = i2c_dev->sda_min_width_us * rate / 100000000;
i2c_dev           334 drivers/i2c/busses/i2c-st.c 	writel_relaxed(val, i2c_dev->base + SSC_NOISE_SUPP_WIDTH_DATAOUT);
i2c_dev           339 drivers/i2c/busses/i2c-st.c 	struct st_i2c_dev *i2c_dev = i2c_get_adapdata(i2c_adap);
i2c_dev           342 drivers/i2c/busses/i2c-st.c 	dev_dbg(i2c_dev->dev, "Trying to recover bus\n");
i2c_dev           352 drivers/i2c/busses/i2c-st.c 	writel_relaxed(0, i2c_dev->base + SSC_IEN);
i2c_dev           354 drivers/i2c/busses/i2c-st.c 	st_i2c_hw_config(i2c_dev);
i2c_dev           357 drivers/i2c/busses/i2c-st.c 	st_i2c_set_bits(i2c_dev->base + SSC_CTL, ctl);
i2c_dev           359 drivers/i2c/busses/i2c-st.c 	st_i2c_clr_bits(i2c_dev->base + SSC_I2C, SSC_I2C_I2CM);
i2c_dev           362 drivers/i2c/busses/i2c-st.c 	writel_relaxed(0, i2c_dev->base + SSC_TBUF);
i2c_dev           364 drivers/i2c/busses/i2c-st.c 	st_i2c_set_bits(i2c_dev->base + SSC_I2C, SSC_I2C_I2CM);
i2c_dev           369 drivers/i2c/busses/i2c-st.c static int st_i2c_wait_free_bus(struct st_i2c_dev *i2c_dev)
i2c_dev           375 drivers/i2c/busses/i2c-st.c 		sta = readl_relaxed(i2c_dev->base + SSC_STA);
i2c_dev           382 drivers/i2c/busses/i2c-st.c 	dev_err(i2c_dev->dev, "bus not free (status = 0x%08x)\n", sta);
i2c_dev           384 drivers/i2c/busses/i2c-st.c 	ret = i2c_recover_bus(&i2c_dev->adap);
i2c_dev           386 drivers/i2c/busses/i2c-st.c 		dev_err(i2c_dev->dev, "Failed to recover the bus (%d)\n", ret);
i2c_dev           398 drivers/i2c/busses/i2c-st.c static inline void st_i2c_write_tx_fifo(struct st_i2c_dev *i2c_dev, u8 byte)
i2c_dev           402 drivers/i2c/busses/i2c-st.c 	writel_relaxed(tbuf | 1, i2c_dev->base + SSC_TBUF);
i2c_dev           412 drivers/i2c/busses/i2c-st.c static void st_i2c_wr_fill_tx_fifo(struct st_i2c_dev *i2c_dev)
i2c_dev           414 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           418 drivers/i2c/busses/i2c-st.c 	sta = readl_relaxed(i2c_dev->base + SSC_STA);
i2c_dev           422 drivers/i2c/busses/i2c-st.c 	tx_fstat = readl_relaxed(i2c_dev->base + SSC_TX_FSTAT);
i2c_dev           431 drivers/i2c/busses/i2c-st.c 		st_i2c_write_tx_fifo(i2c_dev, *c->buf);
i2c_dev           442 drivers/i2c/busses/i2c-st.c static void st_i2c_rd_fill_tx_fifo(struct st_i2c_dev *i2c_dev, int max)
i2c_dev           444 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           448 drivers/i2c/busses/i2c-st.c 	sta = readl_relaxed(i2c_dev->base + SSC_STA);
i2c_dev           452 drivers/i2c/busses/i2c-st.c 	tx_fstat = readl_relaxed(i2c_dev->base + SSC_TX_FSTAT);
i2c_dev           461 drivers/i2c/busses/i2c-st.c 		st_i2c_write_tx_fifo(i2c_dev, 0xff);
i2c_dev           464 drivers/i2c/busses/i2c-st.c static void st_i2c_read_rx_fifo(struct st_i2c_dev *i2c_dev)
i2c_dev           466 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           470 drivers/i2c/busses/i2c-st.c 	sta = readl_relaxed(i2c_dev->base + SSC_STA);
i2c_dev           474 drivers/i2c/busses/i2c-st.c 		i = readl_relaxed(i2c_dev->base + SSC_RX_FSTAT);
i2c_dev           479 drivers/i2c/busses/i2c-st.c 		rbuf = readl_relaxed(i2c_dev->base + SSC_RBUF) >> 1;
i2c_dev           484 drivers/i2c/busses/i2c-st.c 		dev_err(i2c_dev->dev, "Unexpected %d bytes in rx fifo\n", i);
i2c_dev           485 drivers/i2c/busses/i2c-st.c 		st_i2c_flush_rx_fifo(i2c_dev);
i2c_dev           493 drivers/i2c/busses/i2c-st.c static void st_i2c_terminate_xfer(struct st_i2c_dev *i2c_dev)
i2c_dev           495 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           497 drivers/i2c/busses/i2c-st.c 	st_i2c_clr_bits(i2c_dev->base + SSC_IEN, SSC_IEN_TEEN);
i2c_dev           498 drivers/i2c/busses/i2c-st.c 	st_i2c_clr_bits(i2c_dev->base + SSC_I2C, SSC_I2C_STRTG);
i2c_dev           501 drivers/i2c/busses/i2c-st.c 		st_i2c_set_bits(i2c_dev->base + SSC_IEN, SSC_IEN_STOPEN);
i2c_dev           502 drivers/i2c/busses/i2c-st.c 		st_i2c_set_bits(i2c_dev->base + SSC_I2C, SSC_I2C_STOPG);
i2c_dev           504 drivers/i2c/busses/i2c-st.c 		st_i2c_set_bits(i2c_dev->base + SSC_IEN, SSC_IEN_REPSTRTEN);
i2c_dev           505 drivers/i2c/busses/i2c-st.c 		st_i2c_set_bits(i2c_dev->base + SSC_I2C, SSC_I2C_REPSTRTG);
i2c_dev           513 drivers/i2c/busses/i2c-st.c static void st_i2c_handle_write(struct st_i2c_dev *i2c_dev)
i2c_dev           515 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           517 drivers/i2c/busses/i2c-st.c 	st_i2c_flush_rx_fifo(i2c_dev);
i2c_dev           521 drivers/i2c/busses/i2c-st.c 		st_i2c_terminate_xfer(i2c_dev);
i2c_dev           523 drivers/i2c/busses/i2c-st.c 		st_i2c_wr_fill_tx_fifo(i2c_dev);
i2c_dev           530 drivers/i2c/busses/i2c-st.c static void st_i2c_handle_read(struct st_i2c_dev *i2c_dev)
i2c_dev           532 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           537 drivers/i2c/busses/i2c-st.c 		readl_relaxed(i2c_dev->base + SSC_RBUF);
i2c_dev           538 drivers/i2c/busses/i2c-st.c 		st_i2c_clr_bits(i2c_dev->base + SSC_I2C, SSC_I2C_TXENB);
i2c_dev           540 drivers/i2c/busses/i2c-st.c 		st_i2c_read_rx_fifo(i2c_dev);
i2c_dev           545 drivers/i2c/busses/i2c-st.c 		st_i2c_terminate_xfer(i2c_dev);
i2c_dev           548 drivers/i2c/busses/i2c-st.c 		st_i2c_clr_bits(i2c_dev->base + SSC_I2C, SSC_I2C_ACKG);
i2c_dev           552 drivers/i2c/busses/i2c-st.c 		writel_relaxed(ien, i2c_dev->base + SSC_IEN);
i2c_dev           554 drivers/i2c/busses/i2c-st.c 		st_i2c_rd_fill_tx_fifo(i2c_dev, c->count);
i2c_dev           556 drivers/i2c/busses/i2c-st.c 		st_i2c_rd_fill_tx_fifo(i2c_dev, c->count - 1);
i2c_dev           567 drivers/i2c/busses/i2c-st.c 	struct st_i2c_dev *i2c_dev = data;
i2c_dev           568 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           572 drivers/i2c/busses/i2c-st.c 	ien = readl_relaxed(i2c_dev->base + SSC_IEN);
i2c_dev           573 drivers/i2c/busses/i2c-st.c 	sta = readl_relaxed(i2c_dev->base + SSC_STA);
i2c_dev           578 drivers/i2c/busses/i2c-st.c 		dev_dbg(i2c_dev->dev, "spurious it (sta=0x%04x, ien=0x%04x)\n",
i2c_dev           586 drivers/i2c/busses/i2c-st.c 			st_i2c_handle_read(i2c_dev);
i2c_dev           588 drivers/i2c/busses/i2c-st.c 			st_i2c_handle_write(i2c_dev);
i2c_dev           593 drivers/i2c/busses/i2c-st.c 		writel_relaxed(0, i2c_dev->base + SSC_IEN);
i2c_dev           594 drivers/i2c/busses/i2c-st.c 		complete(&i2c_dev->complete);
i2c_dev           598 drivers/i2c/busses/i2c-st.c 		writel_relaxed(SSC_CLR_NACK, i2c_dev->base + SSC_CLR);
i2c_dev           602 drivers/i2c/busses/i2c-st.c 			st_i2c_handle_read(i2c_dev);
i2c_dev           607 drivers/i2c/busses/i2c-st.c 		writel_relaxed(it, i2c_dev->base + SSC_IEN);
i2c_dev           609 drivers/i2c/busses/i2c-st.c 		st_i2c_set_bits(i2c_dev->base + SSC_I2C, SSC_I2C_STOPG);
i2c_dev           614 drivers/i2c/busses/i2c-st.c 		writel_relaxed(SSC_CLR_SSCARBL, i2c_dev->base + SSC_CLR);
i2c_dev           617 drivers/i2c/busses/i2c-st.c 		writel_relaxed(it, i2c_dev->base + SSC_IEN);
i2c_dev           619 drivers/i2c/busses/i2c-st.c 		st_i2c_set_bits(i2c_dev->base + SSC_I2C, SSC_I2C_STOPG);
i2c_dev           624 drivers/i2c/busses/i2c-st.c 		dev_err(i2c_dev->dev,
i2c_dev           633 drivers/i2c/busses/i2c-st.c 	readl(i2c_dev->base + SSC_IEN);
i2c_dev           645 drivers/i2c/busses/i2c-st.c static int st_i2c_xfer_msg(struct st_i2c_dev *i2c_dev, struct i2c_msg *msg,
i2c_dev           648 drivers/i2c/busses/i2c-st.c 	struct st_i2c_client *c = &i2c_dev->client;
i2c_dev           660 drivers/i2c/busses/i2c-st.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           663 drivers/i2c/busses/i2c-st.c 	st_i2c_set_bits(i2c_dev->base + SSC_CTL, ctl);
i2c_dev           668 drivers/i2c/busses/i2c-st.c 	st_i2c_set_bits(i2c_dev->base + SSC_I2C, i2c);
i2c_dev           671 drivers/i2c/busses/i2c-st.c 	st_i2c_write_tx_fifo(i2c_dev, c->addr);
i2c_dev           675 drivers/i2c/busses/i2c-st.c 		st_i2c_wr_fill_tx_fifo(i2c_dev);
i2c_dev           678 drivers/i2c/busses/i2c-st.c 	writel_relaxed(it, i2c_dev->base + SSC_IEN);
i2c_dev           681 drivers/i2c/busses/i2c-st.c 		ret = st_i2c_wait_free_bus(i2c_dev);
i2c_dev           685 drivers/i2c/busses/i2c-st.c 		st_i2c_set_bits(i2c_dev->base + SSC_I2C, SSC_I2C_STRTG);
i2c_dev           688 drivers/i2c/busses/i2c-st.c 	timeout = wait_for_completion_timeout(&i2c_dev->complete,
i2c_dev           689 drivers/i2c/busses/i2c-st.c 			i2c_dev->adap.timeout);
i2c_dev           693 drivers/i2c/busses/i2c-st.c 		dev_err(i2c_dev->dev, "Write to slave 0x%x timed out\n",
i2c_dev           699 drivers/i2c/busses/i2c-st.c 	st_i2c_clr_bits(i2c_dev->base + SSC_I2C, i2c);
i2c_dev           702 drivers/i2c/busses/i2c-st.c 			i2c_dev->base + SSC_CLR);
i2c_dev           716 drivers/i2c/busses/i2c-st.c 	struct st_i2c_dev *i2c_dev = i2c_get_adapdata(i2c_adap);
i2c_dev           719 drivers/i2c/busses/i2c-st.c 	i2c_dev->busy = true;
i2c_dev           721 drivers/i2c/busses/i2c-st.c 	ret = clk_prepare_enable(i2c_dev->clk);
i2c_dev           723 drivers/i2c/busses/i2c-st.c 		dev_err(i2c_dev->dev, "Failed to prepare_enable clock\n");
i2c_dev           727 drivers/i2c/busses/i2c-st.c 	pinctrl_pm_select_default_state(i2c_dev->dev);
i2c_dev           729 drivers/i2c/busses/i2c-st.c 	st_i2c_hw_config(i2c_dev);
i2c_dev           732 drivers/i2c/busses/i2c-st.c 		ret = st_i2c_xfer_msg(i2c_dev, &msgs[i], i == 0, i == num - 1);
i2c_dev           734 drivers/i2c/busses/i2c-st.c 	pinctrl_pm_select_idle_state(i2c_dev->dev);
i2c_dev           736 drivers/i2c/busses/i2c-st.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev           738 drivers/i2c/busses/i2c-st.c 	i2c_dev->busy = false;
i2c_dev           746 drivers/i2c/busses/i2c-st.c 	struct st_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev           748 drivers/i2c/busses/i2c-st.c 	if (i2c_dev->busy)
i2c_dev           786 drivers/i2c/busses/i2c-st.c 		struct st_i2c_dev *i2c_dev)
i2c_dev           791 drivers/i2c/busses/i2c-st.c 			&i2c_dev->scl_min_width_us);
i2c_dev           793 drivers/i2c/busses/i2c-st.c 		dev_err(i2c_dev->dev, "st,i2c-min-scl-pulse-width-us invalid\n");
i2c_dev           798 drivers/i2c/busses/i2c-st.c 			&i2c_dev->sda_min_width_us);
i2c_dev           800 drivers/i2c/busses/i2c-st.c 		dev_err(i2c_dev->dev, "st,i2c-min-sda-pulse-width-us invalid\n");
i2c_dev           810 drivers/i2c/busses/i2c-st.c 	struct st_i2c_dev *i2c_dev;
i2c_dev           816 drivers/i2c/busses/i2c-st.c 	i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev           817 drivers/i2c/busses/i2c-st.c 	if (!i2c_dev)
i2c_dev           821 drivers/i2c/busses/i2c-st.c 	i2c_dev->base = devm_ioremap_resource(&pdev->dev, res);
i2c_dev           822 drivers/i2c/busses/i2c-st.c 	if (IS_ERR(i2c_dev->base))
i2c_dev           823 drivers/i2c/busses/i2c-st.c 		return PTR_ERR(i2c_dev->base);
i2c_dev           825 drivers/i2c/busses/i2c-st.c 	i2c_dev->irq = irq_of_parse_and_map(np, 0);
i2c_dev           826 drivers/i2c/busses/i2c-st.c 	if (!i2c_dev->irq) {
i2c_dev           831 drivers/i2c/busses/i2c-st.c 	i2c_dev->clk = of_clk_get_by_name(np, "ssc");
i2c_dev           832 drivers/i2c/busses/i2c-st.c 	if (IS_ERR(i2c_dev->clk)) {
i2c_dev           834 drivers/i2c/busses/i2c-st.c 		return PTR_ERR(i2c_dev->clk);
i2c_dev           837 drivers/i2c/busses/i2c-st.c 	i2c_dev->mode = I2C_MODE_STANDARD;
i2c_dev           840 drivers/i2c/busses/i2c-st.c 		i2c_dev->mode = I2C_MODE_FAST;
i2c_dev           842 drivers/i2c/busses/i2c-st.c 	i2c_dev->dev = &pdev->dev;
i2c_dev           844 drivers/i2c/busses/i2c-st.c 	ret = devm_request_threaded_irq(&pdev->dev, i2c_dev->irq,
i2c_dev           846 drivers/i2c/busses/i2c-st.c 			IRQF_ONESHOT, pdev->name, i2c_dev);
i2c_dev           848 drivers/i2c/busses/i2c-st.c 		dev_err(&pdev->dev, "Failed to request irq %i\n", i2c_dev->irq);
i2c_dev           852 drivers/i2c/busses/i2c-st.c 	pinctrl_pm_select_default_state(i2c_dev->dev);
i2c_dev           854 drivers/i2c/busses/i2c-st.c 	pinctrl_pm_select_idle_state(i2c_dev->dev);
i2c_dev           856 drivers/i2c/busses/i2c-st.c 	ret = st_i2c_of_get_deglitch(np, i2c_dev);
i2c_dev           860 drivers/i2c/busses/i2c-st.c 	adap = &i2c_dev->adap;
i2c_dev           861 drivers/i2c/busses/i2c-st.c 	i2c_set_adapdata(adap, i2c_dev);
i2c_dev           871 drivers/i2c/busses/i2c-st.c 	init_completion(&i2c_dev->complete);
i2c_dev           877 drivers/i2c/busses/i2c-st.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev           879 drivers/i2c/busses/i2c-st.c 	dev_info(i2c_dev->dev, "%s initialized\n", adap->name);
i2c_dev           886 drivers/i2c/busses/i2c-st.c 	struct st_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_dev           888 drivers/i2c/busses/i2c-st.c 	i2c_del_adapter(&i2c_dev->adap);
i2c_dev           144 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_disable_irq(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           146 drivers/i2c/busses/i2c-stm32f4.c 	void __iomem *reg = i2c_dev->base + STM32F4_I2C_CR2;
i2c_dev           151 drivers/i2c/busses/i2c-stm32f4.c static int stm32f4_i2c_set_periph_clk_freq(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           156 drivers/i2c/busses/i2c-stm32f4.c 	i2c_dev->parent_rate = clk_get_rate(i2c_dev->clk);
i2c_dev           157 drivers/i2c/busses/i2c-stm32f4.c 	freq = DIV_ROUND_UP(i2c_dev->parent_rate, HZ_TO_MHZ);
i2c_dev           159 drivers/i2c/busses/i2c-stm32f4.c 	if (i2c_dev->speed == STM32_I2C_SPEED_STANDARD) {
i2c_dev           167 drivers/i2c/busses/i2c-stm32f4.c 			dev_err(i2c_dev->dev,
i2c_dev           179 drivers/i2c/busses/i2c-stm32f4.c 			dev_err(i2c_dev->dev,
i2c_dev           186 drivers/i2c/busses/i2c-stm32f4.c 	writel_relaxed(cr2, i2c_dev->base + STM32F4_I2C_CR2);
i2c_dev           191 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_set_rise_time(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           193 drivers/i2c/busses/i2c-stm32f4.c 	u32 freq = DIV_ROUND_UP(i2c_dev->parent_rate, HZ_TO_MHZ);
i2c_dev           216 drivers/i2c/busses/i2c-stm32f4.c 	if (i2c_dev->speed == STM32_I2C_SPEED_STANDARD)
i2c_dev           222 drivers/i2c/busses/i2c-stm32f4.c 		       i2c_dev->base + STM32F4_I2C_TRISE);
i2c_dev           225 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_set_speed_mode(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           230 drivers/i2c/busses/i2c-stm32f4.c 	if (i2c_dev->speed == STM32_I2C_SPEED_STANDARD) {
i2c_dev           246 drivers/i2c/busses/i2c-stm32f4.c 		val = i2c_dev->parent_rate / (100000 << 1);
i2c_dev           266 drivers/i2c/busses/i2c-stm32f4.c 		val = DIV_ROUND_UP(i2c_dev->parent_rate, 400000 * 3);
i2c_dev           273 drivers/i2c/busses/i2c-stm32f4.c 	writel_relaxed(ccr, i2c_dev->base + STM32F4_I2C_CCR);
i2c_dev           280 drivers/i2c/busses/i2c-stm32f4.c static int stm32f4_i2c_hw_config(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           284 drivers/i2c/busses/i2c-stm32f4.c 	ret = stm32f4_i2c_set_periph_clk_freq(i2c_dev);
i2c_dev           288 drivers/i2c/busses/i2c-stm32f4.c 	stm32f4_i2c_set_rise_time(i2c_dev);
i2c_dev           290 drivers/i2c/busses/i2c-stm32f4.c 	stm32f4_i2c_set_speed_mode(i2c_dev);
i2c_dev           293 drivers/i2c/busses/i2c-stm32f4.c 	writel_relaxed(STM32F4_I2C_CR1_PE, i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           298 drivers/i2c/busses/i2c-stm32f4.c static int stm32f4_i2c_wait_free_bus(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           303 drivers/i2c/busses/i2c-stm32f4.c 	ret = readl_relaxed_poll_timeout(i2c_dev->base + STM32F4_I2C_SR2,
i2c_dev           308 drivers/i2c/busses/i2c-stm32f4.c 		dev_dbg(i2c_dev->dev, "bus not free\n");
i2c_dev           320 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_write_byte(struct stm32f4_i2c_dev *i2c_dev, u8 byte)
i2c_dev           322 drivers/i2c/busses/i2c-stm32f4.c 	writel_relaxed(byte, i2c_dev->base + STM32F4_I2C_DR);
i2c_dev           331 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_write_msg(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           333 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           335 drivers/i2c/busses/i2c-stm32f4.c 	stm32f4_i2c_write_byte(i2c_dev, *msg->buf++);
i2c_dev           339 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_read_msg(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           341 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           344 drivers/i2c/busses/i2c-stm32f4.c 	rbuf = readl_relaxed(i2c_dev->base + STM32F4_I2C_DR);
i2c_dev           349 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_terminate_xfer(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           351 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           354 drivers/i2c/busses/i2c-stm32f4.c 	stm32f4_i2c_disable_irq(i2c_dev);
i2c_dev           356 drivers/i2c/busses/i2c-stm32f4.c 	reg = i2c_dev->base + STM32F4_I2C_CR1;
i2c_dev           362 drivers/i2c/busses/i2c-stm32f4.c 	complete(&i2c_dev->complete);
i2c_dev           369 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_handle_write(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           371 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           372 drivers/i2c/busses/i2c-stm32f4.c 	void __iomem *reg = i2c_dev->base + STM32F4_I2C_CR2;
i2c_dev           375 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_write_msg(i2c_dev);
i2c_dev           384 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_terminate_xfer(i2c_dev);
i2c_dev           394 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_handle_read(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           396 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           397 drivers/i2c/busses/i2c-stm32f4.c 	void __iomem *reg = i2c_dev->base + STM32F4_I2C_CR2;
i2c_dev           401 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_disable_irq(i2c_dev);
i2c_dev           402 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_read_msg(i2c_dev);
i2c_dev           403 drivers/i2c/busses/i2c-stm32f4.c 		complete(&i2c_dev->complete);
i2c_dev           422 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_read_msg(i2c_dev);
i2c_dev           434 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_handle_rx_done(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           436 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           451 drivers/i2c/busses/i2c-stm32f4.c 		reg = i2c_dev->base + STM32F4_I2C_CR1;
i2c_dev           458 drivers/i2c/busses/i2c-stm32f4.c 			stm32f4_i2c_read_msg(i2c_dev);
i2c_dev           460 drivers/i2c/busses/i2c-stm32f4.c 		reg = i2c_dev->base + STM32F4_I2C_CR2;
i2c_dev           464 drivers/i2c/busses/i2c-stm32f4.c 		complete(&i2c_dev->complete);
i2c_dev           472 drivers/i2c/busses/i2c-stm32f4.c 		reg = i2c_dev->base + STM32F4_I2C_CR1;
i2c_dev           474 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_read_msg(i2c_dev);
i2c_dev           477 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_read_msg(i2c_dev);
i2c_dev           486 drivers/i2c/busses/i2c-stm32f4.c static void stm32f4_i2c_handle_rx_addr(struct stm32f4_i2c_dev *i2c_dev)
i2c_dev           488 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           493 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_terminate_xfer(i2c_dev);
i2c_dev           496 drivers/i2c/busses/i2c-stm32f4.c 		readl_relaxed(i2c_dev->base + STM32F4_I2C_SR2);
i2c_dev           506 drivers/i2c/busses/i2c-stm32f4.c 		cr1 = readl_relaxed(i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           508 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(cr1, i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           510 drivers/i2c/busses/i2c-stm32f4.c 		readl_relaxed(i2c_dev->base + STM32F4_I2C_SR2);
i2c_dev           516 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(cr1, i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           526 drivers/i2c/busses/i2c-stm32f4.c 		cr1 = readl_relaxed(i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           529 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(cr1, i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           531 drivers/i2c/busses/i2c-stm32f4.c 		readl_relaxed(i2c_dev->base + STM32F4_I2C_SR2);
i2c_dev           541 drivers/i2c/busses/i2c-stm32f4.c 		cr1 = readl_relaxed(i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           544 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(cr1, i2c_dev->base + STM32F4_I2C_CR1);
i2c_dev           546 drivers/i2c/busses/i2c-stm32f4.c 		readl_relaxed(i2c_dev->base + STM32F4_I2C_SR2);
i2c_dev           558 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_dev *i2c_dev = data;
i2c_dev           559 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           563 drivers/i2c/busses/i2c-stm32f4.c 	cr2 = readl_relaxed(i2c_dev->base + STM32F4_I2C_CR2);
i2c_dev           570 drivers/i2c/busses/i2c-stm32f4.c 	status = readl_relaxed(i2c_dev->base + STM32F4_I2C_SR1);
i2c_dev           573 drivers/i2c/busses/i2c-stm32f4.c 		dev_dbg(i2c_dev->dev,
i2c_dev           581 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_write_byte(i2c_dev, msg->addr);
i2c_dev           586 drivers/i2c/busses/i2c-stm32f4.c 			stm32f4_i2c_handle_rx_addr(i2c_dev);
i2c_dev           588 drivers/i2c/busses/i2c-stm32f4.c 			readl_relaxed(i2c_dev->base + STM32F4_I2C_SR2);
i2c_dev           595 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(cr2, i2c_dev->base + STM32F4_I2C_CR2);
i2c_dev           600 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_handle_write(i2c_dev);
i2c_dev           604 drivers/i2c/busses/i2c-stm32f4.c 		stm32f4_i2c_handle_read(i2c_dev);
i2c_dev           615 drivers/i2c/busses/i2c-stm32f4.c 			stm32f4_i2c_handle_rx_done(i2c_dev);
i2c_dev           617 drivers/i2c/busses/i2c-stm32f4.c 			stm32f4_i2c_handle_write(i2c_dev);
i2c_dev           630 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_dev *i2c_dev = data;
i2c_dev           631 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *msg = &i2c_dev->msg;
i2c_dev           635 drivers/i2c/busses/i2c-stm32f4.c 	status = readl_relaxed(i2c_dev->base + STM32F4_I2C_SR1);
i2c_dev           640 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(status, i2c_dev->base + STM32F4_I2C_SR1);
i2c_dev           650 drivers/i2c/busses/i2c-stm32f4.c 			reg = i2c_dev->base + STM32F4_I2C_CR1;
i2c_dev           654 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(status, i2c_dev->base + STM32F4_I2C_SR1);
i2c_dev           661 drivers/i2c/busses/i2c-stm32f4.c 		writel_relaxed(status, i2c_dev->base + STM32F4_I2C_SR1);
i2c_dev           665 drivers/i2c/busses/i2c-stm32f4.c 	stm32f4_i2c_disable_irq(i2c_dev);
i2c_dev           666 drivers/i2c/busses/i2c-stm32f4.c 	complete(&i2c_dev->complete);
i2c_dev           678 drivers/i2c/busses/i2c-stm32f4.c static int stm32f4_i2c_xfer_msg(struct stm32f4_i2c_dev *i2c_dev,
i2c_dev           682 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_msg *f4_msg = &i2c_dev->msg;
i2c_dev           683 drivers/i2c/busses/i2c-stm32f4.c 	void __iomem *reg = i2c_dev->base + STM32F4_I2C_CR1;
i2c_dev           694 drivers/i2c/busses/i2c-stm32f4.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           698 drivers/i2c/busses/i2c-stm32f4.c 	stm32f4_i2c_set_bits(i2c_dev->base + STM32F4_I2C_CR2, mask);
i2c_dev           701 drivers/i2c/busses/i2c-stm32f4.c 		ret = stm32f4_i2c_wait_free_bus(i2c_dev);
i2c_dev           709 drivers/i2c/busses/i2c-stm32f4.c 	timeout = wait_for_completion_timeout(&i2c_dev->complete,
i2c_dev           710 drivers/i2c/busses/i2c-stm32f4.c 					      i2c_dev->adap.timeout);
i2c_dev           728 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_dev *i2c_dev = i2c_get_adapdata(i2c_adap);
i2c_dev           731 drivers/i2c/busses/i2c-stm32f4.c 	ret = clk_enable(i2c_dev->clk);
i2c_dev           733 drivers/i2c/busses/i2c-stm32f4.c 		dev_err(i2c_dev->dev, "Failed to enable clock\n");
i2c_dev           738 drivers/i2c/busses/i2c-stm32f4.c 		ret = stm32f4_i2c_xfer_msg(i2c_dev, &msgs[i], i == 0,
i2c_dev           741 drivers/i2c/busses/i2c-stm32f4.c 	clk_disable(i2c_dev->clk);
i2c_dev           759 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_dev *i2c_dev;
i2c_dev           766 drivers/i2c/busses/i2c-stm32f4.c 	i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev           767 drivers/i2c/busses/i2c-stm32f4.c 	if (!i2c_dev)
i2c_dev           771 drivers/i2c/busses/i2c-stm32f4.c 	i2c_dev->base = devm_ioremap_resource(&pdev->dev, res);
i2c_dev           772 drivers/i2c/busses/i2c-stm32f4.c 	if (IS_ERR(i2c_dev->base))
i2c_dev           773 drivers/i2c/busses/i2c-stm32f4.c 		return PTR_ERR(i2c_dev->base);
i2c_dev           787 drivers/i2c/busses/i2c-stm32f4.c 	i2c_dev->clk = devm_clk_get(&pdev->dev, NULL);
i2c_dev           788 drivers/i2c/busses/i2c-stm32f4.c 	if (IS_ERR(i2c_dev->clk)) {
i2c_dev           790 drivers/i2c/busses/i2c-stm32f4.c 		return PTR_ERR(i2c_dev->clk);
i2c_dev           792 drivers/i2c/busses/i2c-stm32f4.c 	ret = clk_prepare_enable(i2c_dev->clk);
i2c_dev           794 drivers/i2c/busses/i2c-stm32f4.c 		dev_err(i2c_dev->dev, "Failed to prepare_enable clock\n");
i2c_dev           808 drivers/i2c/busses/i2c-stm32f4.c 	i2c_dev->speed = STM32_I2C_SPEED_STANDARD;
i2c_dev           811 drivers/i2c/busses/i2c-stm32f4.c 		i2c_dev->speed = STM32_I2C_SPEED_FAST;
i2c_dev           813 drivers/i2c/busses/i2c-stm32f4.c 	i2c_dev->dev = &pdev->dev;
i2c_dev           816 drivers/i2c/busses/i2c-stm32f4.c 			       pdev->name, i2c_dev);
i2c_dev           824 drivers/i2c/busses/i2c-stm32f4.c 			       pdev->name, i2c_dev);
i2c_dev           831 drivers/i2c/busses/i2c-stm32f4.c 	ret = stm32f4_i2c_hw_config(i2c_dev);
i2c_dev           835 drivers/i2c/busses/i2c-stm32f4.c 	adap = &i2c_dev->adap;
i2c_dev           836 drivers/i2c/busses/i2c-stm32f4.c 	i2c_set_adapdata(adap, i2c_dev);
i2c_dev           845 drivers/i2c/busses/i2c-stm32f4.c 	init_completion(&i2c_dev->complete);
i2c_dev           851 drivers/i2c/busses/i2c-stm32f4.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev           853 drivers/i2c/busses/i2c-stm32f4.c 	clk_disable(i2c_dev->clk);
i2c_dev           855 drivers/i2c/busses/i2c-stm32f4.c 	dev_info(i2c_dev->dev, "STM32F4 I2C driver registered\n");
i2c_dev           860 drivers/i2c/busses/i2c-stm32f4.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev           866 drivers/i2c/busses/i2c-stm32f4.c 	struct stm32f4_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_dev           868 drivers/i2c/busses/i2c-stm32f4.c 	i2c_del_adapter(&i2c_dev->adap);
i2c_dev           870 drivers/i2c/busses/i2c-stm32f4.c 	clk_unprepare(i2c_dev->clk);
i2c_dev           371 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_disable_irq(struct stm32f7_i2c_dev *i2c_dev, u32 mask)
i2c_dev           373 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_clr_bits(i2c_dev->base + STM32F7_I2C_CR1, mask);
i2c_dev           376 drivers/i2c/busses/i2c-stm32f7.c static int stm32f7_i2c_compute_timing(struct stm32f7_i2c_dev *i2c_dev,
i2c_dev           398 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "speed out of bound {%d/%d}\n",
i2c_dev           405 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev,
i2c_dev           413 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev,
i2c_dev           420 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "ERROR: Freq {%d/%d}\n",
i2c_dev           447 drivers/i2c/busses/i2c-stm32f7.c 	dev_dbg(i2c_dev->dev, "SDADEL(min/max): %i/%i, SCLDEL(Min): %i\n",
i2c_dev           488 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "no Prescaler solution\n");
i2c_dev           545 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "no solution at all\n");
i2c_dev           556 drivers/i2c/busses/i2c-stm32f7.c 	dev_dbg(i2c_dev->dev,
i2c_dev           572 drivers/i2c/busses/i2c-stm32f7.c static int stm32f7_i2c_setup_timing(struct stm32f7_i2c_dev *i2c_dev,
i2c_dev           577 drivers/i2c/busses/i2c-stm32f7.c 	setup->speed = i2c_dev->speed;
i2c_dev           579 drivers/i2c/busses/i2c-stm32f7.c 	setup->clock_src = clk_get_rate(i2c_dev->clk);
i2c_dev           582 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "clock rate is 0\n");
i2c_dev           587 drivers/i2c/busses/i2c-stm32f7.c 		ret = stm32f7_i2c_compute_timing(i2c_dev, setup,
i2c_dev           588 drivers/i2c/busses/i2c-stm32f7.c 						 &i2c_dev->timing);
i2c_dev           590 drivers/i2c/busses/i2c-stm32f7.c 			dev_err(i2c_dev->dev,
i2c_dev           592 drivers/i2c/busses/i2c-stm32f7.c 			if (i2c_dev->speed > STM32_I2C_SPEED_STANDARD) {
i2c_dev           593 drivers/i2c/busses/i2c-stm32f7.c 				i2c_dev->speed--;
i2c_dev           594 drivers/i2c/busses/i2c-stm32f7.c 				setup->speed = i2c_dev->speed;
i2c_dev           597 drivers/i2c/busses/i2c-stm32f7.c 				dev_warn(i2c_dev->dev,
i2c_dev           607 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "Impossible to compute I2C timings.\n");
i2c_dev           611 drivers/i2c/busses/i2c-stm32f7.c 	dev_dbg(i2c_dev->dev, "I2C Speed(%i), Freq(%i), Clk Source(%i)\n",
i2c_dev           613 drivers/i2c/busses/i2c-stm32f7.c 	dev_dbg(i2c_dev->dev, "I2C Rise(%i) and Fall(%i) Time\n",
i2c_dev           615 drivers/i2c/busses/i2c-stm32f7.c 	dev_dbg(i2c_dev->dev, "I2C Analog Filter(%s), DNF(%i)\n",
i2c_dev           621 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_disable_dma_req(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev           623 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev           631 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = (struct stm32f7_i2c_dev *)arg;
i2c_dev           632 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32_i2c_dma *dma = i2c_dev->dma;
i2c_dev           635 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_disable_dma_req(i2c_dev);
i2c_dev           640 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_hw_config(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev           642 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_timings *t = &i2c_dev->timing;
i2c_dev           651 drivers/i2c/busses/i2c-stm32f7.c 	writel_relaxed(timing, i2c_dev->base + STM32F7_I2C_TIMINGR);
i2c_dev           654 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->setup.analog_filter)
i2c_dev           655 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_clr_bits(i2c_dev->base + STM32F7_I2C_CR1,
i2c_dev           658 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_set_bits(i2c_dev->base + STM32F7_I2C_CR1,
i2c_dev           660 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_set_bits(i2c_dev->base + STM32F7_I2C_CR1,
i2c_dev           664 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_write_tx_data(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev           666 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev           667 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev           675 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_read_rx_data(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev           677 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev           678 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev           689 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_reload(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev           691 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev           694 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->use_dma)
i2c_dev           697 drivers/i2c/busses/i2c-stm32f7.c 	cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
i2c_dev           707 drivers/i2c/busses/i2c-stm32f7.c 	writel_relaxed(cr2, i2c_dev->base + STM32F7_I2C_CR2);
i2c_dev           710 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_smbus_reload(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev           712 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev           720 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_read_rx_data(i2c_dev);
i2c_dev           727 drivers/i2c/busses/i2c-stm32f7.c 	cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
i2c_dev           730 drivers/i2c/busses/i2c-stm32f7.c 	writel_relaxed(cr2, i2c_dev->base + STM32F7_I2C_CR2);
i2c_dev           735 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(i2c_adap);
i2c_dev           737 drivers/i2c/busses/i2c-stm32f7.c 	dev_info(i2c_dev->dev, "Trying to recover bus\n");
i2c_dev           739 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_clr_bits(i2c_dev->base + STM32F7_I2C_CR1,
i2c_dev           742 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_hw_config(i2c_dev);
i2c_dev           747 drivers/i2c/busses/i2c-stm32f7.c static int stm32f7_i2c_wait_free_bus(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev           752 drivers/i2c/busses/i2c-stm32f7.c 	ret = readl_relaxed_poll_timeout(i2c_dev->base + STM32F7_I2C_ISR,
i2c_dev           759 drivers/i2c/busses/i2c-stm32f7.c 	dev_info(i2c_dev->dev, "bus busy\n");
i2c_dev           761 drivers/i2c/busses/i2c-stm32f7.c 	ret = stm32f7_i2c_release_bus(&i2c_dev->adap);
i2c_dev           763 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "Failed to recover the bus (%d)\n", ret);
i2c_dev           770 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_xfer_msg(struct stm32f7_i2c_dev *i2c_dev,
i2c_dev           773 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev           774 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev           782 drivers/i2c/busses/i2c-stm32f7.c 	f7_msg->stop = (i2c_dev->msg_id >= i2c_dev->msg_num - 1);
i2c_dev           784 drivers/i2c/busses/i2c-stm32f7.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           823 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->use_dma = false;
i2c_dev           824 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->dma && f7_msg->count >= STM32F7_I2C_DMA_LEN_MIN) {
i2c_dev           825 drivers/i2c/busses/i2c-stm32f7.c 		ret = stm32_i2c_prep_dma_xfer(i2c_dev->dev, i2c_dev->dma,
i2c_dev           829 drivers/i2c/busses/i2c-stm32f7.c 					      i2c_dev);
i2c_dev           831 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->use_dma = true;
i2c_dev           833 drivers/i2c/busses/i2c-stm32f7.c 			dev_warn(i2c_dev->dev, "can't use DMA\n");
i2c_dev           836 drivers/i2c/busses/i2c-stm32f7.c 	if (!i2c_dev->use_dma) {
i2c_dev           851 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->master_mode = true;
i2c_dev           858 drivers/i2c/busses/i2c-stm32f7.c static int stm32f7_i2c_smbus_xfer_msg(struct stm32f7_i2c_dev *i2c_dev,
i2c_dev           862 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev           863 drivers/i2c/busses/i2c-stm32f7.c 	struct device *dev = i2c_dev->dev;
i2c_dev           864 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev           869 drivers/i2c/busses/i2c-stm32f7.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           989 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->use_dma = false;
i2c_dev           990 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->dma && f7_msg->count >= STM32F7_I2C_DMA_LEN_MIN) {
i2c_dev           991 drivers/i2c/busses/i2c-stm32f7.c 		ret = stm32_i2c_prep_dma_xfer(i2c_dev->dev, i2c_dev->dma,
i2c_dev           995 drivers/i2c/busses/i2c-stm32f7.c 					      i2c_dev);
i2c_dev           997 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->use_dma = true;
i2c_dev           999 drivers/i2c/busses/i2c-stm32f7.c 			dev_warn(i2c_dev->dev, "can't use DMA\n");
i2c_dev          1002 drivers/i2c/busses/i2c-stm32f7.c 	if (!i2c_dev->use_dma) {
i2c_dev          1017 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->master_mode = true;
i2c_dev          1026 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_smbus_rep_start(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1028 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev          1029 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1079 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->use_dma = false;
i2c_dev          1080 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->dma && f7_msg->count >= STM32F7_I2C_DMA_LEN_MIN &&
i2c_dev          1083 drivers/i2c/busses/i2c-stm32f7.c 		ret = stm32_i2c_prep_dma_xfer(i2c_dev->dev, i2c_dev->dma,
i2c_dev          1087 drivers/i2c/busses/i2c-stm32f7.c 					      i2c_dev);
i2c_dev          1090 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->use_dma = true;
i2c_dev          1092 drivers/i2c/busses/i2c-stm32f7.c 			dev_warn(i2c_dev->dev, "can't use DMA\n");
i2c_dev          1095 drivers/i2c/busses/i2c-stm32f7.c 	if (!i2c_dev->use_dma)
i2c_dev          1108 drivers/i2c/busses/i2c-stm32f7.c static int stm32f7_i2c_smbus_check_pec(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1110 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev          1113 drivers/i2c/busses/i2c-stm32f7.c 	internal_pec = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR);
i2c_dev          1130 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "Unsupported smbus protocol for PEC\n");
i2c_dev          1135 drivers/i2c/busses/i2c-stm32f7.c 		dev_err(i2c_dev->dev, "Bad PEC 0x%02x vs. 0x%02x\n",
i2c_dev          1169 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_slave_start(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1171 drivers/i2c/busses/i2c-stm32f7.c 	struct i2c_client *slave = i2c_dev->slave_running;
i2c_dev          1172 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1176 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->slave_dir) {
i2c_dev          1217 drivers/i2c/busses/i2c-stm32f7.c static void stm32f7_i2c_slave_addr(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1219 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1223 drivers/i2c/busses/i2c-stm32f7.c 	isr = readl_relaxed(i2c_dev->base + STM32F7_I2C_ISR);
i2c_dev          1228 drivers/i2c/busses/i2c-stm32f7.c 		if (stm32f7_i2c_is_addr_match(i2c_dev->slave[i], addcode)) {
i2c_dev          1229 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->slave_running = i2c_dev->slave[i];
i2c_dev          1230 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->slave_dir = dir;
i2c_dev          1233 drivers/i2c/busses/i2c-stm32f7.c 			stm32f7_i2c_slave_start(i2c_dev);
i2c_dev          1243 drivers/i2c/busses/i2c-stm32f7.c static int stm32f7_i2c_get_slave_id(struct stm32f7_i2c_dev *i2c_dev,
i2c_dev          1249 drivers/i2c/busses/i2c-stm32f7.c 		if (i2c_dev->slave[i] == slave) {
i2c_dev          1255 drivers/i2c/busses/i2c-stm32f7.c 	dev_err(i2c_dev->dev, "Slave 0x%x not registered\n", slave->addr);
i2c_dev          1260 drivers/i2c/busses/i2c-stm32f7.c static int stm32f7_i2c_get_free_slave_id(struct stm32f7_i2c_dev *i2c_dev,
i2c_dev          1263 drivers/i2c/busses/i2c-stm32f7.c 	struct device *dev = i2c_dev->dev;
i2c_dev          1273 drivers/i2c/busses/i2c-stm32f7.c 		if (!i2c_dev->slave[i]) {
i2c_dev          1284 drivers/i2c/busses/i2c-stm32f7.c static bool stm32f7_i2c_is_slave_registered(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1289 drivers/i2c/busses/i2c-stm32f7.c 		if (i2c_dev->slave[i])
i2c_dev          1296 drivers/i2c/busses/i2c-stm32f7.c static bool stm32f7_i2c_is_slave_busy(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1302 drivers/i2c/busses/i2c-stm32f7.c 		if (i2c_dev->slave[i])
i2c_dev          1309 drivers/i2c/busses/i2c-stm32f7.c static irqreturn_t stm32f7_i2c_slave_isr_event(struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1311 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1316 drivers/i2c/busses/i2c-stm32f7.c 	status = readl_relaxed(i2c_dev->base + STM32F7_I2C_ISR);
i2c_dev          1320 drivers/i2c/busses/i2c-stm32f7.c 		i2c_slave_event(i2c_dev->slave_running,
i2c_dev          1334 drivers/i2c/busses/i2c-stm32f7.c 		val = readb_relaxed(i2c_dev->base + STM32F7_I2C_RXDR);
i2c_dev          1335 drivers/i2c/busses/i2c-stm32f7.c 		ret = i2c_slave_event(i2c_dev->slave_running,
i2c_dev          1339 drivers/i2c/busses/i2c-stm32f7.c 			cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
i2c_dev          1341 drivers/i2c/busses/i2c-stm32f7.c 			writel_relaxed(cr2, i2c_dev->base + STM32F7_I2C_CR2);
i2c_dev          1350 drivers/i2c/busses/i2c-stm32f7.c 		dev_dbg(i2c_dev->dev, "<%s>: Receive NACK\n", __func__);
i2c_dev          1357 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_disable_irq(i2c_dev, STM32F7_I2C_XFER_IRQ_MASK);
i2c_dev          1359 drivers/i2c/busses/i2c-stm32f7.c 		if (i2c_dev->slave_dir) {
i2c_dev          1372 drivers/i2c/busses/i2c-stm32f7.c 		i2c_slave_event(i2c_dev->slave_running, I2C_SLAVE_STOP, &val);
i2c_dev          1374 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->slave_running = NULL;
i2c_dev          1379 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_slave_addr(i2c_dev);
i2c_dev          1386 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = data;
i2c_dev          1387 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev          1388 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1393 drivers/i2c/busses/i2c-stm32f7.c 	if (!i2c_dev->master_mode) {
i2c_dev          1394 drivers/i2c/busses/i2c-stm32f7.c 		ret = stm32f7_i2c_slave_isr_event(i2c_dev);
i2c_dev          1398 drivers/i2c/busses/i2c-stm32f7.c 	status = readl_relaxed(i2c_dev->base + STM32F7_I2C_ISR);
i2c_dev          1402 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_write_tx_data(i2c_dev);
i2c_dev          1406 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_read_rx_data(i2c_dev);
i2c_dev          1410 drivers/i2c/busses/i2c-stm32f7.c 		dev_dbg(i2c_dev->dev, "<%s>: Receive NACK\n", __func__);
i2c_dev          1418 drivers/i2c/busses/i2c-stm32f7.c 		if (stm32f7_i2c_is_slave_registered(i2c_dev))
i2c_dev          1422 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_disable_irq(i2c_dev, mask);
i2c_dev          1427 drivers/i2c/busses/i2c-stm32f7.c 		if (i2c_dev->use_dma) {
i2c_dev          1430 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->master_mode = false;
i2c_dev          1431 drivers/i2c/busses/i2c-stm32f7.c 			complete(&i2c_dev->complete);
i2c_dev          1440 drivers/i2c/busses/i2c-stm32f7.c 		} else if (i2c_dev->use_dma) {
i2c_dev          1443 drivers/i2c/busses/i2c-stm32f7.c 			stm32f7_i2c_smbus_rep_start(i2c_dev);
i2c_dev          1445 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->msg_id++;
i2c_dev          1446 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->msg++;
i2c_dev          1447 drivers/i2c/busses/i2c-stm32f7.c 			stm32f7_i2c_xfer_msg(i2c_dev, i2c_dev->msg);
i2c_dev          1453 drivers/i2c/busses/i2c-stm32f7.c 			stm32f7_i2c_smbus_reload(i2c_dev);
i2c_dev          1455 drivers/i2c/busses/i2c-stm32f7.c 			stm32f7_i2c_reload(i2c_dev);
i2c_dev          1463 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = data;
i2c_dev          1464 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev          1465 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32_i2c_dma *dma = i2c_dev->dma;
i2c_dev          1473 drivers/i2c/busses/i2c-stm32f7.c 	ret = wait_for_completion_timeout(&i2c_dev->dma->dma_complete, HZ);
i2c_dev          1475 drivers/i2c/busses/i2c-stm32f7.c 		dev_dbg(i2c_dev->dev, "<%s>: Timed out\n", __func__);
i2c_dev          1476 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_disable_dma_req(i2c_dev);
i2c_dev          1481 drivers/i2c/busses/i2c-stm32f7.c 	status = readl_relaxed(i2c_dev->base + STM32F7_I2C_ISR);
i2c_dev          1485 drivers/i2c/busses/i2c-stm32f7.c 			stm32f7_i2c_smbus_rep_start(i2c_dev);
i2c_dev          1487 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->msg_id++;
i2c_dev          1488 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->msg++;
i2c_dev          1489 drivers/i2c/busses/i2c-stm32f7.c 			stm32f7_i2c_xfer_msg(i2c_dev, i2c_dev->msg);
i2c_dev          1492 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->master_mode = false;
i2c_dev          1493 drivers/i2c/busses/i2c-stm32f7.c 		complete(&i2c_dev->complete);
i2c_dev          1501 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = data;
i2c_dev          1502 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev          1503 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1504 drivers/i2c/busses/i2c-stm32f7.c 	struct device *dev = i2c_dev->dev;
i2c_dev          1505 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32_i2c_dma *dma = i2c_dev->dma;
i2c_dev          1508 drivers/i2c/busses/i2c-stm32f7.c 	status = readl_relaxed(i2c_dev->base + STM32F7_I2C_ISR);
i2c_dev          1514 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_release_bus(&i2c_dev->adap);
i2c_dev          1531 drivers/i2c/busses/i2c-stm32f7.c 	if (!i2c_dev->slave_running) {
i2c_dev          1534 drivers/i2c/busses/i2c-stm32f7.c 		if (stm32f7_i2c_is_slave_registered(i2c_dev))
i2c_dev          1538 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_disable_irq(i2c_dev, mask);
i2c_dev          1542 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->use_dma) {
i2c_dev          1543 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_disable_dma_req(i2c_dev);
i2c_dev          1547 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->master_mode = false;
i2c_dev          1548 drivers/i2c/busses/i2c-stm32f7.c 	complete(&i2c_dev->complete);
i2c_dev          1556 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(i2c_adap);
i2c_dev          1557 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev          1558 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32_i2c_dma *dma = i2c_dev->dma;
i2c_dev          1562 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->msg = msgs;
i2c_dev          1563 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->msg_num = num;
i2c_dev          1564 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->msg_id = 0;
i2c_dev          1567 drivers/i2c/busses/i2c-stm32f7.c 	ret = pm_runtime_get_sync(i2c_dev->dev);
i2c_dev          1571 drivers/i2c/busses/i2c-stm32f7.c 	ret = stm32f7_i2c_wait_free_bus(i2c_dev);
i2c_dev          1575 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_xfer_msg(i2c_dev, msgs);
i2c_dev          1577 drivers/i2c/busses/i2c-stm32f7.c 	time_left = wait_for_completion_timeout(&i2c_dev->complete,
i2c_dev          1578 drivers/i2c/busses/i2c-stm32f7.c 						i2c_dev->adap.timeout);
i2c_dev          1582 drivers/i2c/busses/i2c-stm32f7.c 		dev_dbg(i2c_dev->dev, "Access to slave 0x%x timed out\n",
i2c_dev          1583 drivers/i2c/busses/i2c-stm32f7.c 			i2c_dev->msg->addr);
i2c_dev          1584 drivers/i2c/busses/i2c-stm32f7.c 		if (i2c_dev->use_dma)
i2c_dev          1590 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_mark_last_busy(i2c_dev->dev);
i2c_dev          1591 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_put_autosuspend(i2c_dev->dev);
i2c_dev          1601 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(adapter);
i2c_dev          1602 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg;
i2c_dev          1603 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32_i2c_dma *dma = i2c_dev->dma;
i2c_dev          1604 drivers/i2c/busses/i2c-stm32f7.c 	struct device *dev = i2c_dev->dev;
i2c_dev          1617 drivers/i2c/busses/i2c-stm32f7.c 	ret = stm32f7_i2c_wait_free_bus(i2c_dev);
i2c_dev          1621 drivers/i2c/busses/i2c-stm32f7.c 	ret = stm32f7_i2c_smbus_xfer_msg(i2c_dev, flags, command, data);
i2c_dev          1625 drivers/i2c/busses/i2c-stm32f7.c 	timeout = wait_for_completion_timeout(&i2c_dev->complete,
i2c_dev          1626 drivers/i2c/busses/i2c-stm32f7.c 					      i2c_dev->adap.timeout);
i2c_dev          1633 drivers/i2c/busses/i2c-stm32f7.c 		if (i2c_dev->use_dma)
i2c_dev          1641 drivers/i2c/busses/i2c-stm32f7.c 		ret = stm32f7_i2c_smbus_check_pec(i2c_dev);
i2c_dev          1676 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter);
i2c_dev          1677 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1678 drivers/i2c/busses/i2c-stm32f7.c 	struct device *dev = i2c_dev->dev;
i2c_dev          1687 drivers/i2c/busses/i2c-stm32f7.c 	if (stm32f7_i2c_is_slave_busy(i2c_dev)) {
i2c_dev          1692 drivers/i2c/busses/i2c-stm32f7.c 	ret = stm32f7_i2c_get_free_slave_id(i2c_dev, slave, &id);
i2c_dev          1702 drivers/i2c/busses/i2c-stm32f7.c 		oar1 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR1);
i2c_dev          1711 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->slave[id] = slave;
i2c_dev          1712 drivers/i2c/busses/i2c-stm32f7.c 		writel_relaxed(oar1, i2c_dev->base + STM32F7_I2C_OAR1);
i2c_dev          1715 drivers/i2c/busses/i2c-stm32f7.c 		oar2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR2);
i2c_dev          1724 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->slave[id] = slave;
i2c_dev          1725 drivers/i2c/busses/i2c-stm32f7.c 		writel_relaxed(oar2, i2c_dev->base + STM32F7_I2C_OAR2);
i2c_dev          1749 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter);
i2c_dev          1750 drivers/i2c/busses/i2c-stm32f7.c 	void __iomem *base = i2c_dev->base;
i2c_dev          1754 drivers/i2c/busses/i2c-stm32f7.c 	ret = stm32f7_i2c_get_slave_id(i2c_dev, slave, &id);
i2c_dev          1758 drivers/i2c/busses/i2c-stm32f7.c 	WARN_ON(!i2c_dev->slave[id]);
i2c_dev          1760 drivers/i2c/busses/i2c-stm32f7.c 	ret = pm_runtime_get_sync(i2c_dev->dev);
i2c_dev          1772 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->slave[id] = NULL;
i2c_dev          1774 drivers/i2c/busses/i2c-stm32f7.c 	if (!(stm32f7_i2c_is_slave_registered(i2c_dev)))
i2c_dev          1775 drivers/i2c/busses/i2c-stm32f7.c 		stm32f7_i2c_disable_irq(i2c_dev, STM32F7_I2C_ALL_IRQ_MASK);
i2c_dev          1777 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_mark_last_busy(i2c_dev->dev);
i2c_dev          1778 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_put_autosuspend(i2c_dev->dev);
i2c_dev          1784 drivers/i2c/busses/i2c-stm32f7.c 					  struct stm32f7_i2c_dev *i2c_dev)
i2c_dev          1790 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->regmap = syscon_regmap_lookup_by_phandle(np, "st,syscfg-fmp");
i2c_dev          1791 drivers/i2c/busses/i2c-stm32f7.c 	if (IS_ERR(i2c_dev->regmap)) {
i2c_dev          1804 drivers/i2c/busses/i2c-stm32f7.c 	return regmap_update_bits(i2c_dev->regmap, reg, mask, mask);
i2c_dev          1827 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev;
i2c_dev          1836 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev          1837 drivers/i2c/busses/i2c-stm32f7.c 	if (!i2c_dev)
i2c_dev          1841 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->base = devm_ioremap_resource(&pdev->dev, res);
i2c_dev          1842 drivers/i2c/busses/i2c-stm32f7.c 	if (IS_ERR(i2c_dev->base))
i2c_dev          1843 drivers/i2c/busses/i2c-stm32f7.c 		return PTR_ERR(i2c_dev->base);
i2c_dev          1862 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->clk = devm_clk_get(&pdev->dev, NULL);
i2c_dev          1863 drivers/i2c/busses/i2c-stm32f7.c 	if (IS_ERR(i2c_dev->clk)) {
i2c_dev          1865 drivers/i2c/busses/i2c-stm32f7.c 		return PTR_ERR(i2c_dev->clk);
i2c_dev          1868 drivers/i2c/busses/i2c-stm32f7.c 	ret = clk_prepare_enable(i2c_dev->clk);
i2c_dev          1874 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->speed = STM32_I2C_SPEED_STANDARD;
i2c_dev          1878 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->speed = STM32_I2C_SPEED_FAST_PLUS;
i2c_dev          1879 drivers/i2c/busses/i2c-stm32f7.c 		ret = stm32f7_i2c_setup_fm_plus_bits(pdev, i2c_dev);
i2c_dev          1883 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->speed = STM32_I2C_SPEED_FAST;
i2c_dev          1885 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->speed = STM32_I2C_SPEED_STANDARD;
i2c_dev          1898 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->dev = &pdev->dev;
i2c_dev          1904 drivers/i2c/busses/i2c-stm32f7.c 					pdev->name, i2c_dev);
i2c_dev          1912 drivers/i2c/busses/i2c-stm32f7.c 			       pdev->name, i2c_dev);
i2c_dev          1925 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->setup = *setup;
i2c_dev          1927 drivers/i2c/busses/i2c-stm32f7.c 	ret = device_property_read_u32(i2c_dev->dev, "i2c-scl-rising-time-ns",
i2c_dev          1930 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->setup.rise_time = rise_time;
i2c_dev          1932 drivers/i2c/busses/i2c-stm32f7.c 	ret = device_property_read_u32(i2c_dev->dev, "i2c-scl-falling-time-ns",
i2c_dev          1935 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->setup.fall_time = fall_time;
i2c_dev          1937 drivers/i2c/busses/i2c-stm32f7.c 	ret = stm32f7_i2c_setup_timing(i2c_dev, &i2c_dev->setup);
i2c_dev          1941 drivers/i2c/busses/i2c-stm32f7.c 	adap = &i2c_dev->adap;
i2c_dev          1942 drivers/i2c/busses/i2c-stm32f7.c 	i2c_set_adapdata(adap, i2c_dev);
i2c_dev          1952 drivers/i2c/busses/i2c-stm32f7.c 	init_completion(&i2c_dev->complete);
i2c_dev          1955 drivers/i2c/busses/i2c-stm32f7.c 	i2c_dev->dma = stm32_i2c_dma_request(i2c_dev->dev, phy_addr,
i2c_dev          1958 drivers/i2c/busses/i2c-stm32f7.c 	if (PTR_ERR(i2c_dev->dma) == -ENODEV)
i2c_dev          1959 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->dma = NULL;
i2c_dev          1960 drivers/i2c/busses/i2c-stm32f7.c 	else if (IS_ERR(i2c_dev->dma)) {
i2c_dev          1961 drivers/i2c/busses/i2c-stm32f7.c 		ret = PTR_ERR(i2c_dev->dma);
i2c_dev          1968 drivers/i2c/busses/i2c-stm32f7.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev          1970 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_set_autosuspend_delay(i2c_dev->dev,
i2c_dev          1972 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_use_autosuspend(i2c_dev->dev);
i2c_dev          1973 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_set_active(i2c_dev->dev);
i2c_dev          1974 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_enable(i2c_dev->dev);
i2c_dev          1978 drivers/i2c/busses/i2c-stm32f7.c 	stm32f7_i2c_hw_config(i2c_dev);
i2c_dev          1984 drivers/i2c/busses/i2c-stm32f7.c 	dev_info(i2c_dev->dev, "STM32F7 I2C-%d bus adapter\n", adap->nr);
i2c_dev          1986 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_mark_last_busy(i2c_dev->dev);
i2c_dev          1987 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_put_autosuspend(i2c_dev->dev);
i2c_dev          1992 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_put_noidle(i2c_dev->dev);
i2c_dev          1993 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_disable(i2c_dev->dev);
i2c_dev          1994 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_set_suspended(i2c_dev->dev);
i2c_dev          1995 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_dont_use_autosuspend(i2c_dev->dev);
i2c_dev          1997 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->dma) {
i2c_dev          1998 drivers/i2c/busses/i2c-stm32f7.c 		stm32_i2c_dma_free(i2c_dev->dma);
i2c_dev          1999 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->dma = NULL;
i2c_dev          2003 drivers/i2c/busses/i2c-stm32f7.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev          2010 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_dev          2012 drivers/i2c/busses/i2c-stm32f7.c 	i2c_del_adapter(&i2c_dev->adap);
i2c_dev          2013 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_get_sync(i2c_dev->dev);
i2c_dev          2015 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_put_noidle(i2c_dev->dev);
i2c_dev          2016 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_disable(i2c_dev->dev);
i2c_dev          2017 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_set_suspended(i2c_dev->dev);
i2c_dev          2018 drivers/i2c/busses/i2c-stm32f7.c 	pm_runtime_dont_use_autosuspend(i2c_dev->dev);
i2c_dev          2020 drivers/i2c/busses/i2c-stm32f7.c 	if (i2c_dev->dma) {
i2c_dev          2021 drivers/i2c/busses/i2c-stm32f7.c 		stm32_i2c_dma_free(i2c_dev->dma);
i2c_dev          2022 drivers/i2c/busses/i2c-stm32f7.c 		i2c_dev->dma = NULL;
i2c_dev          2025 drivers/i2c/busses/i2c-stm32f7.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev          2033 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev          2035 drivers/i2c/busses/i2c-stm32f7.c 	if (!stm32f7_i2c_is_slave_registered(i2c_dev))
i2c_dev          2036 drivers/i2c/busses/i2c-stm32f7.c 		clk_disable_unprepare(i2c_dev->clk);
i2c_dev          2043 drivers/i2c/busses/i2c-stm32f7.c 	struct stm32f7_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev          2046 drivers/i2c/busses/i2c-stm32f7.c 	if (!stm32f7_i2c_is_slave_registered(i2c_dev)) {
i2c_dev          2047 drivers/i2c/busses/i2c-stm32f7.c 		ret = clk_prepare_enable(i2c_dev->clk);
i2c_dev           284 drivers/i2c/busses/i2c-tegra.c static void dvc_writel(struct tegra_i2c_dev *i2c_dev, u32 val,
i2c_dev           287 drivers/i2c/busses/i2c-tegra.c 	writel(val, i2c_dev->base + reg);
i2c_dev           290 drivers/i2c/busses/i2c-tegra.c static u32 dvc_readl(struct tegra_i2c_dev *i2c_dev, unsigned long reg)
i2c_dev           292 drivers/i2c/busses/i2c-tegra.c 	return readl(i2c_dev->base + reg);
i2c_dev           299 drivers/i2c/busses/i2c-tegra.c static unsigned long tegra_i2c_reg_addr(struct tegra_i2c_dev *i2c_dev,
i2c_dev           302 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_dvc)
i2c_dev           307 drivers/i2c/busses/i2c-tegra.c static void i2c_writel(struct tegra_i2c_dev *i2c_dev, u32 val,
i2c_dev           310 drivers/i2c/busses/i2c-tegra.c 	writel(val, i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg));
i2c_dev           314 drivers/i2c/busses/i2c-tegra.c 		readl(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg));
i2c_dev           317 drivers/i2c/busses/i2c-tegra.c static u32 i2c_readl(struct tegra_i2c_dev *i2c_dev, unsigned long reg)
i2c_dev           319 drivers/i2c/busses/i2c-tegra.c 	return readl(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg));
i2c_dev           322 drivers/i2c/busses/i2c-tegra.c static void i2c_writesl(struct tegra_i2c_dev *i2c_dev, void *data,
i2c_dev           325 drivers/i2c/busses/i2c-tegra.c 	writesl(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg), data, len);
i2c_dev           328 drivers/i2c/busses/i2c-tegra.c static void i2c_readsl(struct tegra_i2c_dev *i2c_dev, void *data,
i2c_dev           331 drivers/i2c/busses/i2c-tegra.c 	readsl(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg), data, len);
i2c_dev           334 drivers/i2c/busses/i2c-tegra.c static void tegra_i2c_mask_irq(struct tegra_i2c_dev *i2c_dev, u32 mask)
i2c_dev           338 drivers/i2c/busses/i2c-tegra.c 	int_mask = i2c_readl(i2c_dev, I2C_INT_MASK) & ~mask;
i2c_dev           339 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, int_mask, I2C_INT_MASK);
i2c_dev           342 drivers/i2c/busses/i2c-tegra.c static void tegra_i2c_unmask_irq(struct tegra_i2c_dev *i2c_dev, u32 mask)
i2c_dev           346 drivers/i2c/busses/i2c-tegra.c 	int_mask = i2c_readl(i2c_dev, I2C_INT_MASK) | mask;
i2c_dev           347 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, int_mask, I2C_INT_MASK);
i2c_dev           352 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = args;
i2c_dev           354 drivers/i2c/busses/i2c-tegra.c 	complete(&i2c_dev->dma_complete);
i2c_dev           357 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_dma_submit(struct tegra_i2c_dev *i2c_dev, size_t len)
i2c_dev           363 drivers/i2c/busses/i2c-tegra.c 	dev_dbg(i2c_dev->dev, "starting DMA for length: %zu\n", len);
i2c_dev           364 drivers/i2c/busses/i2c-tegra.c 	reinit_completion(&i2c_dev->dma_complete);
i2c_dev           365 drivers/i2c/busses/i2c-tegra.c 	dir = i2c_dev->msg_read ? DMA_DEV_TO_MEM : DMA_MEM_TO_DEV;
i2c_dev           366 drivers/i2c/busses/i2c-tegra.c 	chan = i2c_dev->msg_read ? i2c_dev->rx_dma_chan : i2c_dev->tx_dma_chan;
i2c_dev           367 drivers/i2c/busses/i2c-tegra.c 	dma_desc = dmaengine_prep_slave_single(chan, i2c_dev->dma_phys,
i2c_dev           371 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "failed to get DMA descriptor\n");
i2c_dev           376 drivers/i2c/busses/i2c-tegra.c 	dma_desc->callback_param = i2c_dev;
i2c_dev           382 drivers/i2c/busses/i2c-tegra.c static void tegra_i2c_release_dma(struct tegra_i2c_dev *i2c_dev)
i2c_dev           384 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->dma_buf) {
i2c_dev           385 drivers/i2c/busses/i2c-tegra.c 		dma_free_coherent(i2c_dev->dev, i2c_dev->dma_buf_size,
i2c_dev           386 drivers/i2c/busses/i2c-tegra.c 				  i2c_dev->dma_buf, i2c_dev->dma_phys);
i2c_dev           387 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->dma_buf = NULL;
i2c_dev           390 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->tx_dma_chan) {
i2c_dev           391 drivers/i2c/busses/i2c-tegra.c 		dma_release_channel(i2c_dev->tx_dma_chan);
i2c_dev           392 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->tx_dma_chan = NULL;
i2c_dev           395 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->rx_dma_chan) {
i2c_dev           396 drivers/i2c/busses/i2c-tegra.c 		dma_release_channel(i2c_dev->rx_dma_chan);
i2c_dev           397 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->rx_dma_chan = NULL;
i2c_dev           401 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_init_dma(struct tegra_i2c_dev *i2c_dev)
i2c_dev           408 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->hw->has_apb_dma)
i2c_dev           412 drivers/i2c/busses/i2c-tegra.c 		dev_dbg(i2c_dev->dev, "Support for APB DMA not enabled!\n");
i2c_dev           416 drivers/i2c/busses/i2c-tegra.c 	chan = dma_request_slave_channel_reason(i2c_dev->dev, "rx");
i2c_dev           422 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->rx_dma_chan = chan;
i2c_dev           424 drivers/i2c/busses/i2c-tegra.c 	chan = dma_request_slave_channel_reason(i2c_dev->dev, "tx");
i2c_dev           430 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->tx_dma_chan = chan;
i2c_dev           432 drivers/i2c/busses/i2c-tegra.c 	dma_buf = dma_alloc_coherent(i2c_dev->dev, i2c_dev->dma_buf_size,
i2c_dev           435 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "failed to allocate the DMA buffer\n");
i2c_dev           440 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->dma_buf = dma_buf;
i2c_dev           441 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->dma_phys = dma_phys;
i2c_dev           445 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_release_dma(i2c_dev);
i2c_dev           447 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "cannot use DMA: %d\n", err);
i2c_dev           448 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "falling back to PIO\n");
i2c_dev           455 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_flush_fifos(struct tegra_i2c_dev *i2c_dev)
i2c_dev           461 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_mst_fifo) {
i2c_dev           471 drivers/i2c/busses/i2c-tegra.c 	val = i2c_readl(i2c_dev, offset);
i2c_dev           473 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, val, offset);
i2c_dev           475 drivers/i2c/busses/i2c-tegra.c 	while (i2c_readl(i2c_dev, offset) & mask) {
i2c_dev           477 drivers/i2c/busses/i2c-tegra.c 			dev_warn(i2c_dev->dev, "timeout waiting for fifo flush\n");
i2c_dev           485 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_empty_rx_fifo(struct tegra_i2c_dev *i2c_dev)
i2c_dev           489 drivers/i2c/busses/i2c-tegra.c 	u8 *buf = i2c_dev->msg_buf;
i2c_dev           490 drivers/i2c/busses/i2c-tegra.c 	size_t buf_remaining = i2c_dev->msg_buf_remaining;
i2c_dev           497 drivers/i2c/busses/i2c-tegra.c 	if (WARN_ON_ONCE(!(i2c_dev->msg_buf_remaining)))
i2c_dev           500 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_mst_fifo) {
i2c_dev           501 drivers/i2c/busses/i2c-tegra.c 		val = i2c_readl(i2c_dev, I2C_MST_FIFO_STATUS);
i2c_dev           505 drivers/i2c/busses/i2c-tegra.c 		val = i2c_readl(i2c_dev, I2C_FIFO_STATUS);
i2c_dev           515 drivers/i2c/busses/i2c-tegra.c 	i2c_readsl(i2c_dev, buf, I2C_RX_FIFO, words_to_transfer);
i2c_dev           531 drivers/i2c/busses/i2c-tegra.c 		val = i2c_readl(i2c_dev, I2C_RX_FIFO);
i2c_dev           542 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->msg_buf_remaining = buf_remaining;
i2c_dev           543 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->msg_buf = buf;
i2c_dev           548 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_fill_tx_fifo(struct tegra_i2c_dev *i2c_dev)
i2c_dev           552 drivers/i2c/busses/i2c-tegra.c 	u8 *buf = i2c_dev->msg_buf;
i2c_dev           553 drivers/i2c/busses/i2c-tegra.c 	size_t buf_remaining = i2c_dev->msg_buf_remaining;
i2c_dev           556 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_mst_fifo) {
i2c_dev           557 drivers/i2c/busses/i2c-tegra.c 		val = i2c_readl(i2c_dev, I2C_MST_FIFO_STATUS);
i2c_dev           561 drivers/i2c/busses/i2c-tegra.c 		val = i2c_readl(i2c_dev, I2C_FIFO_STATUS);
i2c_dev           583 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->msg_buf_remaining = buf_remaining;
i2c_dev           584 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->msg_buf = buf +
i2c_dev           588 drivers/i2c/busses/i2c-tegra.c 		i2c_writesl(i2c_dev, buf, I2C_TX_FIFO, words_to_transfer);
i2c_dev           608 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->msg_buf_remaining = 0;
i2c_dev           609 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->msg_buf = NULL;
i2c_dev           612 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, val, I2C_TX_FIFO);
i2c_dev           625 drivers/i2c/busses/i2c-tegra.c static void tegra_dvc_init(struct tegra_i2c_dev *i2c_dev)
i2c_dev           629 drivers/i2c/busses/i2c-tegra.c 	val = dvc_readl(i2c_dev, DVC_CTRL_REG3);
i2c_dev           632 drivers/i2c/busses/i2c-tegra.c 	dvc_writel(i2c_dev, val, DVC_CTRL_REG3);
i2c_dev           634 drivers/i2c/busses/i2c-tegra.c 	val = dvc_readl(i2c_dev, DVC_CTRL_REG1);
i2c_dev           636 drivers/i2c/busses/i2c-tegra.c 	dvc_writel(i2c_dev, val, DVC_CTRL_REG1);
i2c_dev           641 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev           644 drivers/i2c/busses/i2c-tegra.c 	ret = pinctrl_pm_select_default_state(i2c_dev->dev);
i2c_dev           648 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->hw->has_single_clk_source) {
i2c_dev           649 drivers/i2c/busses/i2c-tegra.c 		ret = clk_enable(i2c_dev->fast_clk);
i2c_dev           651 drivers/i2c/busses/i2c-tegra.c 			dev_err(i2c_dev->dev,
i2c_dev           657 drivers/i2c/busses/i2c-tegra.c 	ret = clk_enable(i2c_dev->div_clk);
i2c_dev           659 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev,
i2c_dev           661 drivers/i2c/busses/i2c-tegra.c 		clk_disable(i2c_dev->fast_clk);
i2c_dev           670 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev           672 drivers/i2c/busses/i2c-tegra.c 	clk_disable(i2c_dev->div_clk);
i2c_dev           673 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->hw->has_single_clk_source)
i2c_dev           674 drivers/i2c/busses/i2c-tegra.c 		clk_disable(i2c_dev->fast_clk);
i2c_dev           676 drivers/i2c/busses/i2c-tegra.c 	return pinctrl_pm_select_idle_state(i2c_dev->dev);
i2c_dev           679 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_wait_for_config_load(struct tegra_i2c_dev *i2c_dev)
i2c_dev           686 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_config_load_reg) {
i2c_dev           687 drivers/i2c/busses/i2c-tegra.c 		reg_offset = tegra_i2c_reg_addr(i2c_dev, I2C_CONFIG_LOAD);
i2c_dev           688 drivers/i2c/busses/i2c-tegra.c 		addr = i2c_dev->base + reg_offset;
i2c_dev           689 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, I2C_MSTR_CONFIG_LOAD, I2C_CONFIG_LOAD);
i2c_dev           699 drivers/i2c/busses/i2c-tegra.c 			dev_warn(i2c_dev->dev,
i2c_dev           708 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev, bool clk_reinit)
i2c_dev           716 drivers/i2c/busses/i2c-tegra.c 	reset_control_assert(i2c_dev->rst);
i2c_dev           718 drivers/i2c/busses/i2c-tegra.c 	reset_control_deassert(i2c_dev->rst);
i2c_dev           720 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_dvc)
i2c_dev           721 drivers/i2c/busses/i2c-tegra.c 		tegra_dvc_init(i2c_dev);
i2c_dev           726 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_multi_master_mode)
i2c_dev           729 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, val, I2C_CNFG);
i2c_dev           730 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, 0, I2C_INT_MASK);
i2c_dev           733 drivers/i2c/busses/i2c-tegra.c 	clk_divisor = i2c_dev->hw->clk_divisor_hs_mode;
i2c_dev           734 drivers/i2c/busses/i2c-tegra.c 	clk_divisor |= i2c_dev->clk_divisor_non_hs_mode <<
i2c_dev           736 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, clk_divisor, I2C_CLK_DIVISOR);
i2c_dev           738 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->bus_clk_rate > I2C_STANDARD_MODE &&
i2c_dev           739 drivers/i2c/busses/i2c-tegra.c 	    i2c_dev->bus_clk_rate <= I2C_FAST_PLUS_MODE) {
i2c_dev           740 drivers/i2c/busses/i2c-tegra.c 		tlow = i2c_dev->hw->tlow_fast_fastplus_mode;
i2c_dev           741 drivers/i2c/busses/i2c-tegra.c 		thigh = i2c_dev->hw->thigh_fast_fastplus_mode;
i2c_dev           742 drivers/i2c/busses/i2c-tegra.c 		tsu_thd = i2c_dev->hw->setup_hold_time_fast_fast_plus_mode;
i2c_dev           744 drivers/i2c/busses/i2c-tegra.c 		tlow = i2c_dev->hw->tlow_std_mode;
i2c_dev           745 drivers/i2c/busses/i2c-tegra.c 		thigh = i2c_dev->hw->thigh_std_mode;
i2c_dev           746 drivers/i2c/busses/i2c-tegra.c 		tsu_thd = i2c_dev->hw->setup_hold_time_std_mode;
i2c_dev           749 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_interface_timing_reg) {
i2c_dev           751 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, val, I2C_INTERFACE_TIMING_0);
i2c_dev           758 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_interface_timing_reg && tsu_thd)
i2c_dev           759 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, tsu_thd, I2C_INTERFACE_TIMING_1);
i2c_dev           763 drivers/i2c/busses/i2c-tegra.c 		clk_multiplier *= (i2c_dev->clk_divisor_non_hs_mode + 1);
i2c_dev           764 drivers/i2c/busses/i2c-tegra.c 		err = clk_set_rate(i2c_dev->div_clk,
i2c_dev           765 drivers/i2c/busses/i2c-tegra.c 				   i2c_dev->bus_clk_rate * clk_multiplier);
i2c_dev           767 drivers/i2c/busses/i2c-tegra.c 			dev_err(i2c_dev->dev,
i2c_dev           773 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->is_dvc) {
i2c_dev           774 drivers/i2c/busses/i2c-tegra.c 		u32 sl_cfg = i2c_readl(i2c_dev, I2C_SL_CNFG);
i2c_dev           777 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, sl_cfg, I2C_SL_CNFG);
i2c_dev           778 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, 0xfc, I2C_SL_ADDR1);
i2c_dev           779 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, 0x00, I2C_SL_ADDR2);
i2c_dev           782 drivers/i2c/busses/i2c-tegra.c 	err = tegra_i2c_flush_fifos(i2c_dev);
i2c_dev           786 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_multimaster_mode && i2c_dev->hw->has_slcg_override_reg)
i2c_dev           787 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, I2C_MST_CORE_CLKEN_OVR, I2C_CLKEN_OVERRIDE);
i2c_dev           789 drivers/i2c/busses/i2c-tegra.c 	err = tegra_i2c_wait_for_config_load(i2c_dev);
i2c_dev           793 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->irq_disabled) {
i2c_dev           794 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->irq_disabled = false;
i2c_dev           795 drivers/i2c/busses/i2c-tegra.c 		enable_irq(i2c_dev->irq);
i2c_dev           801 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_disable_packet_mode(struct tegra_i2c_dev *i2c_dev)
i2c_dev           811 drivers/i2c/busses/i2c-tegra.c 	udelay(DIV_ROUND_UP(2 * 1000000, i2c_dev->bus_clk_rate));
i2c_dev           813 drivers/i2c/busses/i2c-tegra.c 	cnfg = i2c_readl(i2c_dev, I2C_CNFG);
i2c_dev           815 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, cnfg & ~I2C_CNFG_PACKET_MODE_EN, I2C_CNFG);
i2c_dev           817 drivers/i2c/busses/i2c-tegra.c 	return tegra_i2c_wait_for_config_load(i2c_dev);
i2c_dev           824 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = dev_id;
i2c_dev           826 drivers/i2c/busses/i2c-tegra.c 	status = i2c_readl(i2c_dev, I2C_INT_STATUS);
i2c_dev           828 drivers/i2c/busses/i2c-tegra.c 	spin_lock(&i2c_dev->xfer_lock);
i2c_dev           830 drivers/i2c/busses/i2c-tegra.c 		dev_warn(i2c_dev->dev, "irq status 0 %08x %08x %08x\n",
i2c_dev           831 drivers/i2c/busses/i2c-tegra.c 			 i2c_readl(i2c_dev, I2C_PACKET_TRANSFER_STATUS),
i2c_dev           832 drivers/i2c/busses/i2c-tegra.c 			 i2c_readl(i2c_dev, I2C_STATUS),
i2c_dev           833 drivers/i2c/busses/i2c-tegra.c 			 i2c_readl(i2c_dev, I2C_CNFG));
i2c_dev           834 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->msg_err |= I2C_ERR_UNKNOWN_INTERRUPT;
i2c_dev           836 drivers/i2c/busses/i2c-tegra.c 		if (!i2c_dev->irq_disabled) {
i2c_dev           837 drivers/i2c/busses/i2c-tegra.c 			disable_irq_nosync(i2c_dev->irq);
i2c_dev           838 drivers/i2c/busses/i2c-tegra.c 			i2c_dev->irq_disabled = true;
i2c_dev           844 drivers/i2c/busses/i2c-tegra.c 		tegra_i2c_disable_packet_mode(i2c_dev);
i2c_dev           846 drivers/i2c/busses/i2c-tegra.c 			i2c_dev->msg_err |= I2C_ERR_NO_ACK;
i2c_dev           848 drivers/i2c/busses/i2c-tegra.c 			i2c_dev->msg_err |= I2C_ERR_ARBITRATION_LOST;
i2c_dev           856 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->supports_bus_clear && (status & I2C_INT_BUS_CLR_DONE))
i2c_dev           859 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->is_curr_dma_xfer) {
i2c_dev           860 drivers/i2c/busses/i2c-tegra.c 		if (i2c_dev->msg_read && (status & I2C_INT_RX_FIFO_DATA_REQ)) {
i2c_dev           861 drivers/i2c/busses/i2c-tegra.c 			if (tegra_i2c_empty_rx_fifo(i2c_dev)) {
i2c_dev           867 drivers/i2c/busses/i2c-tegra.c 				i2c_dev->msg_err |= I2C_ERR_RX_BUFFER_OVERFLOW;
i2c_dev           872 drivers/i2c/busses/i2c-tegra.c 		if (!i2c_dev->msg_read && (status & I2C_INT_TX_FIFO_DATA_REQ)) {
i2c_dev           873 drivers/i2c/busses/i2c-tegra.c 			if (i2c_dev->msg_buf_remaining)
i2c_dev           874 drivers/i2c/busses/i2c-tegra.c 				tegra_i2c_fill_tx_fifo(i2c_dev);
i2c_dev           876 drivers/i2c/busses/i2c-tegra.c 				tegra_i2c_mask_irq(i2c_dev,
i2c_dev           881 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, status, I2C_INT_STATUS);
i2c_dev           882 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_dvc)
i2c_dev           883 drivers/i2c/busses/i2c-tegra.c 		dvc_writel(i2c_dev, DVC_STATUS_I2C_DONE_INTR, DVC_STATUS);
i2c_dev           893 drivers/i2c/busses/i2c-tegra.c 		if (i2c_dev->is_curr_dma_xfer)
i2c_dev           894 drivers/i2c/busses/i2c-tegra.c 			i2c_dev->msg_buf_remaining = 0;
i2c_dev           899 drivers/i2c/busses/i2c-tegra.c 		if (WARN_ON_ONCE(i2c_dev->msg_buf_remaining)) {
i2c_dev           900 drivers/i2c/busses/i2c-tegra.c 			i2c_dev->msg_err |= I2C_ERR_UNKNOWN_INTERRUPT;
i2c_dev           903 drivers/i2c/busses/i2c-tegra.c 		complete(&i2c_dev->msg_complete);
i2c_dev           908 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_mask_irq(i2c_dev, I2C_INT_NO_ACK | I2C_INT_ARBITRATION_LOST |
i2c_dev           911 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->supports_bus_clear)
i2c_dev           912 drivers/i2c/busses/i2c-tegra.c 		tegra_i2c_mask_irq(i2c_dev, I2C_INT_BUS_CLR_DONE);
i2c_dev           913 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, status, I2C_INT_STATUS);
i2c_dev           914 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_dvc)
i2c_dev           915 drivers/i2c/busses/i2c-tegra.c 		dvc_writel(i2c_dev, DVC_STATUS_I2C_DONE_INTR, DVC_STATUS);
i2c_dev           917 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_curr_dma_xfer) {
i2c_dev           918 drivers/i2c/busses/i2c-tegra.c 		if (i2c_dev->msg_read)
i2c_dev           919 drivers/i2c/busses/i2c-tegra.c 			dmaengine_terminate_async(i2c_dev->rx_dma_chan);
i2c_dev           921 drivers/i2c/busses/i2c-tegra.c 			dmaengine_terminate_async(i2c_dev->tx_dma_chan);
i2c_dev           923 drivers/i2c/busses/i2c-tegra.c 		complete(&i2c_dev->dma_complete);
i2c_dev           926 drivers/i2c/busses/i2c-tegra.c 	complete(&i2c_dev->msg_complete);
i2c_dev           928 drivers/i2c/busses/i2c-tegra.c 	spin_unlock(&i2c_dev->xfer_lock);
i2c_dev           932 drivers/i2c/busses/i2c-tegra.c static void tegra_i2c_config_fifo_trig(struct tegra_i2c_dev *i2c_dev,
i2c_dev           942 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_mst_fifo)
i2c_dev           947 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_curr_dma_xfer) {
i2c_dev           955 drivers/i2c/busses/i2c-tegra.c 		if (i2c_dev->msg_read) {
i2c_dev           956 drivers/i2c/busses/i2c-tegra.c 			chan = i2c_dev->rx_dma_chan;
i2c_dev           957 drivers/i2c/busses/i2c-tegra.c 			reg_offset = tegra_i2c_reg_addr(i2c_dev, I2C_RX_FIFO);
i2c_dev           958 drivers/i2c/busses/i2c-tegra.c 			slv_config.src_addr = i2c_dev->base_phys + reg_offset;
i2c_dev           962 drivers/i2c/busses/i2c-tegra.c 			if (i2c_dev->hw->has_mst_fifo)
i2c_dev           967 drivers/i2c/busses/i2c-tegra.c 			chan = i2c_dev->tx_dma_chan;
i2c_dev           968 drivers/i2c/busses/i2c-tegra.c 			reg_offset = tegra_i2c_reg_addr(i2c_dev, I2C_TX_FIFO);
i2c_dev           969 drivers/i2c/busses/i2c-tegra.c 			slv_config.dst_addr = i2c_dev->base_phys + reg_offset;
i2c_dev           973 drivers/i2c/busses/i2c-tegra.c 			if (i2c_dev->hw->has_mst_fifo)
i2c_dev           982 drivers/i2c/busses/i2c-tegra.c 			dev_err(i2c_dev->dev, "DMA slave config failed: %d\n",
i2c_dev           984 drivers/i2c/busses/i2c-tegra.c 			dev_err(i2c_dev->dev, "falling back to PIO\n");
i2c_dev           985 drivers/i2c/busses/i2c-tegra.c 			tegra_i2c_release_dma(i2c_dev);
i2c_dev           986 drivers/i2c/busses/i2c-tegra.c 			i2c_dev->is_curr_dma_xfer = false;
i2c_dev           992 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_mst_fifo)
i2c_dev           999 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, val, reg);
i2c_dev          1004 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev          1009 drivers/i2c/busses/i2c-tegra.c 	reinit_completion(&i2c_dev->msg_complete);
i2c_dev          1012 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, reg, I2C_BUS_CLEAR_CNFG);
i2c_dev          1013 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_config_load_reg) {
i2c_dev          1014 drivers/i2c/busses/i2c-tegra.c 		err = tegra_i2c_wait_for_config_load(i2c_dev);
i2c_dev          1020 drivers/i2c/busses/i2c-tegra.c 	i2c_writel(i2c_dev, reg, I2C_BUS_CLEAR_CNFG);
i2c_dev          1021 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_unmask_irq(i2c_dev, I2C_INT_BUS_CLR_DONE);
i2c_dev          1023 drivers/i2c/busses/i2c-tegra.c 	time_left = wait_for_completion_timeout(&i2c_dev->msg_complete,
i2c_dev          1026 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "timed out for bus clear\n");
i2c_dev          1030 drivers/i2c/busses/i2c-tegra.c 	reg = i2c_readl(i2c_dev, I2C_BUS_CLEAR_STATUS);
i2c_dev          1032 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev,
i2c_dev          1040 drivers/i2c/busses/i2c-tegra.c static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
i2c_dev          1054 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_flush_fifos(i2c_dev);
i2c_dev          1056 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->msg_buf = msg->buf;
i2c_dev          1057 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->msg_buf_remaining = msg->len;
i2c_dev          1058 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->msg_err = I2C_ERR_NONE;
i2c_dev          1059 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->msg_read = (msg->flags & I2C_M_RD);
i2c_dev          1060 drivers/i2c/busses/i2c-tegra.c 	reinit_completion(&i2c_dev->msg_complete);
i2c_dev          1062 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->msg_read)
i2c_dev          1068 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->is_curr_dma_xfer = (xfer_size > I2C_PIO_MODE_MAX_LEN) &&
i2c_dev          1069 drivers/i2c/busses/i2c-tegra.c 				    i2c_dev->dma_buf;
i2c_dev          1070 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_config_fifo_trig(i2c_dev, xfer_size);
i2c_dev          1071 drivers/i2c/busses/i2c-tegra.c 	dma = i2c_dev->is_curr_dma_xfer;
i2c_dev          1077 drivers/i2c/busses/i2c-tegra.c 					i2c_dev->bus_clk_rate);
i2c_dev          1078 drivers/i2c/busses/i2c-tegra.c 	spin_lock_irqsave(&i2c_dev->xfer_lock, flags);
i2c_dev          1081 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_unmask_irq(i2c_dev, int_mask);
i2c_dev          1083 drivers/i2c/busses/i2c-tegra.c 		if (i2c_dev->msg_read) {
i2c_dev          1084 drivers/i2c/busses/i2c-tegra.c 			dma_sync_single_for_device(i2c_dev->dev,
i2c_dev          1085 drivers/i2c/busses/i2c-tegra.c 						   i2c_dev->dma_phys,
i2c_dev          1088 drivers/i2c/busses/i2c-tegra.c 			err = tegra_i2c_dma_submit(i2c_dev, xfer_size);
i2c_dev          1090 drivers/i2c/busses/i2c-tegra.c 				dev_err(i2c_dev->dev,
i2c_dev          1097 drivers/i2c/busses/i2c-tegra.c 			dma_sync_single_for_cpu(i2c_dev->dev,
i2c_dev          1098 drivers/i2c/busses/i2c-tegra.c 						i2c_dev->dma_phys,
i2c_dev          1101 drivers/i2c/busses/i2c-tegra.c 			buffer = i2c_dev->dma_buf;
i2c_dev          1107 drivers/i2c/busses/i2c-tegra.c 			(i2c_dev->cont_id << PACKET_HEADER0_CONT_ID_SHIFT) |
i2c_dev          1109 drivers/i2c/busses/i2c-tegra.c 	if (dma && !i2c_dev->msg_read)
i2c_dev          1112 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, packet_header, I2C_TX_FIFO);
i2c_dev          1115 drivers/i2c/busses/i2c-tegra.c 	if (dma && !i2c_dev->msg_read)
i2c_dev          1118 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, packet_header, I2C_TX_FIFO);
i2c_dev          1135 drivers/i2c/busses/i2c-tegra.c 	if (dma && !i2c_dev->msg_read)
i2c_dev          1138 drivers/i2c/busses/i2c-tegra.c 		i2c_writel(i2c_dev, packet_header, I2C_TX_FIFO);
i2c_dev          1140 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->msg_read) {
i2c_dev          1143 drivers/i2c/busses/i2c-tegra.c 			dma_sync_single_for_device(i2c_dev->dev,
i2c_dev          1144 drivers/i2c/busses/i2c-tegra.c 						   i2c_dev->dma_phys,
i2c_dev          1147 drivers/i2c/busses/i2c-tegra.c 			err = tegra_i2c_dma_submit(i2c_dev, xfer_size);
i2c_dev          1149 drivers/i2c/busses/i2c-tegra.c 				dev_err(i2c_dev->dev,
i2c_dev          1155 drivers/i2c/busses/i2c-tegra.c 			tegra_i2c_fill_tx_fifo(i2c_dev);
i2c_dev          1159 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_per_pkt_xfer_complete_irq)
i2c_dev          1164 drivers/i2c/busses/i2c-tegra.c 		else if (i2c_dev->msg_buf_remaining)
i2c_dev          1168 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_unmask_irq(i2c_dev, int_mask);
i2c_dev          1169 drivers/i2c/busses/i2c-tegra.c 	dev_dbg(i2c_dev->dev, "unmasked irq: %02x\n",
i2c_dev          1170 drivers/i2c/busses/i2c-tegra.c 		i2c_readl(i2c_dev, I2C_INT_MASK));
i2c_dev          1173 drivers/i2c/busses/i2c-tegra.c 	spin_unlock_irqrestore(&i2c_dev->xfer_lock, flags);
i2c_dev          1179 drivers/i2c/busses/i2c-tegra.c 		time_left = wait_for_completion_timeout(&i2c_dev->dma_complete,
i2c_dev          1182 drivers/i2c/busses/i2c-tegra.c 			dev_err(i2c_dev->dev, "DMA transfer timeout\n");
i2c_dev          1183 drivers/i2c/busses/i2c-tegra.c 			dmaengine_terminate_sync(i2c_dev->msg_read ?
i2c_dev          1184 drivers/i2c/busses/i2c-tegra.c 						 i2c_dev->rx_dma_chan :
i2c_dev          1185 drivers/i2c/busses/i2c-tegra.c 						 i2c_dev->tx_dma_chan);
i2c_dev          1186 drivers/i2c/busses/i2c-tegra.c 			tegra_i2c_init(i2c_dev, true);
i2c_dev          1190 drivers/i2c/busses/i2c-tegra.c 		if (i2c_dev->msg_read && i2c_dev->msg_err == I2C_ERR_NONE) {
i2c_dev          1191 drivers/i2c/busses/i2c-tegra.c 			dma_sync_single_for_cpu(i2c_dev->dev,
i2c_dev          1192 drivers/i2c/busses/i2c-tegra.c 						i2c_dev->dma_phys,
i2c_dev          1195 drivers/i2c/busses/i2c-tegra.c 			memcpy(i2c_dev->msg_buf, i2c_dev->dma_buf,
i2c_dev          1199 drivers/i2c/busses/i2c-tegra.c 		if (i2c_dev->msg_err != I2C_ERR_NONE)
i2c_dev          1200 drivers/i2c/busses/i2c-tegra.c 			dmaengine_synchronize(i2c_dev->msg_read ?
i2c_dev          1201 drivers/i2c/busses/i2c-tegra.c 					      i2c_dev->rx_dma_chan :
i2c_dev          1202 drivers/i2c/busses/i2c-tegra.c 					      i2c_dev->tx_dma_chan);
i2c_dev          1205 drivers/i2c/busses/i2c-tegra.c 	time_left = wait_for_completion_timeout(&i2c_dev->msg_complete,
i2c_dev          1207 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_mask_irq(i2c_dev, int_mask);
i2c_dev          1210 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "i2c transfer timed out\n");
i2c_dev          1212 drivers/i2c/busses/i2c-tegra.c 		tegra_i2c_init(i2c_dev, true);
i2c_dev          1216 drivers/i2c/busses/i2c-tegra.c 	dev_dbg(i2c_dev->dev, "transfer complete: %lu %d %d\n",
i2c_dev          1217 drivers/i2c/busses/i2c-tegra.c 		time_left, completion_done(&i2c_dev->msg_complete),
i2c_dev          1218 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->msg_err);
i2c_dev          1220 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->is_curr_dma_xfer = false;
i2c_dev          1221 drivers/i2c/busses/i2c-tegra.c 	if (likely(i2c_dev->msg_err == I2C_ERR_NONE))
i2c_dev          1224 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_init(i2c_dev, true);
i2c_dev          1226 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->msg_err == I2C_ERR_ARBITRATION_LOST) {
i2c_dev          1227 drivers/i2c/busses/i2c-tegra.c 		if (!i2c_dev->is_multimaster_mode)
i2c_dev          1228 drivers/i2c/busses/i2c-tegra.c 			return i2c_recover_bus(&i2c_dev->adapter);
i2c_dev          1232 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->msg_err == I2C_ERR_NO_ACK) {
i2c_dev          1244 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev          1248 drivers/i2c/busses/i2c-tegra.c 	ret = pm_runtime_get_sync(i2c_dev->dev);
i2c_dev          1250 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "runtime resume failed %d\n", ret);
i2c_dev          1263 drivers/i2c/busses/i2c-tegra.c 		ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], end_type);
i2c_dev          1268 drivers/i2c/busses/i2c-tegra.c 	pm_runtime_put(i2c_dev->dev);
i2c_dev          1275 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev          1279 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->has_continue_xfer_support)
i2c_dev          1284 drivers/i2c/busses/i2c-tegra.c static void tegra_i2c_parse_dt(struct tegra_i2c_dev *i2c_dev)
i2c_dev          1286 drivers/i2c/busses/i2c-tegra.c 	struct device_node *np = i2c_dev->dev->of_node;
i2c_dev          1291 drivers/i2c/busses/i2c-tegra.c 				   &i2c_dev->bus_clk_rate);
i2c_dev          1293 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->bus_clk_rate = 100000; /* default clock rate */
i2c_dev          1296 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->is_multimaster_mode = multi_mode;
i2c_dev          1511 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev;
i2c_dev          1541 drivers/i2c/busses/i2c-tegra.c 	i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev          1542 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev)
i2c_dev          1545 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->base = base;
i2c_dev          1546 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->base_phys = base_phys;
i2c_dev          1547 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->div_clk = div_clk;
i2c_dev          1548 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.algo = &tegra_i2c_algo;
i2c_dev          1549 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.retries = 1;
i2c_dev          1550 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.timeout = 6 * HZ;
i2c_dev          1551 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->irq = irq;
i2c_dev          1552 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->cont_id = pdev->id;
i2c_dev          1553 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->dev = &pdev->dev;
i2c_dev          1555 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->rst = devm_reset_control_get_exclusive(&pdev->dev, "i2c");
i2c_dev          1556 drivers/i2c/busses/i2c-tegra.c 	if (IS_ERR(i2c_dev->rst)) {
i2c_dev          1558 drivers/i2c/busses/i2c-tegra.c 		return PTR_ERR(i2c_dev->rst);
i2c_dev          1561 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_parse_dt(i2c_dev);
i2c_dev          1563 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->hw = of_device_get_match_data(&pdev->dev);
i2c_dev          1564 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->is_dvc = of_device_is_compatible(pdev->dev.of_node,
i2c_dev          1566 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.quirks = i2c_dev->hw->quirks;
i2c_dev          1567 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->dma_buf_size = i2c_dev->adapter.quirks->max_write_len +
i2c_dev          1569 drivers/i2c/busses/i2c-tegra.c 	init_completion(&i2c_dev->msg_complete);
i2c_dev          1570 drivers/i2c/busses/i2c-tegra.c 	init_completion(&i2c_dev->dma_complete);
i2c_dev          1571 drivers/i2c/busses/i2c-tegra.c 	spin_lock_init(&i2c_dev->xfer_lock);
i2c_dev          1573 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->hw->has_single_clk_source) {
i2c_dev          1579 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->fast_clk = fast_clk;
i2c_dev          1582 drivers/i2c/busses/i2c-tegra.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev          1584 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->hw->has_single_clk_source) {
i2c_dev          1585 drivers/i2c/busses/i2c-tegra.c 		ret = clk_prepare(i2c_dev->fast_clk);
i2c_dev          1587 drivers/i2c/busses/i2c-tegra.c 			dev_err(i2c_dev->dev, "Clock prepare failed %d\n", ret);
i2c_dev          1592 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->bus_clk_rate > I2C_FAST_MODE &&
i2c_dev          1593 drivers/i2c/busses/i2c-tegra.c 	    i2c_dev->bus_clk_rate <= I2C_FAST_PLUS_MODE)
i2c_dev          1594 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->clk_divisor_non_hs_mode =
i2c_dev          1595 drivers/i2c/busses/i2c-tegra.c 				i2c_dev->hw->clk_divisor_fast_plus_mode;
i2c_dev          1596 drivers/i2c/busses/i2c-tegra.c 	else if (i2c_dev->bus_clk_rate > I2C_STANDARD_MODE &&
i2c_dev          1597 drivers/i2c/busses/i2c-tegra.c 		 i2c_dev->bus_clk_rate <= I2C_FAST_MODE)
i2c_dev          1598 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->clk_divisor_non_hs_mode =
i2c_dev          1599 drivers/i2c/busses/i2c-tegra.c 				i2c_dev->hw->clk_divisor_fast_mode;
i2c_dev          1601 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->clk_divisor_non_hs_mode =
i2c_dev          1602 drivers/i2c/busses/i2c-tegra.c 				i2c_dev->hw->clk_divisor_std_mode;
i2c_dev          1604 drivers/i2c/busses/i2c-tegra.c 	ret = clk_prepare(i2c_dev->div_clk);
i2c_dev          1606 drivers/i2c/busses/i2c-tegra.c 		dev_err(i2c_dev->dev, "Clock prepare failed %d\n", ret);
i2c_dev          1618 drivers/i2c/busses/i2c-tegra.c 		ret = pm_runtime_get_sync(i2c_dev->dev);
i2c_dev          1625 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_multimaster_mode) {
i2c_dev          1626 drivers/i2c/busses/i2c-tegra.c 		ret = clk_enable(i2c_dev->div_clk);
i2c_dev          1628 drivers/i2c/busses/i2c-tegra.c 			dev_err(i2c_dev->dev, "div_clk enable failed %d\n",
i2c_dev          1634 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->hw->supports_bus_clear)
i2c_dev          1635 drivers/i2c/busses/i2c-tegra.c 		i2c_dev->adapter.bus_recovery_info = &tegra_i2c_recovery_info;
i2c_dev          1637 drivers/i2c/busses/i2c-tegra.c 	ret = tegra_i2c_init_dma(i2c_dev);
i2c_dev          1641 drivers/i2c/busses/i2c-tegra.c 	ret = tegra_i2c_init(i2c_dev, false);
i2c_dev          1647 drivers/i2c/busses/i2c-tegra.c 	ret = devm_request_irq(&pdev->dev, i2c_dev->irq,
i2c_dev          1648 drivers/i2c/busses/i2c-tegra.c 			       tegra_i2c_isr, 0, dev_name(&pdev->dev), i2c_dev);
i2c_dev          1650 drivers/i2c/busses/i2c-tegra.c 		dev_err(&pdev->dev, "Failed to request irq %i\n", i2c_dev->irq);
i2c_dev          1654 drivers/i2c/busses/i2c-tegra.c 	i2c_set_adapdata(&i2c_dev->adapter, i2c_dev);
i2c_dev          1655 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.owner = THIS_MODULE;
i2c_dev          1656 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.class = I2C_CLASS_DEPRECATED;
i2c_dev          1657 drivers/i2c/busses/i2c-tegra.c 	strlcpy(i2c_dev->adapter.name, dev_name(&pdev->dev),
i2c_dev          1658 drivers/i2c/busses/i2c-tegra.c 		sizeof(i2c_dev->adapter.name));
i2c_dev          1659 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.dev.parent = &pdev->dev;
i2c_dev          1660 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.nr = pdev->id;
i2c_dev          1661 drivers/i2c/busses/i2c-tegra.c 	i2c_dev->adapter.dev.of_node = pdev->dev.of_node;
i2c_dev          1663 drivers/i2c/busses/i2c-tegra.c 	ret = i2c_add_numbered_adapter(&i2c_dev->adapter);
i2c_dev          1672 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_release_dma(i2c_dev);
i2c_dev          1675 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_multimaster_mode)
i2c_dev          1676 drivers/i2c/busses/i2c-tegra.c 		clk_disable(i2c_dev->div_clk);
i2c_dev          1689 drivers/i2c/busses/i2c-tegra.c 	clk_unprepare(i2c_dev->div_clk);
i2c_dev          1692 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->hw->has_single_clk_source)
i2c_dev          1693 drivers/i2c/busses/i2c-tegra.c 		clk_unprepare(i2c_dev->fast_clk);
i2c_dev          1700 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_dev          1702 drivers/i2c/busses/i2c-tegra.c 	i2c_del_adapter(&i2c_dev->adapter);
i2c_dev          1704 drivers/i2c/busses/i2c-tegra.c 	if (i2c_dev->is_multimaster_mode)
i2c_dev          1705 drivers/i2c/busses/i2c-tegra.c 		clk_disable(i2c_dev->div_clk);
i2c_dev          1711 drivers/i2c/busses/i2c-tegra.c 	clk_unprepare(i2c_dev->div_clk);
i2c_dev          1712 drivers/i2c/busses/i2c-tegra.c 	if (!i2c_dev->hw->has_single_clk_source)
i2c_dev          1713 drivers/i2c/busses/i2c-tegra.c 		clk_unprepare(i2c_dev->fast_clk);
i2c_dev          1715 drivers/i2c/busses/i2c-tegra.c 	tegra_i2c_release_dma(i2c_dev);
i2c_dev          1721 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev          1724 drivers/i2c/busses/i2c-tegra.c 	i2c_mark_adapter_suspended(&i2c_dev->adapter);
i2c_dev          1735 drivers/i2c/busses/i2c-tegra.c 	struct tegra_i2c_dev *i2c_dev = dev_get_drvdata(dev);
i2c_dev          1742 drivers/i2c/busses/i2c-tegra.c 	err = tegra_i2c_init(i2c_dev, false);
i2c_dev          1754 drivers/i2c/busses/i2c-tegra.c 	i2c_mark_adapter_resumed(&i2c_dev->adapter);
i2c_dev            93 drivers/i2c/busses/i2c-wmt.c static int wmt_i2c_wait_bus_not_busy(struct wmt_i2c_dev *i2c_dev)
i2c_dev            98 drivers/i2c/busses/i2c-wmt.c 	while (!(readw(i2c_dev->base + REG_CSR) & CSR_READY_MASK)) {
i2c_dev           100 drivers/i2c/busses/i2c-wmt.c 			dev_warn(i2c_dev->dev, "timeout waiting for bus ready\n");
i2c_dev           109 drivers/i2c/busses/i2c-wmt.c static int wmt_check_status(struct wmt_i2c_dev *i2c_dev)
i2c_dev           113 drivers/i2c/busses/i2c-wmt.c 	if (i2c_dev->cmd_status & ISR_NACK_ADDR)
i2c_dev           116 drivers/i2c/busses/i2c-wmt.c 	if (i2c_dev->cmd_status & ISR_SCL_TIMEOUT)
i2c_dev           125 drivers/i2c/busses/i2c-wmt.c 	struct wmt_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev           132 drivers/i2c/busses/i2c-wmt.c 		ret = wmt_i2c_wait_bus_not_busy(i2c_dev);
i2c_dev           143 drivers/i2c/busses/i2c-wmt.c 		writew(0, i2c_dev->base + REG_CDR);
i2c_dev           145 drivers/i2c/busses/i2c-wmt.c 		writew(pmsg->buf[0] & 0xFF, i2c_dev->base + REG_CDR);
i2c_dev           149 drivers/i2c/busses/i2c-wmt.c 		val = readw(i2c_dev->base + REG_CR);
i2c_dev           151 drivers/i2c/busses/i2c-wmt.c 		writew(val, i2c_dev->base + REG_CR);
i2c_dev           153 drivers/i2c/busses/i2c-wmt.c 		val = readw(i2c_dev->base + REG_CR);
i2c_dev           155 drivers/i2c/busses/i2c-wmt.c 		writew(val, i2c_dev->base + REG_CR);
i2c_dev           158 drivers/i2c/busses/i2c-wmt.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           160 drivers/i2c/busses/i2c-wmt.c 	if (i2c_dev->mode == I2C_MODE_STANDARD)
i2c_dev           167 drivers/i2c/busses/i2c-wmt.c 	writew(tcr_val, i2c_dev->base + REG_TCR);
i2c_dev           170 drivers/i2c/busses/i2c-wmt.c 		val = readw(i2c_dev->base + REG_CR);
i2c_dev           172 drivers/i2c/busses/i2c-wmt.c 		writew(val, i2c_dev->base + REG_CR);
i2c_dev           176 drivers/i2c/busses/i2c-wmt.c 		wait_result = wait_for_completion_timeout(&i2c_dev->complete,
i2c_dev           182 drivers/i2c/busses/i2c-wmt.c 		ret = wmt_check_status(i2c_dev);
i2c_dev           188 drivers/i2c/busses/i2c-wmt.c 		val = readw(i2c_dev->base + REG_CSR);
i2c_dev           190 drivers/i2c/busses/i2c-wmt.c 			dev_dbg(i2c_dev->dev, "write RCV NACK error\n");
i2c_dev           196 drivers/i2c/busses/i2c-wmt.c 			writew(val, i2c_dev->base + REG_CR);
i2c_dev           202 drivers/i2c/busses/i2c-wmt.c 				writew(CR_ENABLE, i2c_dev->base + REG_CR);
i2c_dev           204 drivers/i2c/busses/i2c-wmt.c 			writew(pmsg->buf[xfer_len] & 0xFF, i2c_dev->base +
i2c_dev           206 drivers/i2c/busses/i2c-wmt.c 			writew(CR_CPU_RDY | CR_ENABLE, i2c_dev->base + REG_CR);
i2c_dev           216 drivers/i2c/busses/i2c-wmt.c 	struct wmt_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
i2c_dev           223 drivers/i2c/busses/i2c-wmt.c 		ret = wmt_i2c_wait_bus_not_busy(i2c_dev);
i2c_dev           228 drivers/i2c/busses/i2c-wmt.c 	val = readw(i2c_dev->base + REG_CR);
i2c_dev           230 drivers/i2c/busses/i2c-wmt.c 	writew(val, i2c_dev->base + REG_CR);
i2c_dev           232 drivers/i2c/busses/i2c-wmt.c 	val = readw(i2c_dev->base + REG_CR);
i2c_dev           234 drivers/i2c/busses/i2c-wmt.c 	writew(val, i2c_dev->base + REG_CR);
i2c_dev           237 drivers/i2c/busses/i2c-wmt.c 		val = readw(i2c_dev->base + REG_CR);
i2c_dev           239 drivers/i2c/busses/i2c-wmt.c 		writew(val, i2c_dev->base + REG_CR);
i2c_dev           243 drivers/i2c/busses/i2c-wmt.c 		val = readw(i2c_dev->base + REG_CR);
i2c_dev           245 drivers/i2c/busses/i2c-wmt.c 		writew(val, i2c_dev->base + REG_CR);
i2c_dev           248 drivers/i2c/busses/i2c-wmt.c 	reinit_completion(&i2c_dev->complete);
i2c_dev           250 drivers/i2c/busses/i2c-wmt.c 	if (i2c_dev->mode == I2C_MODE_STANDARD)
i2c_dev           257 drivers/i2c/busses/i2c-wmt.c 	writew(tcr_val, i2c_dev->base + REG_TCR);
i2c_dev           260 drivers/i2c/busses/i2c-wmt.c 		val = readw(i2c_dev->base + REG_CR);
i2c_dev           262 drivers/i2c/busses/i2c-wmt.c 		writew(val, i2c_dev->base + REG_CR);
i2c_dev           266 drivers/i2c/busses/i2c-wmt.c 		wait_result = wait_for_completion_timeout(&i2c_dev->complete,
i2c_dev           272 drivers/i2c/busses/i2c-wmt.c 		ret = wmt_check_status(i2c_dev);
i2c_dev           276 drivers/i2c/busses/i2c-wmt.c 		pmsg->buf[xfer_len] = readw(i2c_dev->base + REG_CDR) >> 8;
i2c_dev           280 drivers/i2c/busses/i2c-wmt.c 			val = readw(i2c_dev->base + REG_CR);
i2c_dev           282 drivers/i2c/busses/i2c-wmt.c 			writew(val, i2c_dev->base + REG_CR);
i2c_dev           284 drivers/i2c/busses/i2c-wmt.c 			val = readw(i2c_dev->base + REG_CR);
i2c_dev           286 drivers/i2c/busses/i2c-wmt.c 			writew(val, i2c_dev->base + REG_CR);
i2c_dev           326 drivers/i2c/busses/i2c-wmt.c 	struct wmt_i2c_dev *i2c_dev = data;
i2c_dev           329 drivers/i2c/busses/i2c-wmt.c 	i2c_dev->cmd_status = readw(i2c_dev->base + REG_ISR);
i2c_dev           330 drivers/i2c/busses/i2c-wmt.c 	writew(i2c_dev->cmd_status, i2c_dev->base + REG_ISR);
i2c_dev           332 drivers/i2c/busses/i2c-wmt.c 	complete(&i2c_dev->complete);
i2c_dev           337 drivers/i2c/busses/i2c-wmt.c static int wmt_i2c_reset_hardware(struct wmt_i2c_dev *i2c_dev)
i2c_dev           341 drivers/i2c/busses/i2c-wmt.c 	err = clk_prepare_enable(i2c_dev->clk);
i2c_dev           343 drivers/i2c/busses/i2c-wmt.c 		dev_err(i2c_dev->dev, "failed to enable clock\n");
i2c_dev           347 drivers/i2c/busses/i2c-wmt.c 	err = clk_set_rate(i2c_dev->clk, 20000000);
i2c_dev           349 drivers/i2c/busses/i2c-wmt.c 		dev_err(i2c_dev->dev, "failed to set clock = 20Mhz\n");
i2c_dev           350 drivers/i2c/busses/i2c-wmt.c 		clk_disable_unprepare(i2c_dev->clk);
i2c_dev           354 drivers/i2c/busses/i2c-wmt.c 	writew(0, i2c_dev->base + REG_CR);
i2c_dev           355 drivers/i2c/busses/i2c-wmt.c 	writew(MCR_APB_166M, i2c_dev->base + REG_MCR);
i2c_dev           356 drivers/i2c/busses/i2c-wmt.c 	writew(ISR_WRITE_ALL, i2c_dev->base + REG_ISR);
i2c_dev           357 drivers/i2c/busses/i2c-wmt.c 	writew(IMR_ENABLE_ALL, i2c_dev->base + REG_IMR);
i2c_dev           358 drivers/i2c/busses/i2c-wmt.c 	writew(CR_ENABLE, i2c_dev->base + REG_CR);
i2c_dev           359 drivers/i2c/busses/i2c-wmt.c 	readw(i2c_dev->base + REG_CSR);		/* read clear */
i2c_dev           360 drivers/i2c/busses/i2c-wmt.c 	writew(ISR_WRITE_ALL, i2c_dev->base + REG_ISR);
i2c_dev           362 drivers/i2c/busses/i2c-wmt.c 	if (i2c_dev->mode == I2C_MODE_STANDARD)
i2c_dev           363 drivers/i2c/busses/i2c-wmt.c 		writew(SCL_TIMEOUT(128) | TR_STD, i2c_dev->base + REG_TR);
i2c_dev           365 drivers/i2c/busses/i2c-wmt.c 		writew(SCL_TIMEOUT(128) | TR_HS, i2c_dev->base + REG_TR);
i2c_dev           373 drivers/i2c/busses/i2c-wmt.c 	struct wmt_i2c_dev *i2c_dev;
i2c_dev           379 drivers/i2c/busses/i2c-wmt.c 	i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev           380 drivers/i2c/busses/i2c-wmt.c 	if (!i2c_dev)
i2c_dev           384 drivers/i2c/busses/i2c-wmt.c 	i2c_dev->base = devm_ioremap_resource(&pdev->dev, res);
i2c_dev           385 drivers/i2c/busses/i2c-wmt.c 	if (IS_ERR(i2c_dev->base))
i2c_dev           386 drivers/i2c/busses/i2c-wmt.c 		return PTR_ERR(i2c_dev->base);
i2c_dev           388 drivers/i2c/busses/i2c-wmt.c 	i2c_dev->irq = irq_of_parse_and_map(np, 0);
i2c_dev           389 drivers/i2c/busses/i2c-wmt.c 	if (!i2c_dev->irq) {
i2c_dev           394 drivers/i2c/busses/i2c-wmt.c 	i2c_dev->clk = of_clk_get(np, 0);
i2c_dev           395 drivers/i2c/busses/i2c-wmt.c 	if (IS_ERR(i2c_dev->clk)) {
i2c_dev           397 drivers/i2c/busses/i2c-wmt.c 		return PTR_ERR(i2c_dev->clk);
i2c_dev           400 drivers/i2c/busses/i2c-wmt.c 	i2c_dev->mode = I2C_MODE_STANDARD;
i2c_dev           403 drivers/i2c/busses/i2c-wmt.c 		i2c_dev->mode = I2C_MODE_FAST;
i2c_dev           405 drivers/i2c/busses/i2c-wmt.c 	i2c_dev->dev = &pdev->dev;
i2c_dev           407 drivers/i2c/busses/i2c-wmt.c 	err = devm_request_irq(&pdev->dev, i2c_dev->irq, wmt_i2c_isr, 0,
i2c_dev           408 drivers/i2c/busses/i2c-wmt.c 							"i2c", i2c_dev);
i2c_dev           410 drivers/i2c/busses/i2c-wmt.c 		dev_err(&pdev->dev, "failed to request irq %i\n", i2c_dev->irq);
i2c_dev           414 drivers/i2c/busses/i2c-wmt.c 	adap = &i2c_dev->adapter;
i2c_dev           415 drivers/i2c/busses/i2c-wmt.c 	i2c_set_adapdata(adap, i2c_dev);
i2c_dev           422 drivers/i2c/busses/i2c-wmt.c 	init_completion(&i2c_dev->complete);
i2c_dev           424 drivers/i2c/busses/i2c-wmt.c 	err = wmt_i2c_reset_hardware(i2c_dev);
i2c_dev           434 drivers/i2c/busses/i2c-wmt.c 	platform_set_drvdata(pdev, i2c_dev);
i2c_dev           441 drivers/i2c/busses/i2c-wmt.c 	struct wmt_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_dev           444 drivers/i2c/busses/i2c-wmt.c 	writew(0, i2c_dev->base + REG_IMR);
i2c_dev           445 drivers/i2c/busses/i2c-wmt.c 	clk_disable_unprepare(i2c_dev->clk);
i2c_dev           446 drivers/i2c/busses/i2c-wmt.c 	i2c_del_adapter(&i2c_dev->adapter);
i2c_dev           500 drivers/i2c/i2c-core-base.c ATTRIBUTE_GROUPS(i2c_dev);
i2c_dev            51 drivers/i2c/i2c-dev.c static struct i2c_dev *i2c_dev_get_by_minor(unsigned index)
i2c_dev            53 drivers/i2c/i2c-dev.c 	struct i2c_dev *i2c_dev;
i2c_dev            56 drivers/i2c/i2c-dev.c 	list_for_each_entry(i2c_dev, &i2c_dev_list, list) {
i2c_dev            57 drivers/i2c/i2c-dev.c 		if (i2c_dev->adap->nr == index)
i2c_dev            60 drivers/i2c/i2c-dev.c 	i2c_dev = NULL;
i2c_dev            63 drivers/i2c/i2c-dev.c 	return i2c_dev;
i2c_dev            66 drivers/i2c/i2c-dev.c static struct i2c_dev *get_free_i2c_dev(struct i2c_adapter *adap)
i2c_dev            68 drivers/i2c/i2c-dev.c 	struct i2c_dev *i2c_dev;
i2c_dev            76 drivers/i2c/i2c-dev.c 	i2c_dev = kzalloc(sizeof(*i2c_dev), GFP_KERNEL);
i2c_dev            77 drivers/i2c/i2c-dev.c 	if (!i2c_dev)
i2c_dev            79 drivers/i2c/i2c-dev.c 	i2c_dev->adap = adap;
i2c_dev            82 drivers/i2c/i2c-dev.c 	list_add_tail(&i2c_dev->list, &i2c_dev_list);
i2c_dev            84 drivers/i2c/i2c-dev.c 	return i2c_dev;
i2c_dev            87 drivers/i2c/i2c-dev.c static void put_i2c_dev(struct i2c_dev *i2c_dev, bool del_cdev)
i2c_dev            90 drivers/i2c/i2c-dev.c 	list_del(&i2c_dev->list);
i2c_dev            93 drivers/i2c/i2c-dev.c 		cdev_device_del(&i2c_dev->cdev, &i2c_dev->dev);
i2c_dev            94 drivers/i2c/i2c-dev.c 	put_device(&i2c_dev->dev);
i2c_dev           100 drivers/i2c/i2c-dev.c 	struct i2c_dev *i2c_dev = i2c_dev_get_by_minor(MINOR(dev->devt));
i2c_dev           102 drivers/i2c/i2c-dev.c 	if (!i2c_dev)
i2c_dev           104 drivers/i2c/i2c-dev.c 	return sprintf(buf, "%s\n", i2c_dev->adap->name);
i2c_dev           635 drivers/i2c/i2c-dev.c 	struct i2c_dev *i2c_dev;
i2c_dev           637 drivers/i2c/i2c-dev.c 	i2c_dev = container_of(dev, struct i2c_dev, dev);
i2c_dev           638 drivers/i2c/i2c-dev.c 	kfree(i2c_dev);
i2c_dev           644 drivers/i2c/i2c-dev.c 	struct i2c_dev *i2c_dev;
i2c_dev           651 drivers/i2c/i2c-dev.c 	i2c_dev = get_free_i2c_dev(adap);
i2c_dev           652 drivers/i2c/i2c-dev.c 	if (IS_ERR(i2c_dev))
i2c_dev           653 drivers/i2c/i2c-dev.c 		return PTR_ERR(i2c_dev);
i2c_dev           655 drivers/i2c/i2c-dev.c 	cdev_init(&i2c_dev->cdev, &i2cdev_fops);
i2c_dev           656 drivers/i2c/i2c-dev.c 	i2c_dev->cdev.owner = THIS_MODULE;
i2c_dev           658 drivers/i2c/i2c-dev.c 	device_initialize(&i2c_dev->dev);
i2c_dev           659 drivers/i2c/i2c-dev.c 	i2c_dev->dev.devt = MKDEV(I2C_MAJOR, adap->nr);
i2c_dev           660 drivers/i2c/i2c-dev.c 	i2c_dev->dev.class = i2c_dev_class;
i2c_dev           661 drivers/i2c/i2c-dev.c 	i2c_dev->dev.parent = &adap->dev;
i2c_dev           662 drivers/i2c/i2c-dev.c 	i2c_dev->dev.release = i2cdev_dev_release;
i2c_dev           663 drivers/i2c/i2c-dev.c 	dev_set_name(&i2c_dev->dev, "i2c-%d", adap->nr);
i2c_dev           665 drivers/i2c/i2c-dev.c 	res = cdev_device_add(&i2c_dev->cdev, &i2c_dev->dev);
i2c_dev           667 drivers/i2c/i2c-dev.c 		put_i2c_dev(i2c_dev, false);
i2c_dev           679 drivers/i2c/i2c-dev.c 	struct i2c_dev *i2c_dev;
i2c_dev           685 drivers/i2c/i2c-dev.c 	i2c_dev = i2c_dev_get_by_minor(adap->nr);
i2c_dev           686 drivers/i2c/i2c-dev.c 	if (!i2c_dev) /* attach_adapter must have failed */
i2c_dev           689 drivers/i2c/i2c-dev.c 	put_i2c_dev(i2c_dev, true);
i2c_dev           369 drivers/media/pci/bt8xx/bttv-input.c 	struct i2c_client *i2c_dev;
i2c_dev           389 drivers/media/pci/bt8xx/bttv-input.c 		i2c_dev = i2c_new_device(&btv->c.i2c_adap, &info);
i2c_dev           399 drivers/media/pci/bt8xx/bttv-input.c 		i2c_dev = i2c_new_probed_device(&btv->c.i2c_adap, &info, addr_list, NULL);
i2c_dev           401 drivers/media/pci/bt8xx/bttv-input.c 	if (NULL == i2c_dev)
i2c_dev            82 drivers/media/usb/em28xx/em28xx-input.c static int em28xx_get_key_terratec(struct i2c_client *i2c_dev,
i2c_dev            89 drivers/media/usb/em28xx/em28xx-input.c 	rc = i2c_master_recv(i2c_dev, &b, 1);
i2c_dev           113 drivers/media/usb/em28xx/em28xx-input.c static int em28xx_get_key_em_haup(struct i2c_client *i2c_dev,
i2c_dev           120 drivers/media/usb/em28xx/em28xx-input.c 	size = i2c_master_recv(i2c_dev, buf, sizeof(buf));
i2c_dev           143 drivers/media/usb/em28xx/em28xx-input.c static int em28xx_get_key_pinnacle_usb_grey(struct i2c_client *i2c_dev,
i2c_dev           151 drivers/media/usb/em28xx/em28xx-input.c 	if (i2c_master_recv(i2c_dev, buf, 3) != 3)
i2c_dev           162 drivers/media/usb/em28xx/em28xx-input.c static int em28xx_get_key_winfast_usbii_deluxe(struct i2c_client *i2c_dev,
i2c_dev           170 drivers/media/usb/em28xx/em28xx-input.c 			.addr = i2c_dev->addr,
i2c_dev           174 drivers/media/usb/em28xx/em28xx-input.c 			.addr = i2c_dev->addr,
i2c_dev           182 drivers/media/usb/em28xx/em28xx-input.c 	if (i2c_transfer(i2c_dev->adapter, msg, 2) != 2)
i2c_dev           189 drivers/media/usb/em28xx/em28xx-input.c 	if (i2c_transfer(i2c_dev->adapter, msg, 2) != 2)
i2c_dev           163 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           241 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           253 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           262 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           275 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           285 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           345 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           416 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           488 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           560 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           601 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           614 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           628 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           641 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           654 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev           737 drivers/nfc/fdp/fdp.c 	struct device *dev = &phy->i2c_dev->dev;
i2c_dev           790 drivers/nfc/fdp/fdp.c 	struct device *dev = &info->phy->i2c_dev->dev;
i2c_dev            15 drivers/nfc/fdp/fdp.h 	struct i2c_client *i2c_dev;
i2c_dev            52 drivers/nfc/fdp/i2c.c 	dev_dbg(&phy->i2c_dev->dev, "%s\n", __func__);
i2c_dev            62 drivers/nfc/fdp/i2c.c 	dev_dbg(&phy->i2c_dev->dev, "%s\n", __func__);
i2c_dev            92 drivers/nfc/fdp/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           136 drivers/nfc/fdp/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           204 drivers/nfc/fdp/i2c.c 	if (!phy || irq != phy->i2c_dev->irq) {
i2c_dev           209 drivers/nfc/fdp/i2c.c 	client = phy->i2c_dev;
i2c_dev           308 drivers/nfc/fdp/i2c.c 	phy->i2c_dev = client;
i2c_dev            39 drivers/nfc/microread/i2c.c 	struct i2c_client *i2c_dev;
i2c_dev           107 drivers/nfc/microread/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           144 drivers/nfc/microread/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           204 drivers/nfc/microread/i2c.c 	if (!phy || irq != phy->i2c_dev->irq) {
i2c_dev           248 drivers/nfc/microread/i2c.c 	phy->i2c_dev = client;
i2c_dev            33 drivers/nfc/nxp-nci/i2c.c 	struct i2c_client *i2c_dev;
i2c_dev            64 drivers/nfc/nxp-nci/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev            99 drivers/nfc/nxp-nci/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           145 drivers/nfc/nxp-nci/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           194 drivers/nfc/nxp-nci/i2c.c 	client = phy->i2c_dev;
i2c_dev           276 drivers/nfc/nxp-nci/i2c.c 	phy->i2c_dev = client;
i2c_dev            26 drivers/nfc/pn533/i2c.c 	struct i2c_client *i2c_dev;
i2c_dev            40 drivers/nfc/pn533/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev            54 drivers/nfc/pn533/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           100 drivers/nfc/pn533/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           138 drivers/nfc/pn533/i2c.c 	if (!phy || irq != phy->i2c_dev->irq) {
i2c_dev           143 drivers/nfc/pn533/i2c.c 	client = phy->i2c_dev;
i2c_dev           193 drivers/nfc/pn533/i2c.c 	phy->i2c_dev = client;
i2c_dev           200 drivers/nfc/pn533/i2c.c 				     &phy->i2c_dev->dev,
i2c_dev           150 drivers/nfc/pn544/i2c.c 	struct i2c_client *i2c_dev;
i2c_dev           194 drivers/nfc/pn544/i2c.c 	nfc_info(&phy->i2c_dev->dev, "Detecting nfc_en polarity\n");
i2c_dev           212 drivers/nfc/pn544/i2c.c 			dev_dbg(&phy->i2c_dev->dev, "Sending reset cmd\n");
i2c_dev           213 drivers/nfc/pn544/i2c.c 			ret = i2c_master_send(phy->i2c_dev, rset_cmd, count);
i2c_dev           215 drivers/nfc/pn544/i2c.c 				nfc_info(&phy->i2c_dev->dev,
i2c_dev           223 drivers/nfc/pn544/i2c.c 	nfc_err(&phy->i2c_dev->dev,
i2c_dev           299 drivers/nfc/pn544/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           363 drivers/nfc/pn544/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           421 drivers/nfc/pn544/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           489 drivers/nfc/pn544/i2c.c 	if (!phy || irq != phy->i2c_dev->irq) {
i2c_dev           494 drivers/nfc/pn544/i2c.c 	client = phy->i2c_dev;
i2c_dev           644 drivers/nfc/pn544/i2c.c 	r = pn544_hci_i2c_fw_write_cmd(phy->i2c_dev,
i2c_dev           678 drivers/nfc/pn544/i2c.c 	r = i2c_master_send(phy->i2c_dev, buf, chunklen);
i2c_dev           706 drivers/nfc/pn544/i2c.c 		r = i2c_master_send(phy->i2c_dev,
i2c_dev           750 drivers/nfc/pn544/i2c.c 				     &phy->i2c_dev->dev);
i2c_dev           789 drivers/nfc/pn544/i2c.c 			r = pn544_hci_i2c_fw_check_cmd(phy->i2c_dev,
i2c_dev           894 drivers/nfc/pn544/i2c.c 	phy->i2c_dev = client;
i2c_dev            26 drivers/nfc/s3fwrn5/i2c.c 	struct i2c_client *i2c_dev;
i2c_dev            99 drivers/nfc/s3fwrn5/i2c.c 	ret = i2c_master_send(phy->i2c_dev, skb->data, skb->len);
i2c_dev           103 drivers/nfc/s3fwrn5/i2c.c 		ret  = i2c_master_send(phy->i2c_dev, skb->data, skb->len);
i2c_dev           134 drivers/nfc/s3fwrn5/i2c.c 	ret = i2c_master_recv(phy->i2c_dev, hdr, hdr_size);
i2c_dev           154 drivers/nfc/s3fwrn5/i2c.c 	ret = i2c_master_recv(phy->i2c_dev, skb_put(skb, data_len), data_len);
i2c_dev           228 drivers/nfc/s3fwrn5/i2c.c 	phy->i2c_dev = client;
i2c_dev           235 drivers/nfc/s3fwrn5/i2c.c 	ret = devm_gpio_request_one(&phy->i2c_dev->dev, phy->gpio_en,
i2c_dev           240 drivers/nfc/s3fwrn5/i2c.c 	ret = devm_gpio_request_one(&phy->i2c_dev->dev, phy->gpio_fw_wake,
i2c_dev           245 drivers/nfc/s3fwrn5/i2c.c 	ret = s3fwrn5_probe(&phy->ndev, phy, &phy->i2c_dev->dev, &i2c_phy_ops,
i2c_dev           250 drivers/nfc/s3fwrn5/i2c.c 	ret = devm_request_threaded_irq(&client->dev, phy->i2c_dev->irq, NULL,
i2c_dev            33 drivers/nfc/st-nci/i2c.c 	struct i2c_client *i2c_dev;
i2c_dev            53 drivers/nfc/st-nci/i2c.c 		enable_irq(phy->i2c_dev->irq);
i2c_dev            64 drivers/nfc/st-nci/i2c.c 	disable_irq_nosync(phy->i2c_dev->irq);
i2c_dev            77 drivers/nfc/st-nci/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           112 drivers/nfc/st-nci/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           164 drivers/nfc/st-nci/i2c.c 	if (!phy || !phy->ndlc || irq != phy->i2c_dev->irq) {
i2c_dev           169 drivers/nfc/st-nci/i2c.c 	client = phy->i2c_dev;
i2c_dev           221 drivers/nfc/st-nci/i2c.c 	phy->i2c_dev = client;
i2c_dev            54 drivers/nfc/st21nfca/i2c.c 	struct i2c_client *i2c_dev;
i2c_dev           103 drivers/nfc/st21nfca/i2c.c 		r = i2c_master_send(phy->i2c_dev, reboot_cmd,
i2c_dev           115 drivers/nfc/st21nfca/i2c.c 		r = i2c_master_recv(phy->i2c_dev, tmp,
i2c_dev           188 drivers/nfc/st21nfca/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           355 drivers/nfc/st21nfca/i2c.c 	struct i2c_client *client = phy->i2c_dev;
i2c_dev           430 drivers/nfc/st21nfca/i2c.c 	if (!phy || irq != phy->i2c_dev->irq) {
i2c_dev           435 drivers/nfc/st21nfca/i2c.c 	client = phy->i2c_dev;
i2c_dev           518 drivers/nfc/st21nfca/i2c.c 	phy->i2c_dev = client;
i2c_dev           133 drivers/platform/chrome/chromeos_laptop.c 	struct i2c_peripheral *i2c_dev;
i2c_dev           137 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev = &cros_laptop->i2c_peripherals[i];
i2c_dev           140 drivers/platform/chrome/chromeos_laptop.c 		if (i2c_dev->client)
i2c_dev           143 drivers/platform/chrome/chromeos_laptop.c 		if (strncmp(adapter->name, i2c_adapter_names[i2c_dev->type],
i2c_dev           144 drivers/platform/chrome/chromeos_laptop.c 			    strlen(i2c_adapter_names[i2c_dev->type])))
i2c_dev           147 drivers/platform/chrome/chromeos_laptop.c 		if (i2c_dev->pci_devid &&
i2c_dev           149 drivers/platform/chrome/chromeos_laptop.c 							 i2c_dev->pci_devid)) {
i2c_dev           153 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev->client =
i2c_dev           155 drivers/platform/chrome/chromeos_laptop.c 							&i2c_dev->board_info,
i2c_dev           156 drivers/platform/chrome/chromeos_laptop.c 							i2c_dev->alt_addr);
i2c_dev           194 drivers/platform/chrome/chromeos_laptop.c 	struct i2c_peripheral *i2c_dev;
i2c_dev           198 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev = &cros_laptop->i2c_peripherals[i];
i2c_dev           200 drivers/platform/chrome/chromeos_laptop.c 		if (i2c_dev->client == client)
i2c_dev           201 drivers/platform/chrome/chromeos_laptop.c 			i2c_dev->client = NULL;
i2c_dev           696 drivers/platform/chrome/chromeos_laptop.c static int __init chromeos_laptop_setup_irq(struct i2c_peripheral *i2c_dev)
i2c_dev           700 drivers/platform/chrome/chromeos_laptop.c 	if (i2c_dev->dmi_name) {
i2c_dev           701 drivers/platform/chrome/chromeos_laptop.c 		irq = chromeos_laptop_get_irq_from_dmi(i2c_dev->dmi_name);
i2c_dev           705 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev->irq_resource  = (struct resource)
i2c_dev           707 drivers/platform/chrome/chromeos_laptop.c 					 IORESOURCE_IRQ | i2c_dev->irqflags);
i2c_dev           708 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev->board_info.resources = &i2c_dev->irq_resource;
i2c_dev           709 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev->board_info.num_resources = 1;
i2c_dev           719 drivers/platform/chrome/chromeos_laptop.c 	struct i2c_peripheral *i2c_dev;
i2c_dev           737 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev = &cros_laptop->i2c_peripherals[i];
i2c_dev           738 drivers/platform/chrome/chromeos_laptop.c 		info = &i2c_dev->board_info;
i2c_dev           740 drivers/platform/chrome/chromeos_laptop.c 		error = chromeos_laptop_setup_irq(i2c_dev);
i2c_dev           759 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev = &cros_laptop->i2c_peripherals[i];
i2c_dev           760 drivers/platform/chrome/chromeos_laptop.c 		info = &i2c_dev->board_info;
i2c_dev           833 drivers/platform/chrome/chromeos_laptop.c 	struct i2c_peripheral *i2c_dev;
i2c_dev           838 drivers/platform/chrome/chromeos_laptop.c 		i2c_dev = &cros_laptop->i2c_peripherals[i];
i2c_dev           839 drivers/platform/chrome/chromeos_laptop.c 		info = &i2c_dev->board_info;
i2c_dev           841 drivers/platform/chrome/chromeos_laptop.c 		i2c_unregister_device(i2c_dev->client);
i2c_dev           802 drivers/scsi/esas2r/atioctl.h 		u8 i2c_dev;
i2c_dev            14 include/sound/pt2258.h 	struct snd_i2c_device *i2c_dev;
i2c_dev            40 sound/i2c/other/pt2258.c 	if (snd_i2c_sendbytes(pt->i2c_dev, bytes, 1) != 1)
i2c_dev            48 sound/i2c/other/pt2258.c 	if (snd_i2c_sendbytes(pt->i2c_dev, bytes, 1) != 1)
i2c_dev            58 sound/i2c/other/pt2258.c 	if (snd_i2c_sendbytes(pt->i2c_dev, bytes, 2) != 2)
i2c_dev           111 sound/i2c/other/pt2258.c 	if (snd_i2c_sendbytes(pt->i2c_dev, bytes, 2) != 2)
i2c_dev           119 sound/i2c/other/pt2258.c 	if (snd_i2c_sendbytes(pt->i2c_dev, bytes, 2) != 2)
i2c_dev           156 sound/i2c/other/pt2258.c 	if (snd_i2c_sendbytes(pt->i2c_dev, bytes, 1) != 1)
i2c_dev           170 sound/pci/ice1712/revo.c 	pt->i2c_dev = spec->dev;
i2c_dev           764 sound/soc/intel/boards/bytcr_rt5640.c 	struct device *i2c_dev;
i2c_dev           767 sound/soc/intel/boards/bytcr_rt5640.c 	i2c_dev = bus_find_device_by_name(&i2c_bus_type, NULL, i2c_dev_name);
i2c_dev           768 sound/soc/intel/boards/bytcr_rt5640.c 	if (!i2c_dev)
i2c_dev           809 sound/soc/intel/boards/bytcr_rt5640.c 	ret = device_add_properties(i2c_dev, props);
i2c_dev           810 sound/soc/intel/boards/bytcr_rt5640.c 	put_device(i2c_dev);
i2c_dev           517 sound/soc/intel/boards/bytcr_rt5651.c static int byt_rt5651_add_codec_device_props(struct device *i2c_dev)
i2c_dev           537 sound/soc/intel/boards/bytcr_rt5651.c 	return device_add_properties(i2c_dev, props);