Commit 41f80046 authored by Andy Shevchenko's avatar Andy Shevchenko
Browse files

platform/x86: thinkpad_acpi: Drop duplicate check for led_classdev_unregister()



led_classdev_unregister() already has the similar check, so,
drop a duplicate in the driver.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent a87406c5
Loading
Loading
Loading
Loading
+15 −30
Original line number Original line Diff line number Diff line
@@ -5434,7 +5434,6 @@ static int __init kbdlight_init(struct ibm_init_struct *iibm)


static void kbdlight_exit(void)
static void kbdlight_exit(void)
{
{
	if (tp_features.kbdlight)
	led_classdev_unregister(&tpacpi_led_kbdlight.led_classdev);
	led_classdev_unregister(&tpacpi_led_kbdlight.led_classdev);
}
}


@@ -5949,20 +5948,14 @@ static void led_exit(void)
{
{
	unsigned int i;
	unsigned int i;


	for (i = 0; i < TPACPI_LED_NUMLEDS; i++) {
	for (i = 0; i < TPACPI_LED_NUMLEDS; i++)
		if (tpacpi_leds[i].led_classdev.name)
		led_classdev_unregister(&tpacpi_leds[i].led_classdev);
		led_classdev_unregister(&tpacpi_leds[i].led_classdev);
	}


	kfree(tpacpi_leds);
	kfree(tpacpi_leds);
}
}


static int __init tpacpi_init_led(unsigned int led)
static int __init tpacpi_init_led(unsigned int led)
{
{
	int rc;

	tpacpi_leds[led].led = led;

	/* LEDs with no name don't get registered */
	/* LEDs with no name don't get registered */
	if (!tpacpi_led_names[led])
	if (!tpacpi_led_names[led])
		return 0;
		return 0;
@@ -5970,17 +5963,12 @@ static int __init tpacpi_init_led(unsigned int led)
	tpacpi_leds[led].led_classdev.brightness_set_blocking = &led_sysfs_set;
	tpacpi_leds[led].led_classdev.brightness_set_blocking = &led_sysfs_set;
	tpacpi_leds[led].led_classdev.blink_set = &led_sysfs_blink_set;
	tpacpi_leds[led].led_classdev.blink_set = &led_sysfs_blink_set;
	if (led_supported == TPACPI_LED_570)
	if (led_supported == TPACPI_LED_570)
		tpacpi_leds[led].led_classdev.brightness_get =
		tpacpi_leds[led].led_classdev.brightness_get = &led_sysfs_get;
						&led_sysfs_get;


	tpacpi_leds[led].led_classdev.name = tpacpi_led_names[led];
	tpacpi_leds[led].led_classdev.name = tpacpi_led_names[led];
	tpacpi_leds[led].led = led;


	rc = led_classdev_register(&tpacpi_pdev->dev,
	return led_classdev_register(&tpacpi_pdev->dev, &tpacpi_leds[led].led_classdev);
				&tpacpi_leds[led].led_classdev);
	if (rc < 0)
		tpacpi_leds[led].led_classdev.name = NULL;

	return rc;
}
}


static const struct tpacpi_quirk led_useful_qtable[] __initconst = {
static const struct tpacpi_quirk led_useful_qtable[] __initconst = {
@@ -6090,8 +6078,7 @@ static int __init led_init(struct ibm_init_struct *iibm)
	for (i = 0; i < TPACPI_LED_NUMLEDS; i++) {
	for (i = 0; i < TPACPI_LED_NUMLEDS; i++) {
		tpacpi_leds[i].led = -1;
		tpacpi_leds[i].led = -1;


		if (!tpacpi_is_led_restricted(i) &&
		if (!tpacpi_is_led_restricted(i) && test_bit(i, &useful_leds)) {
		    test_bit(i, &useful_leds)) {
			rc = tpacpi_init_led(i);
			rc = tpacpi_init_led(i);
			if (rc < 0) {
			if (rc < 0) {
				led_exit();
				led_exit();
@@ -6148,8 +6135,10 @@ static int led_write(char *buf)
		if (sscanf(cmd, "%d", &led) != 1)
		if (sscanf(cmd, "%d", &led) != 1)
			return -EINVAL;
			return -EINVAL;


		if (led < 0 || led > (TPACPI_LED_NUMLEDS - 1) ||
		if (led < 0 || led > (TPACPI_LED_NUMLEDS - 1))
				tpacpi_leds[led].led < 0)
			return -ENODEV;

		if (tpacpi_leds[led].led < 0)
			return -ENODEV;
			return -ENODEV;


		if (strstr(cmd, "off")) {
		if (strstr(cmd, "off")) {
@@ -9302,10 +9291,8 @@ static int mute_led_init(struct ibm_init_struct *iibm)
		mute_led_cdev[i].brightness = ledtrig_audio_get(i);
		mute_led_cdev[i].brightness = ledtrig_audio_get(i);
		err = led_classdev_register(&tpacpi_pdev->dev, &mute_led_cdev[i]);
		err = led_classdev_register(&tpacpi_pdev->dev, &mute_led_cdev[i]);
		if (err < 0) {
		if (err < 0) {
			while (i--) {
			while (i--)
				if (led_tables[i].state >= 0)
				led_classdev_unregister(&mute_led_cdev[i]);
				led_classdev_unregister(&mute_led_cdev[i]);
			}
			return err;
			return err;
		}
		}
	}
	}
@@ -9317,12 +9304,10 @@ static void mute_led_exit(void)
	int i;
	int i;


	for (i = 0; i < TPACPI_LED_MAX; i++) {
	for (i = 0; i < TPACPI_LED_MAX; i++) {
		if (led_tables[i].state >= 0) {
		led_classdev_unregister(&mute_led_cdev[i]);
		led_classdev_unregister(&mute_led_cdev[i]);
		tpacpi_led_set(i, false);
		tpacpi_led_set(i, false);
	}
	}
}
}
}


static void mute_led_resume(void)
static void mute_led_resume(void)
{
{