diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-02-22 20:25:48 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-02-22 20:25:48 +0300 |
commit | 66615c4ee2874f07f09caa45c0c3f80973a75952 (patch) | |
tree | b335b133025fd6490708064d80b1e0b451f6d28d /drivers | |
parent | a2590d69893f232cbb79d149dbbb456a1febca22 (diff) | |
parent | b45616445a6e346daf8a173a0c51413aec067ebb (diff) | |
download | linux-66615c4ee2874f07f09caa45c0c3f80973a75952.tar.xz |
Merge tag 'auxdisplay-for-linus-v5.12' of git://github.com/ojeda/linux
Pull auxdisplay updates from Miguel Ojeda:
"A set of auxdisplay fixes and improvements from Geert Uytterhoeven,
and one from Robin van der Gracht that got lost a long time ago"
* tag 'auxdisplay-for-linus-v5.12' of git://github.com/ojeda/linux:
auxdisplay: Fix duplicate CHARLCD config symbol
auxdisplay: ht16k33: Fix refresh rate handling
dt-bindings: auxdisplay: ht16k33: Convert to json-schema
dt-bindings: auxdisplay: ht16k33: Fix default-brightness-level range
dt-bindings: auxdisplay: ht16k33: Keyscan function should be optional
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/auxdisplay/Kconfig | 3 | ||||
-rw-r--r-- | drivers/auxdisplay/ht16k33.c | 17 |
2 files changed, 7 insertions, 13 deletions
diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig index a2b59b84bb88..1509cb74705a 100644 --- a/drivers/auxdisplay/Kconfig +++ b/drivers/auxdisplay/Kconfig @@ -507,6 +507,3 @@ config PANEL depends on PARPORT select AUXDISPLAY select PARPORT_PANEL - -config CHARLCD - tristate "Character LCD core support" if COMPILE_TEST diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c index d951d54b26f5..1e69cc6d21a0 100644 --- a/drivers/auxdisplay/ht16k33.c +++ b/drivers/auxdisplay/ht16k33.c @@ -117,8 +117,7 @@ static void ht16k33_fb_queue(struct ht16k33_priv *priv) { struct ht16k33_fbdev *fbdev = &priv->fbdev; - schedule_delayed_work(&fbdev->work, - msecs_to_jiffies(HZ / fbdev->refresh_rate)); + schedule_delayed_work(&fbdev->work, HZ / fbdev->refresh_rate); } /* @@ -402,11 +401,6 @@ static int ht16k33_probe(struct i2c_client *client, return -EIO; } - if (client->irq <= 0) { - dev_err(&client->dev, "No IRQ specified\n"); - return -EINVAL; - } - priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL); if (!priv) return -ENOMEM; @@ -459,9 +453,12 @@ static int ht16k33_probe(struct i2c_client *client, if (err) goto err_fbdev_info; - err = ht16k33_keypad_probe(client, &priv->keypad); - if (err) - goto err_fbdev_unregister; + /* Keypad */ + if (client->irq > 0) { + err = ht16k33_keypad_probe(client, &priv->keypad); + if (err) + goto err_fbdev_unregister; + } /* Backlight */ memset(&bl_props, 0, sizeof(struct backlight_properties)); |