On Tue, Dec 27, 2011 at 06:16:34PM +0800, Ying-Chun Liu (PaulLiu) wrote:
- initdata = pdev->dev.platform_data;
- sreg = initdata->driver_data;
- spin_lock_init(&sreg->lock);
You don't actually appear to use this, though it looks like you need to do something to protect against simultaneous access to the registers.
+struct anatop_regulator {
struct regulator_desc regulator;struct anatop_regulator *parent;struct anatop_regulator_data *rdata;struct completion done;spinlock_t lock;struct notifier_block nb;
You aren't using half the things in this structure.