Lines Matching refs:chan
25 struct gma_i2c_chan *chan = data;
26 struct drm_device *dev = chan->drm_dev;
29 val = REG_READ(chan->reg);
35 struct gma_i2c_chan *chan = data;
36 struct drm_device *dev = chan->drm_dev;
39 val = REG_READ(chan->reg);
45 struct gma_i2c_chan *chan = data;
46 struct drm_device *dev = chan->drm_dev;
51 REG_READ(chan->reg) & (GPIO_DATA_PULLUP_DISABLE |
59 REG_WRITE(chan->reg, reserved | clock_bits);
65 struct gma_i2c_chan *chan = data;
66 struct drm_device *dev = chan->drm_dev;
71 REG_READ(chan->reg) & (GPIO_DATA_PULLUP_DISABLE |
81 REG_WRITE(chan->reg, reserved | data_bits);
108 struct gma_i2c_chan *chan;
110 chan = kzalloc(sizeof(struct gma_i2c_chan), GFP_KERNEL);
111 if (!chan)
114 chan->drm_dev = dev;
115 chan->reg = reg;
116 snprintf(chan->base.name, I2C_NAME_SIZE, "intel drm %s", name);
117 chan->base.owner = THIS_MODULE;
118 chan->base.algo_data = &chan->algo;
119 chan->base.dev.parent = dev->dev;
120 chan->algo.setsda = set_data;
121 chan->algo.setscl = set_clock;
122 chan->algo.getsda = get_data;
123 chan->algo.getscl = get_clock;
124 chan->algo.udelay = 20;
125 chan->algo.timeout = usecs_to_jiffies(2200);
126 chan->algo.data = chan;
128 i2c_set_adapdata(&chan->base, chan);
130 if (i2c_bit_add_bus(&chan->base))
134 set_data(chan, 1);
135 set_clock(chan, 1);
138 return chan;
141 kfree(chan);
147 * @chan: channel to free
151 void gma_i2c_destroy(struct gma_i2c_chan *chan)
153 if (!chan)
156 i2c_del_adapter(&chan->base);
157 kfree(chan);