• Home
  • Raw
  • Download

Lines Matching refs:i2c

46 	struct i2c_pca_pf_data *i2c = pd;  in i2c_pca_pf_readbyte8()  local
47 return ioread8(i2c->reg_base + reg); in i2c_pca_pf_readbyte8()
52 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte16() local
53 return ioread8(i2c->reg_base + reg * 2); in i2c_pca_pf_readbyte16()
58 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte32() local
59 return ioread8(i2c->reg_base + reg * 4); in i2c_pca_pf_readbyte32()
64 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_writebyte8() local
65 iowrite8(val, i2c->reg_base + reg); in i2c_pca_pf_writebyte8()
70 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_writebyte16() local
71 iowrite8(val, i2c->reg_base + reg * 2); in i2c_pca_pf_writebyte16()
76 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_writebyte32() local
77 iowrite8(val, i2c->reg_base + reg * 4); in i2c_pca_pf_writebyte32()
83 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_waitforcompletion() local
86 if (i2c->irq) { in i2c_pca_pf_waitforcompletion()
87 ret = wait_event_interruptible(i2c->wait, in i2c_pca_pf_waitforcompletion()
88 i2c->algo_data.read_byte(i2c, I2C_PCA_CON) in i2c_pca_pf_waitforcompletion()
96 while ((i2c->algo_data.read_byte(i2c, I2C_PCA_CON) in i2c_pca_pf_waitforcompletion()
106 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_dummyreset() local
108 i2c->adap.name); in i2c_pca_pf_dummyreset()
113 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_resetchip() local
115 gpio_set_value(i2c->gpio, 0); in i2c_pca_pf_resetchip()
117 gpio_set_value(i2c->gpio, 1); in i2c_pca_pf_resetchip()
122 struct i2c_pca_pf_data *i2c = dev_id; in i2c_pca_pf_handler() local
124 if ((i2c->algo_data.read_byte(i2c, I2C_PCA_CON) & I2C_PCA_CON_SI) == 0) in i2c_pca_pf_handler()
127 wake_up_interruptible(&i2c->wait); in i2c_pca_pf_handler()
135 struct i2c_pca_pf_data *i2c; in i2c_pca_pf_probe() local
156 i2c = kzalloc(sizeof(struct i2c_pca_pf_data), GFP_KERNEL); in i2c_pca_pf_probe()
157 if (!i2c) { in i2c_pca_pf_probe()
162 init_waitqueue_head(&i2c->wait); in i2c_pca_pf_probe()
164 i2c->reg_base = ioremap(res->start, res_len(res)); in i2c_pca_pf_probe()
165 if (!i2c->reg_base) { in i2c_pca_pf_probe()
169 i2c->io_base = res->start; in i2c_pca_pf_probe()
170 i2c->io_size = res_len(res); in i2c_pca_pf_probe()
171 i2c->irq = irq; in i2c_pca_pf_probe()
173 i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0; in i2c_pca_pf_probe()
174 i2c->adap.owner = THIS_MODULE; in i2c_pca_pf_probe()
175 snprintf(i2c->adap.name, sizeof(i2c->adap.name), "PCA9564 at 0x%08lx", in i2c_pca_pf_probe()
177 i2c->adap.algo_data = &i2c->algo_data; in i2c_pca_pf_probe()
178 i2c->adap.dev.parent = &pdev->dev; in i2c_pca_pf_probe()
179 i2c->adap.timeout = platform_data->timeout; in i2c_pca_pf_probe()
181 i2c->algo_data.i2c_clock = platform_data->i2c_clock_speed; in i2c_pca_pf_probe()
182 i2c->algo_data.data = i2c; in i2c_pca_pf_probe()
186 i2c->algo_data.write_byte = i2c_pca_pf_writebyte32; in i2c_pca_pf_probe()
187 i2c->algo_data.read_byte = i2c_pca_pf_readbyte32; in i2c_pca_pf_probe()
190 i2c->algo_data.write_byte = i2c_pca_pf_writebyte16; in i2c_pca_pf_probe()
191 i2c->algo_data.read_byte = i2c_pca_pf_readbyte16; in i2c_pca_pf_probe()
195 i2c->algo_data.write_byte = i2c_pca_pf_writebyte8; in i2c_pca_pf_probe()
196 i2c->algo_data.read_byte = i2c_pca_pf_readbyte8; in i2c_pca_pf_probe()
200 i2c->algo_data.wait_for_completion = i2c_pca_pf_waitforcompletion; in i2c_pca_pf_probe()
202 i2c->gpio = platform_data->gpio; in i2c_pca_pf_probe()
203 i2c->algo_data.reset_chip = i2c_pca_pf_dummyreset; in i2c_pca_pf_probe()
206 if (i2c->gpio > -1) { in i2c_pca_pf_probe()
207 ret = gpio_request(i2c->gpio, i2c->adap.name); in i2c_pca_pf_probe()
209 gpio_direction_output(i2c->gpio, 1); in i2c_pca_pf_probe()
210 i2c->algo_data.reset_chip = i2c_pca_pf_resetchip; in i2c_pca_pf_probe()
213 i2c->adap.name); in i2c_pca_pf_probe()
214 i2c->gpio = ret; in i2c_pca_pf_probe()
220 IRQF_TRIGGER_FALLING, i2c->adap.name, i2c); in i2c_pca_pf_probe()
225 if (i2c_pca_add_numbered_bus(&i2c->adap) < 0) { in i2c_pca_pf_probe()
230 platform_set_drvdata(pdev, i2c); in i2c_pca_pf_probe()
232 printk(KERN_INFO "%s registered.\n", i2c->adap.name); in i2c_pca_pf_probe()
238 free_irq(irq, i2c); in i2c_pca_pf_probe()
240 if (i2c->gpio > -1) in i2c_pca_pf_probe()
241 gpio_free(i2c->gpio); in i2c_pca_pf_probe()
243 iounmap(i2c->reg_base); in i2c_pca_pf_probe()
245 kfree(i2c); in i2c_pca_pf_probe()
255 struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev); in i2c_pca_pf_remove() local
258 i2c_del_adapter(&i2c->adap); in i2c_pca_pf_remove()
260 if (i2c->irq) in i2c_pca_pf_remove()
261 free_irq(i2c->irq, i2c); in i2c_pca_pf_remove()
263 if (i2c->gpio > -1) in i2c_pca_pf_remove()
264 gpio_free(i2c->gpio); in i2c_pca_pf_remove()
266 iounmap(i2c->reg_base); in i2c_pca_pf_remove()
267 release_mem_region(i2c->io_base, i2c->io_size); in i2c_pca_pf_remove()
268 kfree(i2c); in i2c_pca_pf_remove()