diff options
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/cx25821/cx25821-gpio.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/drivers/staging/cx25821/cx25821-gpio.c b/drivers/staging/cx25821/cx25821-gpio.c index e8a37b47e437..2f154b3658a1 100644 --- a/drivers/staging/cx25821/cx25821-gpio.c +++ b/drivers/staging/cx25821/cx25821-gpio.c | |||
@@ -31,7 +31,7 @@ void cx25821_set_gpiopin_direction(struct cx25821_dev *dev, | |||
31 | u32 gpio_register = 0; | 31 | u32 gpio_register = 0; |
32 | u32 value = 0; | 32 | u32 value = 0; |
33 | 33 | ||
34 | // Check for valid pinNumber | 34 | /* Check for valid pinNumber */ |
35 | if (pin_number >= 47) | 35 | if (pin_number >= 47) |
36 | return; | 36 | return; |
37 | 37 | ||
@@ -39,14 +39,14 @@ void cx25821_set_gpiopin_direction(struct cx25821_dev *dev, | |||
39 | bit = pin_number - 31; | 39 | bit = pin_number - 31; |
40 | gpio_oe_reg = GPIO_HI_OE; | 40 | gpio_oe_reg = GPIO_HI_OE; |
41 | } | 41 | } |
42 | // Here we will make sure that the GPIOs 0 and 1 are output. keep the rest as is | 42 | /* Here we will make sure that the GPIOs 0 and 1 are output. keep the |
43 | * rest as is */ | ||
43 | gpio_register = cx_read(gpio_oe_reg); | 44 | gpio_register = cx_read(gpio_oe_reg); |
44 | 45 | ||
45 | if (pin_logic_value == 1) { | 46 | if (pin_logic_value == 1) |
46 | value = gpio_register | Set_GPIO_Bit(bit); | 47 | value = gpio_register | Set_GPIO_Bit(bit); |
47 | } else { | 48 | else |
48 | value = gpio_register & Clear_GPIO_Bit(bit); | 49 | value = gpio_register & Clear_GPIO_Bit(bit); |
49 | } | ||
50 | 50 | ||
51 | cx_write(gpio_oe_reg, value); | 51 | cx_write(gpio_oe_reg, value); |
52 | } | 52 | } |
@@ -58,11 +58,12 @@ static void cx25821_set_gpiopin_logicvalue(struct cx25821_dev *dev, | |||
58 | u32 gpio_reg = GPIO_LO; | 58 | u32 gpio_reg = GPIO_LO; |
59 | u32 value = 0; | 59 | u32 value = 0; |
60 | 60 | ||
61 | // Check for valid pinNumber | 61 | /* Check for valid pinNumber */ |
62 | if (pin_number >= 47) | 62 | if (pin_number >= 47) |
63 | return; | 63 | return; |
64 | 64 | ||
65 | cx25821_set_gpiopin_direction(dev, pin_number, 0); // change to output direction | 65 | /* change to output direction */ |
66 | cx25821_set_gpiopin_direction(dev, pin_number, 0); | ||
66 | 67 | ||
67 | if (pin_number > 31) { | 68 | if (pin_number > 31) { |
68 | bit = pin_number - 31; | 69 | bit = pin_number - 31; |
@@ -71,25 +72,23 @@ static void cx25821_set_gpiopin_logicvalue(struct cx25821_dev *dev, | |||
71 | 72 | ||
72 | value = cx_read(gpio_reg); | 73 | value = cx_read(gpio_reg); |
73 | 74 | ||
74 | if (pin_logic_value == 0) { | 75 | if (pin_logic_value == 0) |
75 | value &= Clear_GPIO_Bit(bit); | 76 | value &= Clear_GPIO_Bit(bit); |
76 | } else { | 77 | else |
77 | value |= Set_GPIO_Bit(bit); | 78 | value |= Set_GPIO_Bit(bit); |
78 | } | ||
79 | 79 | ||
80 | cx_write(gpio_reg, value); | 80 | cx_write(gpio_reg, value); |
81 | } | 81 | } |
82 | 82 | ||
83 | void cx25821_gpio_init(struct cx25821_dev *dev) | 83 | void cx25821_gpio_init(struct cx25821_dev *dev) |
84 | { | 84 | { |
85 | if (dev == NULL) { | 85 | if (dev == NULL) |
86 | return; | 86 | return; |
87 | } | ||
88 | 87 | ||
89 | switch (dev->board) { | 88 | switch (dev->board) { |
90 | case CX25821_BOARD_CONEXANT_ATHENA10: | 89 | case CX25821_BOARD_CONEXANT_ATHENA10: |
91 | default: | 90 | default: |
92 | //set GPIO 5 to select the path for Medusa/Athena | 91 | /* set GPIO 5 to select the path for Medusa/Athena */ |
93 | cx25821_set_gpiopin_logicvalue(dev, 5, 1); | 92 | cx25821_set_gpiopin_logicvalue(dev, 5, 1); |
94 | mdelay(20); | 93 | mdelay(20); |
95 | break; | 94 | break; |