diff mbox series

[v2] Input: imx_keypad - convert to a DT-only driver

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

Commit Message

Fabio Estevam March 16, 2021, 1:35 p.m. UTC
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(-)

Comments

Fabio Estevam March 27, 2021, 7:14 p.m. UTC | #1
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
Dmitry Torokhov March 27, 2021, 7:37 p.m. UTC | #2
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.
Fabio Estevam March 27, 2021, 7:44 p.m. UTC | #3
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 mbox series

Patch

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,
 };