Lines Matching refs:mcp
23 #define to_mcp(d) container_of(d, struct mcp, attached_device)
33 struct mcp *mcp = to_mcp(dev); in mcp_bus_probe() local
36 return drv->probe(mcp); in mcp_bus_probe()
41 struct mcp *mcp = to_mcp(dev); in mcp_bus_remove() local
44 drv->remove(mcp); in mcp_bus_remove()
63 void mcp_set_telecom_divisor(struct mcp *mcp, unsigned int div) in mcp_set_telecom_divisor() argument
67 spin_lock_irqsave(&mcp->lock, flags); in mcp_set_telecom_divisor()
68 mcp->ops->set_telecom_divisor(mcp, div); in mcp_set_telecom_divisor()
69 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_set_telecom_divisor()
80 void mcp_set_audio_divisor(struct mcp *mcp, unsigned int div) in mcp_set_audio_divisor() argument
84 spin_lock_irqsave(&mcp->lock, flags); in mcp_set_audio_divisor()
85 mcp->ops->set_audio_divisor(mcp, div); in mcp_set_audio_divisor()
86 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_set_audio_divisor()
99 void mcp_reg_write(struct mcp *mcp, unsigned int reg, unsigned int val) in mcp_reg_write() argument
103 spin_lock_irqsave(&mcp->lock, flags); in mcp_reg_write()
104 mcp->ops->reg_write(mcp, reg, val); in mcp_reg_write()
105 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_reg_write()
117 unsigned int mcp_reg_read(struct mcp *mcp, unsigned int reg) in mcp_reg_read() argument
122 spin_lock_irqsave(&mcp->lock, flags); in mcp_reg_read()
123 val = mcp->ops->reg_read(mcp, reg); in mcp_reg_read()
124 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_reg_read()
137 void mcp_enable(struct mcp *mcp) in mcp_enable() argument
140 spin_lock_irqsave(&mcp->lock, flags); in mcp_enable()
141 if (mcp->use_count++ == 0) in mcp_enable()
142 mcp->ops->enable(mcp); in mcp_enable()
143 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_enable()
155 void mcp_disable(struct mcp *mcp) in mcp_disable() argument
159 spin_lock_irqsave(&mcp->lock, flags); in mcp_disable()
160 if (--mcp->use_count == 0) in mcp_disable()
161 mcp->ops->disable(mcp); in mcp_disable()
162 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_disable()
168 struct mcp *mcp = container_of(dev, struct mcp, attached_device); in mcp_release() local
170 kfree(mcp); in mcp_release()
173 struct mcp *mcp_host_alloc(struct device *parent, size_t size) in mcp_host_alloc()
175 struct mcp *mcp; in mcp_host_alloc() local
177 mcp = kzalloc(sizeof(struct mcp) + size, GFP_KERNEL); in mcp_host_alloc()
178 if (mcp) { in mcp_host_alloc()
179 spin_lock_init(&mcp->lock); in mcp_host_alloc()
180 device_initialize(&mcp->attached_device); in mcp_host_alloc()
181 mcp->attached_device.parent = parent; in mcp_host_alloc()
182 mcp->attached_device.bus = &mcp_bus_type; in mcp_host_alloc()
183 mcp->attached_device.dma_mask = parent->dma_mask; in mcp_host_alloc()
184 mcp->attached_device.release = mcp_release; in mcp_host_alloc()
186 return mcp; in mcp_host_alloc()
190 int mcp_host_add(struct mcp *mcp, void *pdata) in mcp_host_add() argument
192 mcp->attached_device.platform_data = pdata; in mcp_host_add()
193 dev_set_name(&mcp->attached_device, "mcp0"); in mcp_host_add()
194 return device_add(&mcp->attached_device); in mcp_host_add()
198 void mcp_host_del(struct mcp *mcp) in mcp_host_del() argument
200 device_del(&mcp->attached_device); in mcp_host_del()
204 void mcp_host_free(struct mcp *mcp) in mcp_host_free() argument
206 put_device(&mcp->attached_device); in mcp_host_free()