Lines Matching refs:mcp
20 #define to_mcp(d) container_of(d, struct mcp, attached_device)
30 struct mcp *mcp = to_mcp(dev); in mcp_bus_probe() local
33 return drv->probe(mcp); in mcp_bus_probe()
38 struct mcp *mcp = to_mcp(dev); in mcp_bus_remove() local
41 drv->remove(mcp); in mcp_bus_remove()
60 void mcp_set_telecom_divisor(struct mcp *mcp, unsigned int div) in mcp_set_telecom_divisor() argument
64 spin_lock_irqsave(&mcp->lock, flags); in mcp_set_telecom_divisor()
65 mcp->ops->set_telecom_divisor(mcp, div); in mcp_set_telecom_divisor()
66 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_set_telecom_divisor()
77 void mcp_set_audio_divisor(struct mcp *mcp, unsigned int div) in mcp_set_audio_divisor() argument
81 spin_lock_irqsave(&mcp->lock, flags); in mcp_set_audio_divisor()
82 mcp->ops->set_audio_divisor(mcp, div); in mcp_set_audio_divisor()
83 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_set_audio_divisor()
96 void mcp_reg_write(struct mcp *mcp, unsigned int reg, unsigned int val) in mcp_reg_write() argument
100 spin_lock_irqsave(&mcp->lock, flags); in mcp_reg_write()
101 mcp->ops->reg_write(mcp, reg, val); in mcp_reg_write()
102 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_reg_write()
114 unsigned int mcp_reg_read(struct mcp *mcp, unsigned int reg) in mcp_reg_read() argument
119 spin_lock_irqsave(&mcp->lock, flags); in mcp_reg_read()
120 val = mcp->ops->reg_read(mcp, reg); in mcp_reg_read()
121 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_reg_read()
134 void mcp_enable(struct mcp *mcp) in mcp_enable() argument
138 spin_lock_irqsave(&mcp->lock, flags); in mcp_enable()
139 if (mcp->use_count++ == 0) in mcp_enable()
140 mcp->ops->enable(mcp); in mcp_enable()
141 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_enable()
153 void mcp_disable(struct mcp *mcp) in mcp_disable() argument
157 spin_lock_irqsave(&mcp->lock, flags); in mcp_disable()
158 if (--mcp->use_count == 0) in mcp_disable()
159 mcp->ops->disable(mcp); in mcp_disable()
160 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_disable()
166 struct mcp *mcp = container_of(dev, struct mcp, attached_device); in mcp_release() local
168 kfree(mcp); in mcp_release()
171 struct mcp *mcp_host_alloc(struct device *parent, size_t size) in mcp_host_alloc()
173 struct mcp *mcp; in mcp_host_alloc() local
175 mcp = kzalloc(sizeof(struct mcp) + size, GFP_KERNEL); in mcp_host_alloc()
176 if (mcp) { in mcp_host_alloc()
177 spin_lock_init(&mcp->lock); in mcp_host_alloc()
178 device_initialize(&mcp->attached_device); in mcp_host_alloc()
179 mcp->attached_device.parent = parent; in mcp_host_alloc()
180 mcp->attached_device.bus = &mcp_bus_type; in mcp_host_alloc()
181 mcp->attached_device.dma_mask = parent->dma_mask; in mcp_host_alloc()
182 mcp->attached_device.release = mcp_release; in mcp_host_alloc()
184 return mcp; in mcp_host_alloc()
188 int mcp_host_add(struct mcp *mcp, void *pdata) in mcp_host_add() argument
190 mcp->attached_device.platform_data = pdata; in mcp_host_add()
191 dev_set_name(&mcp->attached_device, "mcp0"); in mcp_host_add()
192 return device_add(&mcp->attached_device); in mcp_host_add()
196 void mcp_host_del(struct mcp *mcp) in mcp_host_del() argument
198 device_del(&mcp->attached_device); in mcp_host_del()
202 void mcp_host_free(struct mcp *mcp) in mcp_host_free() argument
204 put_device(&mcp->attached_device); in mcp_host_free()