Lines Matching refs:i2c
62 struct mga_i2c_chan *i2c = data; in mga_gpio_setsda() local
63 struct mga_device *mdev = i2c->dev->dev_private; in mga_gpio_setsda()
64 mga_i2c_set(mdev, i2c->data, state); in mga_gpio_setsda()
69 struct mga_i2c_chan *i2c = data; in mga_gpio_setscl() local
70 struct mga_device *mdev = i2c->dev->dev_private; in mga_gpio_setscl()
71 mga_i2c_set(mdev, i2c->clock, state); in mga_gpio_setscl()
76 struct mga_i2c_chan *i2c = data; in mga_gpio_getsda() local
77 struct mga_device *mdev = i2c->dev->dev_private; in mga_gpio_getsda()
78 return (mga_i2c_read_gpio(mdev) & i2c->data) ? 1 : 0; in mga_gpio_getsda()
83 struct mga_i2c_chan *i2c = data; in mga_gpio_getscl() local
84 struct mga_device *mdev = i2c->dev->dev_private; in mga_gpio_getscl()
85 return (mga_i2c_read_gpio(mdev) & i2c->clock) ? 1 : 0; in mga_gpio_getscl()
91 struct mga_i2c_chan *i2c; in mgag200_i2c_create() local
118 i2c = kzalloc(sizeof(struct mga_i2c_chan), GFP_KERNEL); in mgag200_i2c_create()
119 if (!i2c) in mgag200_i2c_create()
122 i2c->data = data; in mgag200_i2c_create()
123 i2c->clock = clock; in mgag200_i2c_create()
124 i2c->adapter.owner = THIS_MODULE; in mgag200_i2c_create()
125 i2c->adapter.class = I2C_CLASS_DDC; in mgag200_i2c_create()
126 i2c->adapter.dev.parent = &dev->pdev->dev; in mgag200_i2c_create()
127 i2c->dev = dev; in mgag200_i2c_create()
128 i2c_set_adapdata(&i2c->adapter, i2c); in mgag200_i2c_create()
129 snprintf(i2c->adapter.name, sizeof(i2c->adapter.name), "mga i2c"); in mgag200_i2c_create()
131 i2c->adapter.algo_data = &i2c->bit; in mgag200_i2c_create()
133 i2c->bit.udelay = 10; in mgag200_i2c_create()
134 i2c->bit.timeout = 2; in mgag200_i2c_create()
135 i2c->bit.data = i2c; in mgag200_i2c_create()
136 i2c->bit.setsda = mga_gpio_setsda; in mgag200_i2c_create()
137 i2c->bit.setscl = mga_gpio_setscl; in mgag200_i2c_create()
138 i2c->bit.getsda = mga_gpio_getsda; in mgag200_i2c_create()
139 i2c->bit.getscl = mga_gpio_getscl; in mgag200_i2c_create()
141 ret = i2c_bit_add_bus(&i2c->adapter); in mgag200_i2c_create()
143 kfree(i2c); in mgag200_i2c_create()
144 i2c = NULL; in mgag200_i2c_create()
146 return i2c; in mgag200_i2c_create()
149 void mgag200_i2c_destroy(struct mga_i2c_chan *i2c) in mgag200_i2c_destroy() argument
151 if (!i2c) in mgag200_i2c_destroy()
153 i2c_del_adapter(&i2c->adapter); in mgag200_i2c_destroy()
154 kfree(i2c); in mgag200_i2c_destroy()