At Fri, 5 Jun 2009 10:30:02 +0100, Mark Brown wrote: > > On Fri, Jun 05, 2009 at 11:16:12AM +0200, Takashi Iwai wrote: > > > I couldn't find it. But IIRC, the original patch was to add "int irq" > > field to struct snd_ac97. I would accept it because it can do any > > harm. > > Ah, yes - I do remember that proposal. The problem with that is that it > doesn't scale up to all the platform data you might want to pass in. > The WM97xx battery and touchscreen drivers are the main things I'm > interested in here - the platform data for the WM97xx touch driver is > struct wm97xx_mach_ops in include/linux/wm97xx.h for example. > > > But, adding a generic "void *driver_data" instead of "int irq" can > > play a bad game. It can be dangerous when the creator and the user of > > this pointer are different drivers. That was my argument. > > There is potential risk involved in these interfaces but it's the > standard idiom for doing this on embedded systems. The buses definitely > don't want to know anything about the random data that drivers may need > and since you're not dealing with pluggable or variable hardware in the > same way as you do on PCs the risks of mismatched data aren't such a big > deal - you'd generally only be able to encounter problems if you're > building your own kernel. Well, but you know that can be broken :) BTW, can't it be simply driver_data/platform_data of ac97.dev...? Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel