[Media:Radio] WiLink: Add support for FM TX RDS

This patch adds support for following FM TX RDS features,
     1. Radio Text
     2. PS Name
     3. PI Code
     4. PTY Code.

Along with above this patch fixes few other minor issues(like
fm tx get frequency, unnecessary error messages, corrects FM
command names used and etc).

Change-Id: Iff51ef3d495af00d135546a00bc717c375e41fad
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: Add sysfs based support for new features

This patch adds support for below features via sysfs file system
	1) FM Band selection (US/Europe or Japan)
	2) FM RDS AF turn ON/OFF
	3) FM RSSI level set/get

Change-Id: I479cac8dae194bf6e6bc85d3cbbc75d18e931feb
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: Add FM TX AF support via sysfs entries

This patch adds support for FM TX Alternate Frequency set via below
ysfs entry "/sys/class/video4linux/radio0/fmtx_rds_af"

User has to write required frequency to this sysfs entry so that
driver will enable the FM TX RDS AF feature and starts transmitting in
both primary frequency and alternate frequency at the same time.

Also this patch fixes below minor issues
1) In fmdrv_tx.c for AF sending correct AF command to FM chip
2) Using sysfs attribute names dipicting FM RX or FM TX functionality.
3) Macros replacing magic numbers.

Change-Id: Idc553eaf80f3db4bf3ced8e5774400a44403db2c
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: Miscellaneous fixes for FM Receiver

This patch fixes below small issues with FM RX,
	1) Enables the support for FM Alternate Frequency
	2) Modifies Wrap_Seek such that seek will try for one time
           and if it didn't get a good station within, then returns
	   the default frequency according to band.
	3) Adding correct default value for V4L2_CID_AUDIO_MUTE CID.
	4) Macros replacing magic numbers
	5) Corrects the volume gain settings
	6) Corrects the mute mode values according to V4L2
	   specifications.
	7) Corrects FM command names used

Change-Id: I2e23c6b0b6d22a11895a465679d0b26cbf70d0b2
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: Add support for Russian Band

This patch adds support for russian band (frequency range
65.8 MHz to 74 MHz).

This frequency range comes under OIRT FM broadcast band which is
currently used by Russia,Belarus,Moldova and Ukraine.

User app has to write "2" to "/sys/class/video4linux/radio0/fmrx_band"
to switch to Russian/OIRT band.

Change-Id: I1cc7f82296dd2967ab6cf952e2624062dc71f575
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: Add suppport for De-emphasis filter set.

The FM transmitting station uses a pre-emphasis filter to
provide better S/N ratio, and the receiver uses a de-emphasis
filter corresponding to the transmitter to restore the original
audio. This varies percountry. Therefore the host has to know
the country it is in and set the BRF6350 for the correct de-emphasis.

Change-Id: Idd580bcabbe7bf69ffb96fc43ea8c65b190aa011
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: Add support for Weather band

A weather radio service is a broadcast service that airs weather
reports.

This patch adds support for weather band(NOAA frequency range
162.4 MHz to 162.55 MHz).

This frequency range comes under NOAA FM broadcast band which is
currently used by United States, Canada and Bermuda.

User app has to write "3" to "/sys/class/video4linux/radio0/fmrx_band"
to switch to Weather band.

Change-Id: Id4d7b8656d31f4d50de575a0913a0ebca267f76a
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: code style cleanup

Change-Id: I5a044b97901cbc4e0322a13647f86592c8f60dcc
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
[Media:Radio] WiLink: Add support for complete scan

This patch adds support for complete scan feature.

To start/stop/read complete scan user has to write to
'/sys/class/video4linux/radio0/fmrx_comp_scan'

After complete scan read on /dev/radio will give the
scanned results

Change-Id: I38703e02f8f91a23f4388afdc349e2e9dc3a6b62
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
WiLink: Fix for overflow while getting irq status

->dlen is 8 bit long and so while memcpy there is a chance
that fmdev->irq_info.flag will overflow.

So this patch removes memcpy and instead copies the 16bit flag
register value from skb->data to fmdev->irq_info.flag directly.

Change-Id: I887c9ede3b67189e5cc534150ab95a5676a719ad
Signed-off-by: Manjunatha Halli <x0130808@ti.com>
Signed-off-by: Oleksandr Dmytryshyn <oleksandr.dmytryshyn@ti.com>
[Media:Radio] WiLink: Fix for wrong russian band complete scan

This patch fixes fraquencies after complete scan
according to FM Host API 10 for wilink8.

Change-Id: I55c5e76e0f2c8be755005a3e0db6aa5a2efc6d51
Signed-off-by: Igor Serbai <Igor.Serbai@ti.com>