Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f36cc034 authored by Stefan Ringel's avatar Stefan Ringel Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB: tm6000: Add control to the power led



Turn power led off, if device is disconnected

Signed-off-by: default avatarStefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 5a4b55e2
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -912,6 +912,25 @@ static void tm6000_usb_disconnect(struct usb_interface *interface)
	}
#endif

	if (dev->gpio.power_led) {
		switch (dev->model) {
		case TM6010_BOARD_HAUPPAUGE_900H:
		case TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE:
		case TM6010_BOARD_TWINHAN_TU501:
			/* Power led off */
			tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN,
				dev->gpio.power_led, 0x01);
			msleep(15);
			break;
		case TM6010_BOARD_BEHOLD_WANDER:
		case TM6010_BOARD_BEHOLD_VOYAGER:
			/* Power led off */
			tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN,
				dev->gpio.power_led, 0x00);
			msleep(15);
			break;
		}
	}
	tm6000_v4l2_unregister(dev);

	tm6000_i2c_unregister(dev);
+13 −0
Original line number Diff line number Diff line
@@ -339,6 +339,12 @@ int tm6000_init_analog_mode (struct tm6000_core *dev)
	tm6000_set_standard (dev, &dev->norm);
	tm6000_set_audio_bitrate (dev,48000);

	/* switch dvb led off */
	if (dev->gpio.dvb_led) {
		tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN,
			dev->gpio.dvb_led, 0x01);
	}

	return 0;
}

@@ -391,6 +397,13 @@ int tm6000_init_digital_mode (struct tm6000_core *dev)
		tm6000_set_reg (dev, REQ_04_EN_DISABLE_MCU_INT, 0x0020, 0x00);
		msleep(100);
	}

	/* switch dvb led on */
	if (dev->gpio.dvb_led) {
		tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN,
			dev->gpio.dvb_led, 0x00);
	}

	return 0;
}