Lines Matching refs:core

12 #include <linux/mfd/wl1273-core.h>
77 struct wl1273_core *core;
95 static int wl1273_fm_write_fw(struct wl1273_core *core,
98 struct i2c_client *client = core->client;
133 struct wl1273_core *core = radio->core;
134 struct i2c_client *client = core->client;
154 if (core->mode != WL1273_MODE_RX)
157 r = core->read(core, WL1273_RDS_SYNC_GET, &val);
221 struct wl1273_core *core = radio->core;
225 r = core->read(core, WL1273_FLAG_GET, &flags);
249 r = core->read(core, WL1273_RSSI_LVL_GET, &level);
289 if (core->mode == WL1273_MODE_RX) {
290 r = core->write(core, WL1273_TUNER_MODE_SET,
299 r = core->read(core, WL1273_FREQ_SET, &freq);
318 r = core->read(core, WL1273_CHANL_SET, &freq);
328 core->write(core, WL1273_INT_MASK_SET, radio->irq_flags);
336 struct wl1273_core *core = radio->core;
363 r = core->write(core, WL1273_CHANL_SET, freq / 10);
377 r = core->write(core, WL1273_POWER_ENB_SET, 1);
396 struct wl1273_core *core = radio->core;
418 core->write(core, WL1273_INT_MASK_SET, radio->irq_flags);
425 r = core->write(core, WL1273_FREQ_SET, f);
431 r = core->write(core, WL1273_TUNER_MODE_SET, TUNER_MODE_PRESET);
455 struct wl1273_core *core = radio->core;
460 if (core->mode == WL1273_MODE_RX) {
461 r = core->read(core, WL1273_FREQ_SET, &f);
471 r = core->read(core, WL1273_CHANL_SET, &f);
491 struct wl1273_core *core = radio->core;
515 r = wl1273_fm_write_fw(core, ptr + 1, packet_num);
522 core->write(core, WL1273_RESET, 0);
532 struct wl1273_core *core = radio->core;
534 if (core->mode == WL1273_MODE_RX) {
535 int r = core->write(core, WL1273_POWER_SET,
540 } else if (core->mode == WL1273_MODE_TX) {
541 int r = core->write(core, WL1273_PUPD_SET,
548 if (core->pdata->disable) {
549 core->pdata->disable();
558 struct wl1273_core *core = radio->core;
559 struct wl1273_fm_platform_data *pdata = core->pdata;
563 if (pdata->enable && core->mode == WL1273_MODE_OFF) {
577 r = core->write(core, WL1273_POWER_SET, val);
581 r = core->write(core, WL1273_POWER_SET, val);
594 r = core->write(core, WL1273_PUPD_SET, WL1273_PUPD_SET_ON);
597 r = core->write(core, WL1273_PUPD_SET,
606 r = core->write(core, WL1273_RDS_DATA_ENB, 1);
613 r = core->write(core, WL1273_RDS_DATA_ENB, 0);
624 if (core->mode == WL1273_MODE_OFF) {
639 r = core->write(core, WL1273_POWER_SET, val);
645 r = core->write(core, WL1273_PUPD_SET,
665 struct wl1273_core *core = radio->core;
669 if (core->mode == WL1273_MODE_RX)
670 r = core->write(core, WL1273_POWER_SET,
672 else if (core->mode == WL1273_MODE_TX)
673 r = core->write(core, WL1273_PUPD_SET,
689 struct wl1273_core *core = radio->core;
697 old_mode = core->mode;
713 core->mode = mode;
714 r = core->write(core, WL1273_INT_MASK_SET, radio->irq_flags);
728 r = core->set_volume(core, core->volume);
735 core->volume);
746 r = core->set_audio(core, core->audio_mode);
756 core->mode = WL1273_MODE_OFF;
765 core->mode = WL1273_MODE_SUSPENDED;
776 core->mode = old_mode;
786 struct wl1273_core *core = radio->core;
812 r = core->write(core, WL1273_INT_MASK_SET, radio->irq_flags);
818 r = core->write(core, WL1273_SEARCH_LVL_SET, level);
822 r = core->write(core, WL1273_SEARCH_DIR_SET, dir);
826 r = core->write(core, WL1273_TUNER_MODE_SET, TUNER_MODE_AUTO_SEEK);
857 r = core->write(core, WL1273_TUNER_MODE_SET, TUNER_MODE_AUTO_SEEK);
875 struct wl1273_core *core = radio->core;
880 if (core->mode == WL1273_MODE_OFF ||
881 core->mode == WL1273_MODE_SUSPENDED)
884 r = core->read(core, WL1273_READ_FMANT_TUNE_VALUE, &val);
905 struct wl1273_core *core = radio->core;
909 if (core->mode == WL1273_MODE_OFF ||
910 core->mode == WL1273_MODE_SUSPENDED)
913 mutex_lock(&core->lock);
930 r = core->write(core, WL1273_PREMPH_SET, em);
937 mutex_unlock(&core->lock);
943 struct wl1273_core *core = radio->core;
950 r = core->write(core, WL1273_POWER_SET,
964 struct wl1273_core *core = radio->core;
972 r = core->write(core, WL1273_INT_MASK_SET, radio->irq_flags);
981 r = core->write(core, WL1273_POWER_SET, WL1273_POWER_SET_FM);
997 struct wl1273_core *core = radio->core;
999 if (core->mode == WL1273_MODE_OFF ||
1000 core->mode == WL1273_MODE_SUSPENDED)
1004 r = core->write(core, WL1273_RDS_CNTRL_SET, 1);
1008 if (core->mode == WL1273_MODE_TX && new_mode == WL1273_RDS_OFF) {
1009 r = core->write(core, WL1273_RDS_DATA_ENB, 0);
1010 } else if (core->mode == WL1273_MODE_TX && new_mode == WL1273_RDS_ON) {
1011 r = core->write(core, WL1273_RDS_DATA_ENB, 1);
1012 } else if (core->mode == WL1273_MODE_RX && new_mode == WL1273_RDS_OFF) {
1014 } else if (core->mode == WL1273_MODE_RX && new_mode == WL1273_RDS_ON) {
1032 struct wl1273_core *core = radio->core;
1038 if (core->mode != WL1273_MODE_TX)
1046 if (mutex_lock_interruptible(&core->lock))
1064 core->write(core, WL1273_RDS_CONFIG_DATA_SET, val);
1075 core->write_data(core, radio->write_buf, val + 1);
1079 mutex_unlock(&core->lock);
1088 struct wl1273_core *core = radio->core;
1095 if (core->mode == WL1273_MODE_RX) {
1101 } else if (core->mode == WL1273_MODE_TX) {
1111 struct wl1273_core *core = radio->core;
1116 if (core->mode == WL1273_MODE_RX && radio->rds_on &&
1118 dev_dbg(radio->dev, "%s: Mode: %d\n", __func__, core->mode);
1120 if (mutex_lock_interruptible(&core->lock))
1125 r = core->write(core, WL1273_INT_MASK_SET,
1128 mutex_unlock(&core->lock);
1134 mutex_unlock(&core->lock);
1143 struct wl1273_core *core = radio->core;
1151 mutex_lock(&core->lock);
1155 if (core->mode == WL1273_MODE_RX) {
1156 r = core->write(core,
1160 mutex_unlock(&core->lock);
1164 mutex_unlock(&core->lock);
1179 struct wl1273_core *core = radio->core;
1185 if (core->mode != WL1273_MODE_RX)
1193 if (mutex_lock_interruptible(&core->lock))
1206 r = core->read(core, WL1273_RDS_SYNC_GET, &val);
1258 mutex_unlock(&core->lock);
1321 struct wl1273_core *core = radio->core;
1324 if (core->mode == WL1273_MODE_OFF ||
1325 core->mode == WL1273_MODE_SUSPENDED)
1328 mutex_lock(&core->lock);
1331 r = core->write(core, WL1273_POWER_LEV_SET, 122 - power);
1338 mutex_unlock(&core->lock);
1349 struct wl1273_core *core = radio->core;
1353 r = core->write(core, WL1273_SCAN_SPACING_SET,
1357 r = core->write(core, WL1273_SCAN_SPACING_SET,
1361 r = core->write(core, WL1273_SCAN_SPACING_SET,
1365 r = core->write(core, WL1273_SCAN_SPACING_SET,
1376 struct wl1273_core *core = radio->core;
1380 if (mutex_lock_interruptible(&core->lock))
1394 mutex_unlock(&core->lock);
1413 struct wl1273_core *core = radio->core;
1420 if (mutex_lock_interruptible(&core->lock))
1423 if (core->mode == WL1273_MODE_RX && ctrl->val)
1424 r = core->write(core,
1428 else if (core->mode == WL1273_MODE_RX)
1429 r = core->write(core,
1431 else if (core->mode == WL1273_MODE_TX && ctrl->val)
1432 r = core->write(core, WL1273_MUTE, 1);
1433 else if (core->mode == WL1273_MODE_TX)
1434 r = core->write(core, WL1273_MUTE, 0);
1436 mutex_unlock(&core->lock);
1443 r = core->set_volume(core, core->volume);
1500 struct wl1273_core *core = radio->core;
1524 if (core->mode != WL1273_MODE_RX)
1527 if (mutex_lock_interruptible(&core->lock))
1530 r = core->read(core, WL1273_STEREO_GET, &val);
1539 r = core->read(core, WL1273_RSSI_LVL_GET, &val);
1548 r = core->read(core, WL1273_RDS_SYNC_GET, &val);
1555 mutex_unlock(&core->lock);
1564 struct wl1273_core *core = radio->core;
1578 if (mutex_lock_interruptible(&core->lock))
1594 r = core->write(core, WL1273_MOST_MODE_SET, WL1273_RX_MONO);
1602 r = core->write(core, WL1273_MOST_MODE_SET, WL1273_RX_STEREO);
1617 mutex_unlock(&core->lock);
1626 struct wl1273_core *core = radio->core;
1630 if (mutex_lock_interruptible(&core->lock))
1636 mutex_unlock(&core->lock);
1645 struct wl1273_core *core = radio->core;
1656 if (mutex_lock_interruptible(&core->lock))
1659 if (core->mode == WL1273_MODE_RX) {
1675 mutex_unlock(&core->lock);
1687 struct wl1273_core *core = radio->core;
1698 if (mutex_lock_interruptible(&core->lock))
1715 mutex_unlock(&core->lock);
1723 struct wl1273_core *core = radio->core;
1731 if (mutex_lock_interruptible(&core->lock))
1744 r = core->write(core, WL1273_MONO_SET, WL1273_TX_MONO);
1746 r = core->write(core, WL1273_MONO_SET,
1752 mutex_unlock(&core->lock);
1761 struct wl1273_core *core = radio->core;
1776 if (core->mode != WL1273_MODE_TX)
1779 if (mutex_lock_interruptible(&core->lock))
1782 r = core->read(core, WL1273_MONO_SET, &val);
1794 mutex_unlock(&core->lock);
1802 struct wl1273_core *core = radio->core;
1809 if (core->mode == WL1273_MODE_OFF) {
1814 if (core->mode == WL1273_MODE_SUSPENDED) {
1819 r = core->read(core, WL1273_ASIC_ID_GET, &val);
1825 r = core->read(core, WL1273_ASIC_VER_GET, &val);
1831 r = core->read(core, WL1273_FIRM_VER_GET, &val);
1837 r = core->read(core, WL1273_BAND_SET, &val);
1843 if (core->mode == WL1273_MODE_TX) {
1844 r = core->read(core, WL1273_PUPD_SET, &val);
1850 r = core->read(core, WL1273_CHANL_SET, &val);
1855 } else if (core->mode == WL1273_MODE_RX) {
1858 r = core->read(core, WL1273_FREQ_SET, &val);
1864 r = core->read(core, WL1273_MOST_MODE_SET, &val);
1875 r = core->read(core, WL1273_MOST_BLEND_SET, &val);
1886 r = core->read(core, WL1273_STEREO_GET, &val);
1896 r = core->read(core, WL1273_RSSI_LVL_GET, &val);
1902 r = core->read(core, WL1273_POWER_SET, &val);
1908 r = core->read(core, WL1273_INT_MASK_SET, &val);
1914 r = core->read(core, WL1273_RDS_SYNC_GET, &val);
1926 r = core->read(core, WL1273_I2S_MODE_CONFIG_SET, &val);
1933 r = core->read(core, WL1273_VOLUME_SET, &val);
1983 struct wl1273_core *core = radio->core;
1987 free_irq(core->client->irq, radio);
1988 core->pdata->free_resources();
1997 struct wl1273_core **core = pdev->dev.platform_data;
2004 if (!core) {
2025 radio->core = *core;
2027 radio->dev = &radio->core->client->dev;
2029 radio->core->mode = WL1273_MODE_OFF;
2031 radio->core->audio_mode = WL1273_AUDIO_ANALOG;
2033 radio->core->i2s_mode = WL1273_I2S_DEF_MODE;
2034 radio->core->channel_number = 2;
2035 radio->core->volume = WL1273_DEFAULT_VOLUME;
2043 if (radio->core->pdata->request_resources) {
2044 r = radio->core->pdata->request_resources(radio->core->client);
2051 dev_dbg(radio->dev, "irq: %d\n", radio->core->client->irq);
2053 r = request_threaded_irq(radio->core->client->irq, NULL,
2139 free_irq(radio->core->client->irq, radio);
2141 radio->core->pdata->free_resources();