Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Staging: bcm: led_control.{c,h}: Fixed macro

This patch fixes the TURN_{ON,OFF}_LED() macros by adding the adapter as
parameter.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Matthias Beyer and committed by
Greg Kroah-Hartman
a1082a4d ce2705c3

+31 -24
+23 -16
drivers/staging/bcm/led_control.c
··· 40 40 } 41 41 while (num_of_time) { 42 42 if (currdriverstate == Adapter->DriverState) 43 - TURN_ON_LED(GPIO_Num, uiLedIndex); 43 + TURN_ON_LED(Adapter, GPIO_Num, uiLedIndex); 44 44 45 45 /* Wait for timeout after setting on the LED */ 46 46 Status = wait_event_interruptible_timeout( ··· 55 55 "Led thread got signal to exit..hence exiting"); 56 56 Adapter->LEDInfo.led_thread_running = 57 57 BCM_LED_THREAD_DISABLED; 58 - TURN_OFF_LED(GPIO_Num, uiLedIndex); 58 + TURN_OFF_LED(Adapter, GPIO_Num, uiLedIndex); 59 59 Status = EVENT_SIGNALED; 60 60 break; 61 61 } 62 62 if (Status) { 63 - TURN_OFF_LED(GPIO_Num, uiLedIndex); 63 + TURN_OFF_LED(Adapter, GPIO_Num, uiLedIndex); 64 64 Status = EVENT_SIGNALED; 65 65 break; 66 66 } 67 67 68 - TURN_OFF_LED(GPIO_Num, uiLedIndex); 68 + TURN_OFF_LED(Adapter, GPIO_Num, uiLedIndex); 69 69 Status = wait_event_interruptible_timeout( 70 70 Adapter->LEDInfo.notify_led_event, 71 71 currdriverstate != Adapter->DriverState || ··· 223 223 } 224 224 225 225 /* Turn off both Tx and Rx LEDs before next second */ 226 - TURN_OFF_LED(1 << GPIO_Num_tx, uiTxLedIndex); 227 - TURN_OFF_LED(1 << GPIO_Num_rx, uiTxLedIndex); 226 + TURN_OFF_LED(Adapter, 1 << GPIO_Num_tx, uiTxLedIndex); 227 + TURN_OFF_LED(Adapter, 1 << GPIO_Num_rx, uiTxLedIndex); 228 228 229 229 /* 230 230 * Read the Tx & Rx packets transmission after 1 second and ··· 606 606 if (Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != 607 607 DISABLE_GPIO_NUM) 608 608 uiResetValue |= (1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num); 609 - TURN_OFF_LED(1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num, 610 - uiIndex); 609 + TURN_OFF_LED(Adapter, 610 + 1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num, 611 + uiIndex); 611 612 } 612 613 if (wrmalt(Adapter, GPIO_MODE_REGISTER, &uiResetValue, 613 614 sizeof(uiResetValue)) < 0) ··· 681 680 currdriverstate); 682 681 683 682 if (GPIO_num != DISABLE_GPIO_NUM) 684 - TURN_ON_LED(1 << GPIO_num, uiLedIndex); 683 + TURN_ON_LED(ad, 1 << GPIO_num, uiLedIndex); 685 684 686 685 break; 687 686 case FW_DOWNLOAD: ··· 706 705 BcmGetGPIOPinInfo(ad, &GPIO_num, &dummyGPIONum, 707 706 &uiLedIndex, &dummyIndex, currdriverstate); 708 707 if (GPIO_num != DISABLE_GPIO_NUM) 709 - TURN_ON_LED(1 << GPIO_num, uiLedIndex); 708 + TURN_ON_LED(ad, 1 << GPIO_num, uiLedIndex); 710 709 break; 711 710 712 711 case SHUTDOWN_EXIT: ··· 719 718 BcmGetGPIOPinInfo(ad, &GPIO_num, &dummyGPIONum, 720 719 &uiLedIndex, &dummyGPIONum, currdriverstate); 721 720 if (GPIO_num != DISABLE_GPIO_NUM) 722 - TURN_ON_LED(1 << GPIO_num, uiLedIndex); 721 + TURN_ON_LED(ad, 1 << GPIO_num, uiLedIndex); 723 722 break; 724 723 case NORMAL_OPERATION: 725 724 { ··· 766 765 uiResetValue = 0; 767 766 for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) { 768 767 if (ad->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM) 769 - TURN_OFF_LED((1 << ad->LEDInfo.LEDState[uiIndex].GPIO_Num), uiIndex); 768 + TURN_OFF_LED(ad, 769 + (1 << ad->LEDInfo.LEDState[uiIndex].GPIO_Num), 770 + uiIndex); 770 771 } 771 772 772 773 } ··· 790 787 for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) { 791 788 if (ad->LEDInfo.LEDState[uiIndex].GPIO_Num != 792 789 DISABLE_GPIO_NUM) 793 - TURN_OFF_LED((1 << ad->LEDInfo.LEDState[uiIndex].GPIO_Num), uiIndex); 790 + TURN_OFF_LED(ad, 791 + (1 << ad->LEDInfo.LEDState[uiIndex].GPIO_Num), 792 + uiIndex); 794 793 } 795 794 /* ad->DriverState = DRIVER_INIT; */ 796 795 break; ··· 807 802 for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) { 808 803 if (ad->LEDInfo.LEDState[uiIndex].GPIO_Num != 809 804 DISABLE_GPIO_NUM) 810 - TURN_OFF_LED((1 << ad->LEDInfo.LEDState[uiIndex].GPIO_Num), uiIndex); 805 + TURN_OFF_LED(ad, 806 + (1 << ad->LEDInfo.LEDState[uiIndex].GPIO_Num), 807 + uiIndex); 811 808 } 812 809 break; 813 810 case LED_THREAD_ACTIVE: ··· 875 868 "Led thread got signal to exit..hence exiting"); 876 869 Adapter->LEDInfo.led_thread_running = 877 870 BCM_LED_THREAD_DISABLED; 878 - TURN_OFF_LED(1 << GPIO_num, uiLedIndex); 871 + TURN_OFF_LED(Adapter, 1 << GPIO_num, uiLedIndex); 879 872 return; /* STATUS_FAILURE; */ 880 873 } 881 874 882 875 if (GPIO_num != DISABLE_GPIO_NUM) 883 - TURN_OFF_LED(1 << GPIO_num, uiLedIndex); 876 + TURN_OFF_LED(Adapter, 1 << GPIO_num, uiLedIndex); 884 877 885 878 if (Adapter->LEDInfo.bLedInitDone == false) { 886 879 LedGpioInit(Adapter);
+8 -8
drivers/staging/bcm/led_control.h
··· 17 17 #define EVENT_SIGNALED 1 18 18 #define MAX_FILE_NAME_BUFFER_SIZE 100 19 19 20 - #define TURN_ON_LED(GPIO, index) do { \ 20 + #define TURN_ON_LED(ad, GPIO, index) do { \ 21 21 unsigned int gpio_val = GPIO; \ 22 - (Adapter->LEDInfo.LEDState[index].BitPolarity == 1) ? \ 23 - wrmaltWithLock(Adapter, BCM_GPIO_OUTPUT_SET_REG, &gpio_val, sizeof(gpio_val)) : \ 24 - wrmaltWithLock(Adapter, BCM_GPIO_OUTPUT_CLR_REG, &gpio_val, sizeof(gpio_val)); \ 22 + (ad->LEDInfo.LEDState[index].BitPolarity == 1) ? \ 23 + wrmaltWithLock(ad, BCM_GPIO_OUTPUT_SET_REG, &gpio_val, sizeof(gpio_val)) : \ 24 + wrmaltWithLock(ad, BCM_GPIO_OUTPUT_CLR_REG, &gpio_val, sizeof(gpio_val)); \ 25 25 } while (0) 26 26 27 - #define TURN_OFF_LED(GPIO, index) do { \ 27 + #define TURN_OFF_LED(ad, GPIO, index) do { \ 28 28 unsigned int gpio_val = GPIO; \ 29 - (Adapter->LEDInfo.LEDState[index].BitPolarity == 1) ? \ 30 - wrmaltWithLock(Adapter, BCM_GPIO_OUTPUT_CLR_REG, &gpio_val, sizeof(gpio_val)) : \ 31 - wrmaltWithLock(Adapter, BCM_GPIO_OUTPUT_SET_REG, &gpio_val, sizeof(gpio_val)); \ 29 + (ad->LEDInfo.LEDState[index].BitPolarity == 1) ? \ 30 + wrmaltWithLock(ad, BCM_GPIO_OUTPUT_CLR_REG, &gpio_val, sizeof(gpio_val)) : \ 31 + wrmaltWithLock(ad, BCM_GPIO_OUTPUT_SET_REG, &gpio_val, sizeof(gpio_val)); \ 32 32 } while (0) 33 33 34 34 enum bcm_led_colors {