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()
59 void mcp_set_telecom_divisor(struct mcp *mcp, unsigned int div) in mcp_set_telecom_divisor() argument
63 spin_lock_irqsave(&mcp->lock, flags); in mcp_set_telecom_divisor()
64 mcp->ops->set_telecom_divisor(mcp, div); in mcp_set_telecom_divisor()
65 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_set_telecom_divisor()
76 void mcp_set_audio_divisor(struct mcp *mcp, unsigned int div) in mcp_set_audio_divisor() argument
80 spin_lock_irqsave(&mcp->lock, flags); in mcp_set_audio_divisor()
81 mcp->ops->set_audio_divisor(mcp, div); in mcp_set_audio_divisor()
82 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_set_audio_divisor()
95 void mcp_reg_write(struct mcp *mcp, unsigned int reg, unsigned int val) in mcp_reg_write() argument
99 spin_lock_irqsave(&mcp->lock, flags); in mcp_reg_write()
100 mcp->ops->reg_write(mcp, reg, val); in mcp_reg_write()
101 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_reg_write()
113 unsigned int mcp_reg_read(struct mcp *mcp, unsigned int reg) in mcp_reg_read() argument
118 spin_lock_irqsave(&mcp->lock, flags); in mcp_reg_read()
119 val = mcp->ops->reg_read(mcp, reg); in mcp_reg_read()
120 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_reg_read()
133 void mcp_enable(struct mcp *mcp) in mcp_enable() argument
137 spin_lock_irqsave(&mcp->lock, flags); in mcp_enable()
138 if (mcp->use_count++ == 0) in mcp_enable()
139 mcp->ops->enable(mcp); in mcp_enable()
140 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_enable()
152 void mcp_disable(struct mcp *mcp) in mcp_disable() argument
156 spin_lock_irqsave(&mcp->lock, flags); in mcp_disable()
157 if (--mcp->use_count == 0) in mcp_disable()
158 mcp->ops->disable(mcp); in mcp_disable()
159 spin_unlock_irqrestore(&mcp->lock, flags); in mcp_disable()
165 struct mcp *mcp = container_of(dev, struct mcp, attached_device); in mcp_release() local
167 kfree(mcp); in mcp_release()
170 struct mcp *mcp_host_alloc(struct device *parent, size_t size) in mcp_host_alloc()
172 struct mcp *mcp; in mcp_host_alloc() local
174 mcp = kzalloc(sizeof(struct mcp) + size, GFP_KERNEL); in mcp_host_alloc()
175 if (mcp) { in mcp_host_alloc()
176 spin_lock_init(&mcp->lock); in mcp_host_alloc()
177 device_initialize(&mcp->attached_device); in mcp_host_alloc()
178 mcp->attached_device.parent = parent; in mcp_host_alloc()
179 mcp->attached_device.bus = &mcp_bus_type; in mcp_host_alloc()
180 mcp->attached_device.dma_mask = parent->dma_mask; in mcp_host_alloc()
181 mcp->attached_device.release = mcp_release; in mcp_host_alloc()
183 return mcp; in mcp_host_alloc()
187 int mcp_host_add(struct mcp *mcp, void *pdata) in mcp_host_add() argument
189 mcp->attached_device.platform_data = pdata; in mcp_host_add()
190 dev_set_name(&mcp->attached_device, "mcp0"); in mcp_host_add()
191 return device_add(&mcp->attached_device); in mcp_host_add()
195 void mcp_host_del(struct mcp *mcp) in mcp_host_del() argument
197 device_del(&mcp->attached_device); in mcp_host_del()
201 void mcp_host_free(struct mcp *mcp) in mcp_host_free() argument
203 put_device(&mcp->attached_device); in mcp_host_free()