Lines Matching refs:core
311 struct si476x_core *core; member
349 si476x_core_lock(radio->core); in si476x_radio_querycap()
350 if (!si476x_core_is_a_secondary_tuner(radio->core)) in si476x_radio_querycap()
353 si476x_core_unlock(radio->core); in si476x_radio_querycap()
369 switch (radio->core->chip_id) { in si476x_radio_enum_freq_bands()
424 si476x_core_lock(radio->core); in si476x_radio_g_tuner()
426 if (si476x_core_is_a_secondary_tuner(radio->core)) { in si476x_radio_g_tuner()
430 } else if (si476x_core_has_am(radio->core)) { in si476x_radio_g_tuner()
431 if (si476x_core_is_a_primary_tuner(radio->core)) in si476x_radio_g_tuner()
458 err = radio->ops->rsq_status(radio->core, in si476x_radio_g_tuner()
469 si476x_core_unlock(radio->core); in si476x_radio_g_tuner()
546 args.freq = v4l2_to_si476x(radio->core, in si476x_radio_pretune()
548 retval = radio->ops->tune_freq(radio->core, &args); in si476x_radio_pretune()
551 args.freq = v4l2_to_si476x(radio->core, in si476x_radio_pretune()
553 retval = radio->ops->tune_freq(radio->core, &args); in si476x_radio_pretune()
568 err = regcache_sync_region(radio->core->regmap, in si476x_radio_do_post_powerup_init()
574 err = regcache_sync_region(radio->core->regmap, in si476x_radio_do_post_powerup_init()
580 err = regcache_sync_region(radio->core->regmap, in si476x_radio_do_post_powerup_init()
590 err = regcache_sync_region(radio->core->regmap, in si476x_radio_do_post_powerup_init()
596 err = regcache_sync_region(radio->core->regmap, in si476x_radio_do_post_powerup_init()
603 if (si476x_core_has_diversity(radio->core)) { in si476x_radio_do_post_powerup_init()
604 err = si476x_core_cmd_fm_phase_diversity(radio->core, in si476x_radio_do_post_powerup_init()
605 radio->core->diversity_mode); in si476x_radio_do_post_powerup_init()
610 err = regcache_sync_region(radio->core->regmap, in si476x_radio_do_post_powerup_init()
631 if (func == radio->core->power_up_parameters.func) in si476x_radio_change_func()
635 err = si476x_core_stop(radio->core, soft); in si476x_radio_change_func()
642 err = si476x_core_stop(radio->core, soft); in si476x_radio_change_func()
649 radio->core->power_up_parameters.func = func; in si476x_radio_change_func()
651 err = si476x_core_start(radio->core, soft); in si476x_radio_change_func()
676 si476x_core_lock(radio->core); in si476x_radio_g_frequency()
688 err = radio->ops->rsq_status(radio->core, &args, &report); in si476x_radio_g_frequency()
690 f->frequency = si476x_to_v4l2(radio->core, in si476x_radio_g_frequency()
696 si476x_core_unlock(radio->core); in si476x_radio_g_frequency()
720 si476x_core_lock(radio->core); in si476x_radio_s_frequency()
728 (!si476x_core_has_am(radio->core) || in si476x_radio_s_frequency()
729 si476x_core_is_a_secondary_tuner(radio->core))) { in si476x_radio_s_frequency()
741 args.freq = v4l2_to_si476x(radio->core, freq); in si476x_radio_s_frequency()
746 err = radio->ops->tune_freq(radio->core, &args); in si476x_radio_s_frequency()
749 si476x_core_unlock(radio->core); in si476x_radio_s_frequency()
768 si476x_core_lock(radio->core); in si476x_radio_s_hw_freq_seek()
771 err = regmap_read(radio->core->regmap, in si476x_radio_s_hw_freq_seek()
775 rangelow = si476x_to_v4l2(radio->core, rangelow); in si476x_radio_s_hw_freq_seek()
780 err = regmap_read(radio->core->regmap, in si476x_radio_s_hw_freq_seek()
784 rangehigh = si476x_to_v4l2(radio->core, rangehigh); in si476x_radio_s_hw_freq_seek()
798 } else if (si476x_core_has_am(radio->core) && in si476x_radio_s_hw_freq_seek()
812 err = regmap_write(radio->core->regmap, in si476x_radio_s_hw_freq_seek()
814 v4l2_to_si476x(radio->core, in si476x_radio_s_hw_freq_seek()
820 err = regmap_write(radio->core->regmap, in si476x_radio_s_hw_freq_seek()
822 v4l2_to_si476x(radio->core, in si476x_radio_s_hw_freq_seek()
828 err = regmap_write(radio->core->regmap, in si476x_radio_s_hw_freq_seek()
830 v4l2_to_si476x(radio->core, in si476x_radio_s_hw_freq_seek()
836 err = radio->ops->seek_start(radio->core, in si476x_radio_s_hw_freq_seek()
840 si476x_core_unlock(radio->core); in si476x_radio_s_hw_freq_seek()
852 si476x_core_lock(radio->core); in si476x_radio_g_volatile_ctrl()
856 if (si476x_core_has_diversity(radio->core)) { in si476x_radio_g_volatile_ctrl()
858 retval = radio->ops->phase_div_status(radio->core); in si476x_radio_g_volatile_ctrl()
876 si476x_core_unlock(radio->core); in si476x_radio_g_volatile_ctrl()
887 si476x_core_lock(radio->core); in si476x_radio_s_ctrl()
891 retval = regmap_update_bits(radio->core->regmap, in si476x_radio_s_ctrl()
899 retval = regmap_update_bits(radio->core->regmap, in si476x_radio_s_ctrl()
905 retval = regmap_update_bits(radio->core->regmap, in si476x_radio_s_ctrl()
911 retval = regmap_update_bits(radio->core->regmap, in si476x_radio_s_ctrl()
922 retval = regmap_write(radio->core->regmap, in si476x_radio_s_ctrl()
927 retval = regmap_write(radio->core->regmap, in si476x_radio_s_ctrl()
932 retval = regmap_write(radio->core->regmap, in si476x_radio_s_ctrl()
942 if (si476x_core_is_in_am_receiver_mode(radio->core)) in si476x_radio_s_ctrl()
943 regcache_cache_only(radio->core->regmap, true); in si476x_radio_s_ctrl()
946 retval = regmap_write(radio->core->regmap, in si476x_radio_s_ctrl()
948 radio->core->rds_fifo_depth); in si476x_radio_s_ctrl()
952 if (radio->core->client->irq) { in si476x_radio_s_ctrl()
953 retval = regmap_write(radio->core->regmap, in si476x_radio_s_ctrl()
961 retval = si476x_core_cmd_fm_rds_status(radio->core, in si476x_radio_s_ctrl()
969 retval = regmap_update_bits(radio->core->regmap, in si476x_radio_s_ctrl()
974 retval = regmap_update_bits(radio->core->regmap, in si476x_radio_s_ctrl()
980 if (si476x_core_is_in_am_receiver_mode(radio->core)) in si476x_radio_s_ctrl()
981 regcache_cache_only(radio->core->regmap, false); in si476x_radio_s_ctrl()
984 retval = regmap_write(radio->core->regmap, in si476x_radio_s_ctrl()
992 if (mode == radio->core->diversity_mode) { in si476x_radio_s_ctrl()
997 if (si476x_core_is_in_am_receiver_mode(radio->core)) { in si476x_radio_s_ctrl()
1002 radio->core->diversity_mode = mode; in si476x_radio_s_ctrl()
1005 retval = radio->ops->phase_diversity(radio->core, mode); in si476x_radio_s_ctrl()
1007 radio->core->diversity_mode = mode; in si476x_radio_s_ctrl()
1016 si476x_core_unlock(radio->core); in si476x_radio_s_ctrl()
1029 si476x_core_lock(radio->core); in si476x_radio_g_register()
1031 err = regmap_read(radio->core->regmap, in si476x_radio_g_register()
1034 si476x_core_unlock(radio->core); in si476x_radio_g_register()
1045 si476x_core_lock(radio->core); in si476x_radio_s_register()
1046 err = regmap_write(radio->core->regmap, in si476x_radio_s_register()
1049 si476x_core_unlock(radio->core); in si476x_radio_s_register()
1065 si476x_core_lock(radio->core); in si476x_radio_fops_open()
1066 err = si476x_core_set_power_state(radio->core, in si476x_radio_fops_open()
1072 radio->core->power_up_parameters.func); in si476x_radio_fops_open()
1077 radio->core->power_up_parameters.func); in si476x_radio_fops_open()
1081 si476x_core_unlock(radio->core); in si476x_radio_fops_open()
1089 si476x_core_set_power_state(radio->core, in si476x_radio_fops_open()
1092 si476x_core_unlock(radio->core); in si476x_radio_fops_open()
1104 atomic_read(&radio->core->is_alive)) in si476x_radio_fops_release()
1105 si476x_core_set_power_state(radio->core, in si476x_radio_fops_release()
1123 if (kfifo_is_empty(&radio->core->rds_fifo)) { in si476x_radio_fops_read()
1127 rval = wait_event_interruptible(radio->core->rds_read_queue, in si476x_radio_fops_read()
1128 (!kfifo_is_empty(&radio->core->rds_fifo) || in si476x_radio_fops_read()
1129 !atomic_read(&radio->core->is_alive))); in si476x_radio_fops_read()
1133 if (!atomic_read(&radio->core->is_alive)) in si476x_radio_fops_read()
1137 fifo_len = kfifo_len(&radio->core->rds_fifo); in si476x_radio_fops_read()
1139 if (kfifo_to_user(&radio->core->rds_fifo, buf, in si476x_radio_fops_read()
1160 if (atomic_read(&radio->core->is_alive)) in si476x_radio_fops_poll()
1161 poll_wait(file, &radio->core->rds_read_queue, pts); in si476x_radio_fops_poll()
1163 if (!atomic_read(&radio->core->is_alive)) in si476x_radio_fops_poll()
1166 if (!kfifo_is_empty(&radio->core->rds_fifo)) in si476x_radio_fops_poll()
1219 si476x_core_lock(radio->core); in si476x_radio_read_acf_blob()
1221 err = radio->ops->acf_status(radio->core, &report); in si476x_radio_read_acf_blob()
1224 si476x_core_unlock(radio->core); in si476x_radio_read_acf_blob()
1247 si476x_core_lock(radio->core); in si476x_radio_read_rds_blckcnt_blob()
1249 err = radio->ops->rds_blckcnt(radio->core, true, in si476x_radio_read_rds_blckcnt_blob()
1253 si476x_core_unlock(radio->core); in si476x_radio_read_rds_blckcnt_blob()
1276 si476x_core_lock(radio->core); in si476x_radio_read_agc_blob()
1278 err = radio->ops->agc_status(radio->core, &report); in si476x_radio_read_agc_blob()
1281 si476x_core_unlock(radio->core); in si476x_radio_read_agc_blob()
1311 si476x_core_lock(radio->core); in si476x_radio_read_rsq_blob()
1313 err = radio->ops->rsq_status(radio->core, &args, &report); in si476x_radio_read_rsq_blob()
1316 si476x_core_unlock(radio->core); in si476x_radio_read_rsq_blob()
1346 si476x_core_lock(radio->core); in si476x_radio_read_rsq_primary_blob()
1348 err = radio->ops->rsq_status(radio->core, &args, &report); in si476x_radio_read_rsq_primary_blob()
1351 si476x_core_unlock(radio->core); in si476x_radio_read_rsq_primary_blob()
1454 radio->core = i2c_mfd_cell_to_core(&pdev->dev); in si476x_radio_probe()
1478 if (si476x_core_has_am(radio->core)) { in si476x_radio_probe()
1530 if (si476x_core_has_diversity(radio->core)) { in si476x_radio_probe()
1532 si476x_phase_diversity_mode_to_idx(radio->core->diversity_mode); in si476x_radio_probe()