Hi Eric, On Thu, Jul 9, 2009 at 3:16 PM, Eric Miao<eric.y.miao@xxxxxxxxx> wrote: > Dmitry Torokhov wrote: >> Hi Eric, >> >> On Fri, Jun 12, 2009 at 09:26:43PM +0800, Eric Miao wrote: >>> Hi Dmitry, >>> >>> I've tested the driver code, and it's basically OK except for two minor >>> fixes: >>> >>> 1) GPIO and IRQs have to be initialized before input_register_device(), >>> otherwise input->open() will be invoked before that, which will schedule >>> an immediate scan work and fail. >>> >>> 2) disable_irq_rows() called in init_matrix_gpio() so that by default it's >>> initialized to disabled - and will be enabled by input->open() >>> >> >> Could you please take a look at the driver as it is commited to >> 'for-linus' branch of my tree and let me know if you see anything wrong >> there? Otherwise I inted to submit it in my next update to Linus. >> > > Sorry Dmitry, > > Reply so late and til now I have some time to test this. The patch there > still has at least one issue I guess - the keycodes[] allocation size > should be MATRIX_MAX_ROWS * MATRIX_MAX_COLS if I understand correctly. > > I'm experiencing a problem of keypad->pdata being overwritten, and found > keycodes are actually accessed by [(row << 4) + col], so that should be > a full range. > > And one more minor issue that may not be significant is the hardcoding of > the '4' in this (row << 4). I had pointed out this. We should probably do fls(MATRIX_MAX_COLS) there. -- ---Trilok Soni http://triloksoni.wordpress.com http://www.linkedin.com/in/triloksoni -- 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