Lines Matching refs:i2c
34 struct i2c_versatile *i2c = data; in i2c_versatile_setsda() local
36 writel(SDA, i2c->base + (state ? I2C_CONTROLS : I2C_CONTROLC)); in i2c_versatile_setsda()
41 struct i2c_versatile *i2c = data; in i2c_versatile_setscl() local
43 writel(SCL, i2c->base + (state ? I2C_CONTROLS : I2C_CONTROLC)); in i2c_versatile_setscl()
48 struct i2c_versatile *i2c = data; in i2c_versatile_getsda() local
49 return !!(readl(i2c->base + I2C_CONTROL) & SDA); in i2c_versatile_getsda()
54 struct i2c_versatile *i2c = data; in i2c_versatile_getscl() local
55 return !!(readl(i2c->base + I2C_CONTROL) & SCL); in i2c_versatile_getscl()
69 struct i2c_versatile *i2c; in i2c_versatile_probe() local
84 i2c = kzalloc(sizeof(struct i2c_versatile), GFP_KERNEL); in i2c_versatile_probe()
85 if (!i2c) { in i2c_versatile_probe()
90 i2c->base = ioremap(r->start, r->end - r->start + 1); in i2c_versatile_probe()
91 if (!i2c->base) { in i2c_versatile_probe()
96 writel(SCL | SDA, i2c->base + I2C_CONTROLS); in i2c_versatile_probe()
98 i2c->adap.owner = THIS_MODULE; in i2c_versatile_probe()
99 strlcpy(i2c->adap.name, "Versatile I2C adapter", sizeof(i2c->adap.name)); in i2c_versatile_probe()
100 i2c->adap.algo_data = &i2c->algo; in i2c_versatile_probe()
101 i2c->adap.dev.parent = &dev->dev; in i2c_versatile_probe()
102 i2c->algo = i2c_versatile_algo; in i2c_versatile_probe()
103 i2c->algo.data = i2c; in i2c_versatile_probe()
105 ret = i2c_bit_add_bus(&i2c->adap); in i2c_versatile_probe()
107 platform_set_drvdata(dev, i2c); in i2c_versatile_probe()
111 iounmap(i2c->base); in i2c_versatile_probe()
113 kfree(i2c); in i2c_versatile_probe()
122 struct i2c_versatile *i2c = platform_get_drvdata(dev); in i2c_versatile_remove() local
126 i2c_del_adapter(&i2c->adap); in i2c_versatile_remove()