All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: Simon Glass <sjg@chromium.org>, Tom Rini <trini@konsulko.com>
Cc: u-boot@lists.denx.de
Subject: [PATCH] Nokia RX-51: Convert to CONFIG_DM_KEYBOARD
Date: Thu,  3 Feb 2022 19:38:50 +0100	[thread overview]
Message-ID: <20220203183850.10186-1-pali@kernel.org> (raw)

Signed-off-by: Pali Rohár <pali@kernel.org>
---

I would really appreciate if U-Boot test framework starts printing
deprecation warnings, instead of sending patches which directly drop
support for some boards.

There is absolutely no warning during building U-Boot for RX-51 board
that this board has not been converted to DM_KEYBOARD yet.

---
 board/nokia/rx51/rx51.c      | 37 +++++++++++++++++++++++++++++++-----
 configs/nokia_rx51_defconfig |  2 +-
 include/configs/nokia_rx51.h | 13 +------------
 3 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
index 99ca36fbbea1..a52691509da4 100644
--- a/board/nokia/rx51/rx51.c
+++ b/board/nokia/rx51/rx51.c
@@ -31,6 +31,7 @@
 #include <twl4030.h>
 #include <i2c.h>
 #include <video_fb.h>
+#include <keyboard.h>
 #include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/setup.h>
@@ -579,10 +580,10 @@ static u8 keybuf_head;
 static u8 keybuf_tail;
 
 /*
- * Routine: rx51_kp_init
+ * Routine: rx51_kp_start
  * Description: Initialize HW keyboard.
  */
