On 03/29/2012 09:40 PM, Viresh Kumar wrote: > We don't need to allocate memory for keymap in matrix_keyboard_of_fill_keymap(), > as this would only be used by matrix_keyboard_of_free_keymap(). Instead create > another routine matrix_keypad_of_build_keymap() which reads directly the > property from struct device_node and builds keymap. > > With this eariler routines matrix_keyboard_of_fill_keymap() and > matrix_keyboard_of_free_keymap() go away. > > This patch also fixes tegra driver according to these changes. > > Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxx> The error checking looks good now, so once the issues mentioned below are fixed: Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> > diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c ... > #else > -static inline struct tegra_kbc_platform_data *tegra_kbc_dt_parse_pdata( > - struct platform_device *pdev) > +static struct tegra_kbc_platform_data * __devinit > +tegra_kbc_dt_parse_pdata(struct device_node *np) This one should be "inline" and not "__devinit", i.e. like it was before. > diff --git a/include/linux/input/matrix_keypad.h b/include/linux/input/matrix_keypad.h ... > #else > -static inline struct matrix_keymap_data * > -matrix_keyboard_of_fill_keymap(struct device_node *np, const char *propname) > +int matrix_keypad_of_build_keymap(struct input_dev *idev, > + unsigned int row_shift, const char *propname) > { > return NULL; > } This one should also be "static inline". -- 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