Commit 164b6770 authored by Robin van der Gracht's avatar Robin van der Gracht Committed by Miguel Ojeda
Browse files

dt-bindings: auxdisplay: ht16k33: Keyscan function should be optional



Keyscan should be optional to support simple LED matrix displays (output
only).

Reported-by: default avatarMichael Kaplan <M.KAPLAN@evva.com>
Signed-off-by: default avatarRobin van der Gracht <robin@protonic.nl>
[geert: Rebased]
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Acked-by: default avatarRobin van der Gracht <robin@protonic.nl>
Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 6ee1d745
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -4,16 +4,19 @@ Holtek ht16k33 RAM mapping 16*8 LED controller driver with keyscan
Required properties:
- compatible:		"holtek,ht16k33"
- reg:			I2C slave address of the chip.
- interrupts:		Interrupt specification for the key pressed interrupt.
- 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:
- linux,no-autorepeat:	Disable keyrepeat.
- 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:

&i2c1 {
+6 −8
Original line number Diff line number Diff line
@@ -402,11 +402,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 +454,12 @@ static int ht16k33_probe(struct i2c_client *client,
	if (err)
		goto err_fbdev_info;

	/* 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));