On Wed, Oct 03, 2018 at 07:20:54PM +0800, yhchu...@realtek.com wrote:
> +void rtw_phy_cfg_bb(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
> +                 u32 addr, u32 data)
> +{
> +     if (addr == 0xfe)
> +             msleep(50);
> +     else if (addr == 0xfd)
> +             mdelay(5);
> +     else if (addr == 0xfc)
> +             mdelay(1);
> +     else if (addr == 0xfb)
> +             usleep_range(50, 60);
> +     else if (addr == 0xfa)
> +             udelay(5);
> +     else if (addr == 0xf9)
> +             udelay(1);
> +     else
> +             rtw_write32(rtwdev, addr, data);

This mix of mdelay(), msleep(), udelay() and usleep_range() looks strange.
You should eigher use atomic versions *delay or non-atomic *sleep
versions .

> +#define bcd_to_dec_pwr_by_rate(val, i) \
> +     ({ \
> +             typeof(val) __val_ = val; \
> +             typeof(i) __i_ = i; \
> +             ((s8)((((__val_ >> (__i_ * 8 + 4)) & 0xF)) * 10 + \
> +                    ((__val_ >> (__i_ * 8)) & 0xF))); \
> +      })

Can use bcd2bin from include/linux/bcd.h instead ?


Thanks
Stanislaw 

Reply via email to