-int rx51_kp_init(void)
+static int rx51_kp_start(struct udevice *dev)
 {
 	int ret = 0;
 	u8 ctrl;
@@ -656,7 +657,7 @@ static void rx51_kp_fill(u8 k, u8 mods)
  * Routine: rx51_kp_tstc
  * Description: Test if key was pressed (from buffer).
  */
-int rx51_kp_tstc(struct stdio_dev *sdev)
+static int rx51_kp_tstc(struct udevice *dev)
 {
 	u8 c, r, dk, i;
 	u8 intr;
@@ -712,14 +713,36 @@ int rx51_kp_tstc(struct stdio_dev *sdev)
  * Routine: rx51_kp_getc
  * Description: Get last pressed key (from buffer).
  */
-int rx51_kp_getc(struct stdio_dev *sdev)
+static int rx51_kp_getc(struct udevice *dev)
 {
 	keybuf_head %= KEYBUF_SIZE;
-	while (!rx51_kp_tstc(sdev))
+	while (!rx51_kp_tstc(dev))
 		WATCHDOG_RESET();
 	return keybuf[keybuf_head++];
 }
 
+static int rx51_kp_probe(struct udevice *dev)
+{
+	struct keyboard_priv *uc_priv = dev_get_uclass_priv(dev);
+	struct stdio_dev *sdev = &uc_priv->sdev;
+
+	strcpy(sdev->name, "keyboard");
+	return input_stdio_register(sdev);
+}
+
+static const struct keyboard_ops rx51_kp_ops = {
+	.start = rx51_kp_start,
+	.tstc = rx51_kp_tstc,
+	.getc = rx51_kp_getc,
+};
+
+U_BOOT_DRIVER(rx51_kp) = {
+	.name = "rx51_kp",
+	.id = UCLASS_KEYBOARD,
+	.probe = rx51_kp_probe,
+	.ops = &rx51_kp_ops,
+};
+
 static const struct mmc_config rx51_mmc_cfg = {
 	.host_caps = MMC_MODE_4BIT | MMC_MODE_HS_52MHz | MMC_MODE_HS,
 	.f_min = 400000,
@@ -753,3 +776,7 @@ U_BOOT_DRVINFOS(rx51_i2c) = {
 U_BOOT_DRVINFOS(rx51_watchdog) = {
 	{ "rx51_watchdog" },
 };
+
+U_BOOT_DRVINFOS(rx51_kp) = {
+	{ "rx51_kp" },
+};
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
index 4a95f42e4eb4..47b7bc3b4f03 100644
--- a/configs/nokia_rx51_defconfig
+++ b/configs/nokia_rx51_defconfig
@@ -66,6 +66,7 @@ CONFIG_DM=y
 # CONFIG_DM_SEQ_ALIAS is not set
 # CONFIG_BLOCK_CACHE is not set
 CONFIG_DM_I2C=y
+CONFIG_DM_KEYBOARD=y
 # CONFIG_MMC_HW_PARTITIONING is not set
 # CONFIG_MMC_VERBOSE is not set
 CONFIG_MMC_OMAP_HS=y
@@ -78,7 +79,6 @@ CONFIG_USB_MUSB_UDC=y
 CONFIG_USB_OMAP3=y
 CONFIG_CFB_CONSOLE=y
 CONFIG_CFB_CONSOLE_ANSI=y
-# CONFIG_VGA_AS_SINGLE_DEVICE is not set
 CONFIG_SPLASH_SCREEN=y
 CONFIG_WATCHDOG_TIMEOUT_MSECS=31000
 CONFIG_WDT=y
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index adfc055a2c9e..9be64c3d3f87 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -77,21 +77,10 @@
 #define VIDEO_FB_16BPP_PIXEL_SWAP
 #define VIDEO_FB_16BPP_WORD_SWAP
 
-/* functions for cfb_console */
-#define VIDEO_KBD_INIT_FCT		rx51_kp_init()
-#define VIDEO_TSTC_FCT			rx51_kp_tstc
-#define VIDEO_GETC_FCT			rx51_kp_getc
-#ifndef __ASSEMBLY__
-struct stdio_dev;
-int rx51_kp_init(void);
-int rx51_kp_tstc(struct stdio_dev *sdev);
-int rx51_kp_getc(struct stdio_dev *sdev);
-#endif
-
 /* Environment information */
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"usbtty=cdc_acm\0" \
-	"stdin=usbtty,serial,vga\0" \
+	"stdin=usbtty,serial,keyboard\0" \
 	"stdout=usbtty,serial,vga\0" \
 	"stderr=usbtty,serial,vga\0" \
 	"slide=gpio input " __stringify(GPIO_SLIDE) "\0" \
-- 
2.20.1


             reply	other threads:[~2022-02-03 18:40 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-03 18:38 Pali Rohár [this message]
2022-02-03 21:16 ` [PATCH] Nokia RX-51: Convert to CONFIG_DM_KEYBOARD Tom Rini
2022-02-03 21:45   ` Tom Rini
2022-02-03 21:53     ` Tom Rini
2022-02-03 22:02       ` Simon Glass
2022-02-03 22:03         ` Simon Glass
2022-02-03 22:09           ` Tom Rini
2022-02-03 22:10             ` Simon Glass
2022-02-04 10:59               ` Pali Rohár
2022-02-04 10:56         ` Pali Rohár
2022-02-04 13:41           ` Tom Rini
2022-02-04 13:55             ` Pali Rohár
2022-02-04 14:00               ` Tom Rini
2022-02-04 14:13                 ` Pali Rohár
2022-02-04 15:24                   ` Simon Glass
2022-02-04 15:30                     ` Pali Rohár
2022-02-04 15:37                       ` Tom Rini
2022-02-04 15:41                         ` Simon Glass
2022-02-04 15:46                           ` Pali Rohár
2022-02-04 15:54                             ` Simon Glass
2022-02-04 16:00                               ` Pali Rohár
2022-02-04 10:51     ` Pali Rohár
2022-02-08 17:36 ` Tom Rini
2022-02-09  0:07   ` Pali Rohár

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220203183850.10186-1-pali@kernel.org \
    --to=pali@kernel.org \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.