On Tue, Jan 25, 2011 at 07:46:57PM -0800, Stephen Warren wrote:
With the existing soc-audio structure, one has to:
platform_set_drvdata(harmony_snd_device, &snd_soc_harmony);
I assume there's no need for this when registering via snd_soc_register_card; In other words, I'm free to use dev_set_drvdata on the platform_device/device so I can get rid of all the globals in harmony.y while I'm at it?
I do see some internal use of set_drvdata/get_drvdata in soc-core.c. It looks like that's restricted to when the soc-audio platform_device is used, but I don't know if that's just co-incidence, or if it's a guarantee of the API. Can you confirm this?
Oh, bah. The code is currently broken - suspend and resume are still using the platform device. I'll post a patch later today which removes this requirement and adds callbacks for you to use.