--- zzzz-none-000/linux-3.10.107/drivers/media/radio/wl128x/fmdrv_rx.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/drivers/media/radio/wl128x/fmdrv_rx.c 2021-02-04 17:41:59.000000000 +0000 @@ -116,7 +116,7 @@ if (ret < 0) goto exit; - curr_frq = be16_to_cpu(curr_frq); + curr_frq = be16_to_cpu((__force __be16)curr_frq); curr_frq_in_khz = (fmdev->rx.region.bot_freq + ((u32)curr_frq * FM_FREQ_MUL)); if (curr_frq_in_khz != freq) { @@ -189,7 +189,7 @@ if (ret < 0) return ret; - curr_frq = be16_to_cpu(curr_frq); + curr_frq = be16_to_cpu((__force __be16)curr_frq); last_frq = (fmdev->rx.region.top_freq - fmdev->rx.region.bot_freq) / FM_FREQ_MUL; /* Check the offset in order to be aligned to the channel spacing*/ @@ -285,7 +285,7 @@ if (ret < 0) return ret; - curr_frq = be16_to_cpu(curr_frq); + curr_frq = be16_to_cpu((__force __be16)curr_frq); fmdev->rx.freq = (fmdev->rx.region.bot_freq + ((u32)curr_frq * FM_FREQ_MUL)); @@ -517,7 +517,7 @@ /* Returns the signal strength level of current channel */ int fm_rx_get_rssi_level(struct fmdev *fmdev, u16 *rssilvl) { - u16 curr_rssi_lel; + __be16 curr_rssi_lel; u32 resp_len; int ret; @@ -608,7 +608,7 @@ /* Gets current RX stereo/mono mode */ int fm_rx_get_stereo_mono(struct fmdev *fmdev, u16 *mode) { - u16 curr_mode; + __be16 curr_mode; u32 resp_len; int ret; @@ -784,22 +784,6 @@ return 0; } - -/* Returns current RDS operation mode */ -int fm_rx_get_rds_system(struct fmdev *fmdev, u8 *rds_mode) -{ - if (fmdev->curr_fmmode != FM_MODE_RX) - return -EPERM; - - if (rds_mode == NULL) { - fmerr("Invalid memory\n"); - return -ENOMEM; - } - - *rds_mode = fmdev->rx.rds_mode; - - return 0; -} /* Configures Alternate Frequency switch mode */ int fm_rx_set_af_switch(struct fmdev *fmdev, u8 af_mode)