Message ID | 20210316133534.224105-1-festevam@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] Input: imx_keypad - convert to a DT-only driver | expand |
Hi Dmitry, On Tue, Mar 16, 2021 at 10:36 AM Fabio Estevam <festevam@gmail.com> wrote: > > i.MX has been converted to a DT-only platform, so make the > adjustments to the driver to convert it to a DT-only driver. > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > --- > Changes since v1: > - Remove dev_get_platdata() and the pdev->dev.of_node check (Dmitry). Does v2 look good? Thanks
Hi Fabio, On Sat, Mar 27, 2021 at 04:14:46PM -0300, Fabio Estevam wrote: > Hi Dmitry, > > On Tue, Mar 16, 2021 at 10:36 AM Fabio Estevam <festevam@gmail.com> wrote: > > > > i.MX has been converted to a DT-only platform, so make the > > adjustments to the driver to convert it to a DT-only driver. > > > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > > --- > > Changes since v1: > > - Remove dev_get_platdata() and the pdev->dev.of_node check (Dmitry). > > Does v2 look good? Sorry, I am still confused why we need the OF dependency given that the driver can be compiled without CONFIG_OF (of_device_id is always defined) and, as far as I understand, while entire ARCH_MXC is not selecting OF, all real users are converted to OF. I guess if we really need this OF dependency we can make it: depends on (ARCH_MXC && OF) || COMPILE_TEST Please let me know. Thanks.
Hi Dmitry, On Sat, Mar 27, 2021 at 4:37 PM Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > Sorry, I am still confused why we need the OF dependency given that the > driver can be compiled without CONFIG_OF (of_device_id is always > defined) and, as far as I understand, while entire ARCH_MXC is not > selecting OF, all real users are converted to OF. > > I guess if we really need this OF dependency we can make it: > > depends on (ARCH_MXC && OF) || COMPILE_TEST > > Please let me know. You are correct. There is no need to add the OF dependency. I have just submitted v3 without it. Thanks
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 32d15809ae58..bef0c06ef2a9 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig @@ -458,6 +458,7 @@ config KEYBOARD_SNVS_PWRKEY config KEYBOARD_IMX tristate "IMX keypad support" depends on ARCH_MXC || COMPILE_TEST + depends on OF select INPUT_MATRIXKMAP help Enable support for IMX keypad port. diff --git a/drivers/input/keyboard/imx_keypad.c b/drivers/input/keyboard/imx_keypad.c index 1f5c9ea5e9e5..ae9303848571 100644 --- a/drivers/input/keyboard/imx_keypad.c +++ b/drivers/input/keyboard/imx_keypad.c @@ -408,27 +408,18 @@ static int imx_keypad_open(struct input_dev *dev) return -EIO; } -#ifdef CONFIG_OF static const struct of_device_id imx_keypad_of_match[] = { { .compatible = "fsl,imx21-kpp", }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, imx_keypad_of_match); -#endif static int imx_keypad_probe(struct platform_device *pdev) { - const struct matrix_keymap_data *keymap_data = - dev_get_platdata(&pdev->dev); struct imx_keypad *keypad; struct input_dev *input_dev; int irq, error, i, row, col; - if (!keymap_data && !pdev->dev.of_node) { - dev_err(&pdev->dev, "no keymap defined\n"); - return -EINVAL; - } - irq = platform_get_irq(pdev, 0); if (irq < 0) return irq; @@ -469,7 +460,7 @@ static int imx_keypad_probe(struct platform_device *pdev) input_dev->open = imx_keypad_open; input_dev->close = imx_keypad_close; - error = matrix_keypad_build_keymap(keymap_data, NULL, + error = matrix_keypad_build_keymap(NULL, NULL, MAX_MATRIX_KEY_ROWS, MAX_MATRIX_KEY_COLS, keypad->keycodes, input_dev); @@ -582,7 +573,7 @@ static struct platform_driver imx_keypad_driver = { .driver = { .name = "imx-keypad", .pm = &imx_kbd_pm_ops, - .of_match_table = of_match_ptr(imx_keypad_of_match), + .of_match_table = imx_keypad_of_match, }, .probe = imx_keypad_probe, };
i.MX has been converted to a DT-only platform, so make the adjustments to the driver to convert it to a DT-only driver. Signed-off-by: Fabio Estevam <festevam@gmail.com> --- Changes since v1: - Remove dev_get_platdata() and the pdev->dev.of_node check (Dmitry). drivers/input/keyboard/Kconfig | 1 + drivers/input/keyboard/imx_keypad.c | 13 ++----------- 2 files changed, 3 insertions(+), 11 deletions(-)