dt-bindings: auxdisplay: ht16k33: Keyscan function should be optional
Keyscan should be optional to support simple LED matrix displays (output only). Reported-by: Michael Kaplan <M.KAPLAN@evva.com> Signed-off-by: Robin van der Gracht <robin@protonic.nl> [geert: Rebased] Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
parent
6ee1d745b7
commit
164b677056
|
@ -4,16 +4,19 @@ Holtek ht16k33 RAM mapping 16*8 LED controller driver with keyscan
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: "holtek,ht16k33"
|
- compatible: "holtek,ht16k33"
|
||||||
- reg: I2C slave address of the chip.
|
- reg: I2C slave address of the chip.
|
||||||
- interrupts: Interrupt specification for the key pressed interrupt.
|
|
||||||
- refresh-rate-hz: Display update interval in HZ.
|
- refresh-rate-hz: Display update interval in HZ.
|
||||||
- debounce-delay-ms: Debouncing interval time in milliseconds.
|
|
||||||
- linux,keymap: The keymap for keys as described in the binding
|
|
||||||
document (devicetree/bindings/input/matrix-keymap.txt).
|
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
- linux,no-autorepeat: Disable keyrepeat.
|
- linux,no-autorepeat: Disable keyrepeat.
|
||||||
- default-brightness-level: Initial brightness level [0-15] (default: 15).
|
- default-brightness-level: Initial brightness level [0-15] (default: 15).
|
||||||
|
|
||||||
|
- Keypad
|
||||||
|
Supply the 'interrupts' property to enable the keyscan feature.
|
||||||
|
- interrupts: Interrupt specification for the key pressed interrupt.
|
||||||
|
- debounce-delay-ms: Debouncing interval time in milliseconds.
|
||||||
|
- linux,keymap: The keymap for keys as described in the binding
|
||||||
|
document (devicetree/bindings/input/matrix-keymap.txt).
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
&i2c1 {
|
&i2c1 {
|
||||||
|
|
|
@ -402,11 +402,6 @@ static int ht16k33_probe(struct i2c_client *client,
|
||||||
return -EIO;
|
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);
|
priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL);
|
||||||
if (!priv)
|
if (!priv)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -459,9 +454,12 @@ static int ht16k33_probe(struct i2c_client *client,
|
||||||
if (err)
|
if (err)
|
||||||
goto err_fbdev_info;
|
goto err_fbdev_info;
|
||||||
|
|
||||||
err = ht16k33_keypad_probe(client, &priv->keypad);
|
/* Keypad */
|
||||||
if (err)
|
if (client->irq > 0) {
|
||||||
goto err_fbdev_unregister;
|
err = ht16k33_keypad_probe(client, &priv->keypad);
|
||||||
|
if (err)
|
||||||
|
goto err_fbdev_unregister;
|
||||||
|
}
|
||||||
|
|
||||||
/* Backlight */
|
/* Backlight */
|
||||||
memset(&bl_props, 0, sizeof(struct backlight_properties));
|
memset(&bl_props, 0, sizeof(struct backlight_properties));
|
||||||
|
|
Loading…
Reference in New Issue