Message ID | 1365519930-3230-10-git-send-email-stf_xl@wp.pl (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
(Resending as the message didn't seem to end up on the mailing list) > Hi Stanislaw, > > Looks good to me. When you repost the series with all comments fixed, you can add my acked-by. > > Sent from my iPad > > On 9 apr. 2013, at 17:05, stf_xl@wp.pl wrote: > >> From: Stanislaw Gruszka <stf_xl@wp.pl> >> >> Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl> >> --- >> drivers/net/wireless/rt2x00/rt2800lib.c | 29 +++++++++++++++++++++++++---- >> 1 files changed, 25 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c >> index fe0df88..009fe47 100644 >> --- a/drivers/net/wireless/rt2x00/rt2800lib.c >> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c >> @@ -4332,6 +4332,15 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev) >> return 0; >> } >> >> +static void rt2800_led_open_drain_enable(struct rt2x00_dev *rt2x00dev) >> +{ >> + u32 reg; >> + >> + rt2800_register_read(rt2x00dev, OPT_14_CSR, ®); >> + rt2x00_set_field32(®, OPT_14_CSR_BIT0, 1); >> + rt2800_register_write(rt2x00dev, OPT_14_CSR, reg); >> +} >> + >> static u8 rt2800_init_rx_filter(struct rt2x00_dev *rt2x00dev, bool bw40, >> u8 filter_target) >> { >> @@ -4593,6 +4602,8 @@ static void rt2800_init_rfcsr_30xx(struct rt2x00_dev *rt2x00dev) >> rt2x00_rt_rev_lt(rt2x00dev, RT3071, REV_RT3071E) || >> rt2x00_rt_rev_lt(rt2x00dev, RT3090, REV_RT3090E)) >> rt2800_rfcsr_write(rt2x00dev, 27, 0x03); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static void rt2800_init_rfcsr_3290(struct rt2x00_dev *rt2x00dev) >> @@ -4653,6 +4664,8 @@ static void rt2800_init_rfcsr_3290(struct rt2x00_dev *rt2x00dev) >> rt2800_rfcsr_write(rt2x00dev, 29, rfcsr); >> >> rt2800_rx_filter_calibration(rt2x00dev); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static void rt2800_init_rfcsr_3352(struct rt2x00_dev *rt2x00dev) >> @@ -4722,6 +4735,8 @@ static void rt2800_init_rfcsr_3352(struct rt2x00_dev *rt2x00dev) >> rt2800_rfcsr_write(rt2x00dev, 63, 0x00); >> >> rt2800_rx_filter_calibration(rt2x00dev); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static void rt2800_init_rfcsr_3390(struct rt2x00_dev *rt2x00dev) >> @@ -4769,6 +4784,8 @@ static void rt2800_init_rfcsr_3390(struct rt2x00_dev *rt2x00dev) >> >> if (rt2x00_rt_rev_lt(rt2x00dev, RT3390, REV_RT3390E)) >> rt2800_rfcsr_write(rt2x00dev, 27, 0x03); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static void rt2800_init_rfcsr_3572(struct rt2x00_dev *rt2x00dev) >> @@ -4823,6 +4840,8 @@ static void rt2800_init_rfcsr_3572(struct rt2x00_dev *rt2x00dev) >> rt2800_register_write(rt2x00dev, LDO_CFG0, reg); >> >> rt2800_rx_filter_calibration(rt2x00dev); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) >> @@ -4911,6 +4930,8 @@ static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) >> rt2800_rfcsr_write(rt2x00dev, 63, 0x00); >> >> rt2800_normal_mode_setup_5xxx(rt2x00dev); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static void rt2800_init_rfcsr_5392(struct rt2x00_dev *rt2x00dev) >> @@ -4978,6 +4999,8 @@ static void rt2800_init_rfcsr_5392(struct rt2x00_dev *rt2x00dev) >> rt2800_rfcsr_write(rt2x00dev, 63, 0x07); >> >> rt2800_normal_mode_setup_5xxx(rt2x00dev); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static void rt2800_init_rfcsr_5592(struct rt2x00_dev *rt2x00dev) >> @@ -5018,6 +5041,8 @@ static void rt2800_init_rfcsr_5592(struct rt2x00_dev *rt2x00dev) >> >> if (rt2x00_rt_rev_lt(rt2x00dev, RT5592, REV_RT5592C)) >> rt2800_rfcsr_write(rt2x00dev, 27, 0x03); >> + >> + rt2800_led_open_drain_enable(rt2x00dev); >> } >> >> static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev) >> @@ -5074,10 +5099,6 @@ static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev) >> return 0; >> } >> >> - rt2800_register_read(rt2x00dev, OPT_14_CSR, ®); >> - rt2x00_set_field32(®, OPT_14_CSR_BIT0, 1); >> - rt2800_register_write(rt2x00dev, OPT_14_CSR, reg); >> - >> if (!rt2x00_rt(rt2x00dev, RT5390) && >> !rt2x00_rt(rt2x00dev, RT5392)) { >> rt2800_rfcsr_read(rt2x00dev, 17, &rfcsr); >> -- >> 1.7.4.4 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index fe0df88..009fe47 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c @@ -4332,6 +4332,15 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev) return 0; } +static void rt2800_led_open_drain_enable(struct rt2x00_dev *rt2x00dev) +{ + u32 reg; + + rt2800_register_read(rt2x00dev, OPT_14_CSR, ®); + rt2x00_set_field32(®, OPT_14_CSR_BIT0, 1); + rt2800_register_write(rt2x00dev, OPT_14_CSR, reg); +} + static u8 rt2800_init_rx_filter(struct rt2x00_dev *rt2x00dev, bool bw40, u8 filter_target) { @@ -4593,6 +4602,8 @@ static void rt2800_init_rfcsr_30xx(struct rt2x00_dev *rt2x00dev) rt2x00_rt_rev_lt(rt2x00dev, RT3071, REV_RT3071E) || rt2x00_rt_rev_lt(rt2x00dev, RT3090, REV_RT3090E)) rt2800_rfcsr_write(rt2x00dev, 27, 0x03); + + rt2800_led_open_drain_enable(rt2x00dev); } static void rt2800_init_rfcsr_3290(struct rt2x00_dev *rt2x00dev) @@ -4653,6 +4664,8 @@ static void rt2800_init_rfcsr_3290(struct rt2x00_dev *rt2x00dev) rt2800_rfcsr_write(rt2x00dev, 29, rfcsr); rt2800_rx_filter_calibration(rt2x00dev); + + rt2800_led_open_drain_enable(rt2x00dev); } static void rt2800_init_rfcsr_3352(struct rt2x00_dev *rt2x00dev) @@ -4722,6 +4735,8 @@ static void rt2800_init_rfcsr_3352(struct rt2x00_dev *rt2x00dev) rt2800_rfcsr_write(rt2x00dev, 63, 0x00); rt2800_rx_filter_calibration(rt2x00dev); + + rt2800_led_open_drain_enable(rt2x00dev); } static void rt2800_init_rfcsr_3390(struct rt2x00_dev *rt2x00dev) @@ -4769,6 +4784,8 @@ static void rt2800_init_rfcsr_3390(struct rt2x00_dev *rt2x00dev) if (rt2x00_rt_rev_lt(rt2x00dev, RT3390, REV_RT3390E)) rt2800_rfcsr_write(rt2x00dev, 27, 0x03); + + rt2800_led_open_drain_enable(rt2x00dev); } static void rt2800_init_rfcsr_3572(struct rt2x00_dev *rt2x00dev) @@ -4823,6 +4840,8 @@ static void rt2800_init_rfcsr_3572(struct rt2x00_dev *rt2x00dev) rt2800_register_write(rt2x00dev, LDO_CFG0, reg); rt2800_rx_filter_calibration(rt2x00dev); + + rt2800_led_open_drain_enable(rt2x00dev); } static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) @@ -4911,6 +4930,8 @@ static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) rt2800_rfcsr_write(rt2x00dev, 63, 0x00); rt2800_normal_mode_setup_5xxx(rt2x00dev); + + rt2800_led_open_drain_enable(rt2x00dev); } static void rt2800_init_rfcsr_5392(struct rt2x00_dev *rt2x00dev) @@ -4978,6 +4999,8 @@ static void rt2800_init_rfcsr_5392(struct rt2x00_dev *rt2x00dev) rt2800_rfcsr_write(rt2x00dev, 63, 0x07); rt2800_normal_mode_setup_5xxx(rt2x00dev); + + rt2800_led_open_drain_enable(rt2x00dev); } static void rt2800_init_rfcsr_5592(struct rt2x00_dev *rt2x00dev) @@ -5018,6 +5041,8 @@ static void rt2800_init_rfcsr_5592(struct rt2x00_dev *rt2x00dev) if (rt2x00_rt_rev_lt(rt2x00dev, RT5592, REV_RT5592C)) rt2800_rfcsr_write(rt2x00dev, 27, 0x03); + + rt2800_led_open_drain_enable(rt2x00dev); } static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev) @@ -5074,10 +5099,6 @@ static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev) return 0; } - rt2800_register_read(rt2x00dev, OPT_14_CSR, ®); - rt2x00_set_field32(®, OPT_14_CSR_BIT0, 1); - rt2800_register_write(rt2x00dev, OPT_14_CSR, reg); - if (!rt2x00_rt(rt2x00dev, RT5390) && !rt2x00_rt(rt2x00dev, RT5392)) { rt2800_rfcsr_read(rt2x00dev, 17, &rfcsr);