Messages in this thread | | | From | Dmitry Torokhov <> | Subject | Re: [patch 08/28] Input: prepare to sysfs integration | Date | Thu, 6 Oct 2005 22:58:07 -0500 |
| |
On Thursday 06 October 2005 18:05, Vojtech Pavlik wrote: > On Thu, Oct 06, 2005 at 12:46:59PM -0500, Dmitry Torokhov wrote: > > On 10/5/05, Greg KH <gregkh@suse.de> wrote: > > > On Wed, Oct 05, 2005 at 05:17:00PM -0500, Dmitry Torokhov wrote: > > > > > > > The reason is that I want to change input_allocate_device to take > > > > bitmap of supported events. This way I could allocate ABS tables > > > > dynamically at the same time I allocate input_dev itself and it will > > > > simplify error handling logic in drivers and it will save I think 1260 > > > > bytes per input_dev structure which is nice. And I don't want to go > > > > through all subsystems yet again soI want to fold into my input > > > > dynalloc patch... > > > > > > That sounds good. > > > > > > > Well, I tried implementing the proposal above and interface came out > > pretty awkward to use. My next option is to move abs table into > > "->private" structure, much like keytable was moved, or (for HID-like > > devices) allocate it when actually needed and adjust individual > > drivers. So I guess the patches that you have right now are good after > > all. > > The problem is that the ->abs tables are accessed in the input core and > in the handlers, too, which means they have to share the lifetime rules > with the input_dev struct itself. > > That means we probably have a problem with the drivers deallocating the > keytable, while the device still exists, because there is a reference to > it from say sysfs, and keyboard.c tries to access the keytable because > of an ioctl. >
Not necessarily, you just need to make sure that you don't try to access these fields when input_dev is "half-dead". But we have many issues with locking/lifetime rules in input core so that's just another item that needs to be considered.
I wanted to get basic sysfs support in and then work on locking...
-- Dmitry - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |