[alsa-devel] [PATCH] Palm interrupt driven touchscreen driver
Takashi Iwai
tiwai at suse.de
Fri Jun 5 12:05:11 CEST 2009
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
More information about the Alsa-devel
mailing list