Mika Westerberg <ext-mika.1.westerberg@xxxxxxxxx> writes: > On Tue, Nov 24, 2009 at 12:05:57PM +0100, ext Ferenc Wagner wrote: > >>>> Or let for example -1 mean 0, which is ugly, to say the least. >>> >>> How about adding (again) new field: bool custom_irqflags? >> >> Thinking about it, since multiple buttons can share a single IRQ, this >> can't be a per-button field after all. Perhaps a better solution would >> be adding a new mapping to the platform data: >> >> struct gpio_keys_irq { >> int irq; >> int irqflags; >> int wakeup; /* replace the per-button field */ >> } >> >> struct gpio_keys_platform_data { >> struct gpio_keys_button *buttons; >> int nbuttons; >> unsigned int rep:1; >> struct gpio_keys_irq *irqs; /* new member */ >> int nirqs; /* new member */ >> }; > > OK. This seems reasonable. But mind the comment below. >>> In our case, we only have 1:1 mapping between GPIO lines and buttons >>> so current version works but if there are any (possible) users for >>> this kind of setup I can implement it. >> >> I quoted (and own) a platform with such arrangement. I'm somewhat >> short on time to work on this hobby project, but of course I don't >> expect you to do the heavy lifting. Unfortunately I haven't yet >> managed to get a clear picture about how to properly attack it (the >> problem is GPIO access from the IRQ handler, if you didn't read the >> thread), so I couldn't produce acceptable code (even though in my >> case gpio_get_value can't sleep, so I've got working code). >> Meanwhile, I'm trying to do my best to not let things go in a >> direction which makes this change harder that it currently is. I'm >> really sorry this hurts your efforts. > > Thanks for clarifying things. It really don't hurt my efforts; I get > paid for doing this :) > > So I'll try to implement this gpio-keys muting so that it allows > also multiple buttons to share single IRQ line. Thanks. But you'd better wait for Dmitry's response, because I'm by no means authoritative in this business. -- Regards, Feri. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html