Skip to content

Commit 6fe61f3

Browse files
plbossartbroonie
authored andcommitted
ASoC: SOF: Intel: move hda.c to different module
Now that most of the code moves are done, we can add a new module and the required EXPORT_SYMBOL definitions. No functionality change, just a new module added. Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Bard Liao <[email protected]> Reviewed-by: Ranjani Sridharan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 3b7bd0c commit 6fe61f3

22 files changed

+88
-22
lines changed

sound/soc/sof/intel/Kconfig

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ config SND_SOC_SOF_MERRIFIELD
9797

9898
config SND_SOC_SOF_INTEL_SKL
9999
tristate
100-
select SND_SOC_SOF_HDA_COMMON
100+
select SND_SOC_SOF_HDA_GENERIC
101101
select SND_SOC_SOF_IPC4
102102

103103
config SND_SOC_SOF_SKYLAKE
@@ -122,7 +122,7 @@ config SND_SOC_SOF_KABYLAKE
122122

123123
config SND_SOC_SOF_INTEL_APL
124124
tristate
125-
select SND_SOC_SOF_HDA_COMMON
125+
select SND_SOC_SOF_HDA_GENERIC
126126
select SND_SOC_SOF_IPC3
127127
select SND_SOC_SOF_IPC4
128128

@@ -148,7 +148,7 @@ config SND_SOC_SOF_GEMINILAKE
148148

149149
config SND_SOC_SOF_INTEL_CNL
150150
tristate
151-
select SND_SOC_SOF_HDA_COMMON
151+
select SND_SOC_SOF_HDA_GENERIC
152152
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
153153
select SND_SOC_SOF_IPC3
154154
select SND_SOC_SOF_IPC4
@@ -184,7 +184,7 @@ config SND_SOC_SOF_COMETLAKE
184184

185185
config SND_SOC_SOF_INTEL_ICL
186186
tristate
187-
select SND_SOC_SOF_HDA_COMMON
187+
select SND_SOC_SOF_HDA_GENERIC
188188
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
189189
select SND_SOC_SOF_IPC3
190190
select SND_SOC_SOF_IPC4
@@ -212,7 +212,7 @@ config SND_SOC_SOF_JASPERLAKE
212212

213213
config SND_SOC_SOF_INTEL_TGL
214214
tristate
215-
select SND_SOC_SOF_HDA_COMMON
215+
select SND_SOC_SOF_HDA_GENERIC
216216
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
217217
select SND_SOC_SOF_IPC3
218218
select SND_SOC_SOF_IPC4
@@ -250,7 +250,7 @@ config SND_SOC_SOF_ALDERLAKE
250250

251251
config SND_SOC_SOF_INTEL_MTL
252252
tristate
253-
select SND_SOC_SOF_HDA_COMMON
253+
select SND_SOC_SOF_HDA_GENERIC
254254
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
255255
select SND_SOC_SOF_IPC4
256256

@@ -266,7 +266,7 @@ config SND_SOC_SOF_METEORLAKE
266266

267267
config SND_SOC_SOF_INTEL_LNL
268268
tristate
269-
select SND_SOC_SOF_HDA_COMMON
269+
select SND_SOC_SOF_HDA_GENERIC
270270
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
271271
select SND_SOC_SOF_IPC4
272272
select SND_SOC_SOF_INTEL_MTL
@@ -283,6 +283,10 @@ config SND_SOC_SOF_LUNARLAKE
283283

284284
config SND_SOC_SOF_HDA_COMMON
285285
tristate
286+
287+
config SND_SOC_SOF_HDA_GENERIC
288+
tristate
289+
select SND_SOC_SOF_HDA_COMMON
286290
select SND_SOC_SOF_INTEL_COMMON
287291
select SND_SOC_SOF_PCI_DEV
288292
select SND_INTEL_DSP_CONFIG
@@ -299,7 +303,7 @@ config SND_SOC_SOF_HDA_MLINK
299303
This option is not user-selectable but automagically handled by
300304
'select' statements at a higher level.
301305

302-
if SND_SOC_SOF_HDA_COMMON
306+
if SND_SOC_SOF_HDA_GENERIC
303307

304308
config SND_SOC_SOF_HDA_LINK
305309
bool "SOF support for HDA Links(HDA/HDMI)"
@@ -319,7 +323,7 @@ config SND_SOC_SOF_HDA_AUDIO_CODEC
319323
Say Y if you want to enable HDAudio codecs with SOF.
320324
If unsure select "N".
321325

322-
endif ## SND_SOC_SOF_HDA_COMMON
326+
endif ## SND_SOC_SOF_HDA_GENERIC
323327

324328
config SND_SOC_SOF_HDA_LINK_BASELINE
325329
tristate

sound/soc/sof/intel/Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
snd-sof-acpi-intel-byt-objs := byt.o
44
snd-sof-acpi-intel-bdw-objs := bdw.o
55

6-
snd-sof-intel-hda-common-objs := hda.o hda-loader.o hda-stream.o hda-trace.o \
6+
snd-sof-intel-hda-common-objs := hda-loader.o hda-stream.o hda-trace.o \
77
hda-dsp.o hda-ipc.o hda-ctrl.o hda-pcm.o \
88
hda-dai.o hda-dai-ops.o hda-bus.o \
9-
hda-common-ops.o \
109
telemetry.o tracepoints.o
1110

11+
snd-sof-intel-hda-generic-objs := hda.o hda-common-ops.o
12+
1213
snd-sof-intel-hda-mlink-objs := hda-mlink.o
1314

1415
snd-sof-intel-hda-common-$(CONFIG_SND_SOC_SOF_HDA_PROBES) += hda-probes.o
@@ -21,6 +22,7 @@ obj-$(CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP) += snd-sof-intel-atom.o
2122
obj-$(CONFIG_SND_SOC_SOF_BAYTRAIL) += snd-sof-acpi-intel-byt.o
2223
obj-$(CONFIG_SND_SOC_SOF_BROADWELL) += snd-sof-acpi-intel-bdw.o
2324
obj-$(CONFIG_SND_SOC_SOF_HDA_COMMON) += snd-sof-intel-hda-common.o
25+
obj-$(CONFIG_SND_SOC_SOF_HDA_GENERIC) += snd-sof-intel-hda-generic.o
2426
obj-$(CONFIG_SND_SOC_SOF_HDA_MLINK) += snd-sof-intel-hda-mlink.o
2527
obj-$(CONFIG_SND_SOC_SOF_HDA) += snd-sof-intel-hda.o
2628

sound/soc/sof/intel/hda-bus.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ void sof_hda_bus_init(struct snd_sof_dev *sdev, struct device *dev)
9494
spin_lock_init(&bus->reg_lock);
9595
#endif /* CONFIG_SND_SOC_SOF_HDA_LINK */
9696
}
97+
EXPORT_SYMBOL_NS(sof_hda_bus_init, SND_SOC_SOF_INTEL_HDA_COMMON);
9798

9899
void sof_hda_bus_exit(struct snd_sof_dev *sdev)
99100
{
@@ -103,3 +104,4 @@ void sof_hda_bus_exit(struct snd_sof_dev *sdev)
103104
snd_hdac_ext_bus_exit(bus);
104105
#endif
105106
}
107+
EXPORT_SYMBOL_NS(sof_hda_bus_exit, SND_SOC_SOF_INTEL_HDA_COMMON);

sound/soc/sof/intel/hda-common-ops.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,4 @@ const struct snd_sof_dsp_ops sof_hda_common_ops = {
105105

106106
.dsp_arch_ops = &sof_xtensa_arch_ops,
107107
};
108-
EXPORT_SYMBOL_NS(sof_hda_common_ops, SND_SOC_SOF_INTEL_HDA_COMMON);
108+
EXPORT_SYMBOL_NS(sof_hda_common_ops, SND_SOC_SOF_INTEL_HDA_GENERIC);

sound/soc/sof/intel/hda-ctrl.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ int hda_dsp_ctrl_get_caps(struct snd_sof_dev *sdev)
128128

129129
return 0;
130130
}
131+
EXPORT_SYMBOL_NS(hda_dsp_ctrl_get_caps, SND_SOC_SOF_INTEL_HDA_COMMON);
131132

132133
void hda_dsp_ctrl_ppcap_enable(struct snd_sof_dev *sdev, bool enable)
133134
{
@@ -136,6 +137,7 @@ void hda_dsp_ctrl_ppcap_enable(struct snd_sof_dev *sdev, bool enable)
136137
snd_sof_dsp_update_bits(sdev, HDA_DSP_PP_BAR, SOF_HDA_REG_PP_PPCTL,
137138
SOF_HDA_PPCTL_GPROCEN, val);
138139
}
140+
EXPORT_SYMBOL_NS(hda_dsp_ctrl_ppcap_enable, SND_SOC_SOF_INTEL_HDA_COMMON);
139141

140142
void hda_dsp_ctrl_ppcap_int_enable(struct snd_sof_dev *sdev, bool enable)
141143
{
@@ -144,6 +146,7 @@ void hda_dsp_ctrl_ppcap_int_enable(struct snd_sof_dev *sdev, bool enable)
144146
snd_sof_dsp_update_bits(sdev, HDA_DSP_PP_BAR, SOF_HDA_REG_PP_PPCTL,
145147
SOF_HDA_PPCTL_PIE, val);
146148
}
149+
EXPORT_SYMBOL_NS(hda_dsp_ctrl_ppcap_int_enable, SND_SOC_SOF_INTEL_HDA_COMMON);
147150

148151
void hda_dsp_ctrl_misc_clock_gating(struct snd_sof_dev *sdev, bool enable)
149152
{
@@ -263,6 +266,7 @@ int hda_dsp_ctrl_init_chip(struct snd_sof_dev *sdev)
263266

264267
return ret;
265268
}
269+
EXPORT_SYMBOL_NS(hda_dsp_ctrl_init_chip, SND_SOC_SOF_INTEL_HDA_COMMON);
266270

267271
void hda_dsp_ctrl_stop_chip(struct snd_sof_dev *sdev)
268272
{
@@ -322,3 +326,8 @@ void hda_dsp_ctrl_stop_chip(struct snd_sof_dev *sdev)
322326

323327
bus->chip_init = false;
324328
}
329+
330+
MODULE_LICENSE("Dual BSD/GPL");
331+
MODULE_IMPORT_NS(SND_SOC_SOF_HDA_MLINK);
332+
MODULE_IMPORT_NS(SND_SOC_SOF_HDA_AUDIO_CODEC);
333+
MODULE_IMPORT_NS(SND_SOC_SOF_HDA_AUDIO_CODEC_I915);

sound/soc/sof/intel/hda-dai.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ int hda_dai_config(struct snd_soc_dapm_widget *w, unsigned int flags,
5454

5555
return 0;
5656
}
57+
EXPORT_SYMBOL_NS(hda_dai_config, SND_SOC_SOF_INTEL_HDA_COMMON);
5758

5859
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_LINK)
5960

@@ -542,6 +543,7 @@ int sdw_hda_dai_hw_params(struct snd_pcm_substream *substream,
542543
}
543544
return 0;
544545
}
546+
EXPORT_SYMBOL_NS(sdw_hda_dai_hw_params, SND_SOC_SOF_INTEL_HDA_COMMON);
545547

546548
int sdw_hda_dai_hw_free(struct snd_pcm_substream *substream,
547549
struct snd_soc_dai *cpu_dai,
@@ -570,12 +572,14 @@ int sdw_hda_dai_hw_free(struct snd_pcm_substream *substream,
570572

571573
return 0;
572574
}
575+
EXPORT_SYMBOL_NS(sdw_hda_dai_hw_free, SND_SOC_SOF_INTEL_HDA_COMMON);
573576

574577
int sdw_hda_dai_trigger(struct snd_pcm_substream *substream, int cmd,
575578
struct snd_soc_dai *cpu_dai)
576579
{
577580
return hda_dai_trigger(substream, cmd, cpu_dai);
578581
}
582+
EXPORT_SYMBOL_NS(sdw_hda_dai_trigger, SND_SOC_SOF_INTEL_HDA_COMMON);
579583

580584
static int hda_dai_suspend(struct hdac_bus *bus)
581585
{
@@ -856,6 +860,7 @@ struct snd_soc_dai_driver skl_dai[] = {
856860
},
857861
#endif
858862
};
863+
EXPORT_SYMBOL_NS(skl_dai, SND_SOC_SOF_INTEL_HDA_COMMON);
859864

860865
int hda_dsp_dais_suspend(struct snd_sof_dev *sdev)
861866
{

sound/soc/sof/intel/hda-dsp.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ u32 hda_get_interface_mask(struct snd_sof_dev *sdev)
8989

9090
return interface_mask[sdev->dspless_mode_selected];
9191
}
92+
EXPORT_SYMBOL_NS(hda_get_interface_mask, SND_SOC_SOF_INTEL_HDA_COMMON);
9293

9394
bool hda_is_chain_dma_supported(struct snd_sof_dev *sdev, u32 dai_type)
9495
{
@@ -118,6 +119,7 @@ bool hda_is_chain_dma_supported(struct snd_sof_dev *sdev, u32 dai_type)
118119
return false;
119120
}
120121
}
122+
EXPORT_SYMBOL_NS(hda_is_chain_dma_supported, SND_SOC_SOF_INTEL_HDA_COMMON);
121123

122124
/*
123125
* DSP Core control.
@@ -980,6 +982,7 @@ int hda_dsp_runtime_idle(struct snd_sof_dev *sdev)
980982

981983
return 0;
982984
}
985+
EXPORT_SYMBOL_NS(hda_dsp_runtime_idle, SND_SOC_SOF_INTEL_HDA_COMMON);
983986

984987
int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev)
985988
{
@@ -1001,6 +1004,7 @@ int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev)
10011004

10021005
return snd_sof_dsp_set_power_state(sdev, &target_state);
10031006
}
1007+
EXPORT_SYMBOL_NS(hda_dsp_runtime_suspend, SND_SOC_SOF_INTEL_HDA_COMMON);
10041008

10051009
int hda_dsp_suspend(struct snd_sof_dev *sdev, u32 target_state)
10061010
{
@@ -1061,6 +1065,7 @@ int hda_dsp_suspend(struct snd_sof_dev *sdev, u32 target_state)
10611065

10621066
return snd_sof_dsp_set_power_state(sdev, &target_dsp_state);
10631067
}
1068+
EXPORT_SYMBOL_NS(hda_dsp_suspend, SND_SOC_SOF_INTEL_HDA_COMMON);
10641069

10651070
static unsigned int hda_dsp_check_for_dma_streams(struct snd_sof_dev *sdev)
10661071
{
@@ -1153,6 +1158,7 @@ int hda_dsp_set_hw_params_upon_resume(struct snd_sof_dev *sdev)
11531158

11541159
return ret;
11551160
}
1161+
EXPORT_SYMBOL_NS(hda_dsp_set_hw_params_upon_resume, SND_SOC_SOF_INTEL_HDA_COMMON);
11561162

11571163
void hda_dsp_d0i3_work(struct work_struct *work)
11581164
{
@@ -1179,6 +1185,7 @@ void hda_dsp_d0i3_work(struct work_struct *work)
11791185
"error: failed to set DSP state %d substate %d\n",
11801186
target_state.state, target_state.substate);
11811187
}
1188+
EXPORT_SYMBOL_NS(hda_dsp_d0i3_work, SND_SOC_SOF_INTEL_HDA_COMMON);
11821189

11831190
int hda_dsp_core_get(struct snd_sof_dev *sdev, int core)
11841191
{
@@ -1311,6 +1318,7 @@ int hda_sdw_check_lcount(struct snd_sof_dev *sdev)
13111318

13121319
return 0;
13131320
}
1321+
EXPORT_SYMBOL_NS(hda_sdw_check_lcount, SND_SOC_SOF_INTEL_HDA_COMMON);
13141322

13151323
void hda_sdw_process_wakeen(struct snd_sof_dev *sdev)
13161324
{
@@ -1619,3 +1627,4 @@ void hda_dsp_dump(struct snd_sof_dev *sdev, u32 flags)
16191627
hda_dsp_dump_ext_rom_status(sdev, level, flags);
16201628
}
16211629
}
1630+
EXPORT_SYMBOL_NS(hda_dsp_dump, SND_SOC_SOF_INTEL_HDA_COMMON);

sound/soc/sof/intel/hda-ipc.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,11 +398,13 @@ int hda_dsp_ipc_get_mailbox_offset(struct snd_sof_dev *sdev)
398398
{
399399
return HDA_DSP_MBOX_UPLINK_OFFSET;
400400
}
401+
EXPORT_SYMBOL_NS(hda_dsp_ipc_get_mailbox_offset, SND_SOC_SOF_INTEL_HDA_COMMON);
401402

402403
int hda_dsp_ipc_get_window_offset(struct snd_sof_dev *sdev, u32 id)
403404
{
404405
return SRAM_WINDOW_OFFSET(id);
405406
}
407+
EXPORT_SYMBOL_NS(hda_dsp_ipc_get_window_offset, SND_SOC_SOF_INTEL_HDA_COMMON);
406408

407409
int hda_ipc_msg_data(struct snd_sof_dev *sdev,
408410
struct snd_sof_pcm_stream *sps,
@@ -428,6 +430,7 @@ int hda_ipc_msg_data(struct snd_sof_dev *sdev,
428430

429431
return 0;
430432
}
433+
EXPORT_SYMBOL_NS(hda_ipc_msg_data, SND_SOC_SOF_INTEL_HDA_COMMON);
431434

432435
int hda_set_stream_data_offset(struct snd_sof_dev *sdev,
433436
struct snd_sof_pcm_stream *sps,
@@ -452,6 +455,7 @@ int hda_set_stream_data_offset(struct snd_sof_dev *sdev,
452455

453456
return 0;
454457
}
458+
EXPORT_SYMBOL_NS(hda_set_stream_data_offset, SND_SOC_SOF_INTEL_HDA_COMMON);
455459

456460
void hda_ipc4_dsp_dump(struct snd_sof_dev *sdev, u32 flags)
457461
{
@@ -477,6 +481,7 @@ bool hda_check_ipc_irq(struct snd_sof_dev *sdev)
477481

478482
return false;
479483
}
484+
EXPORT_SYMBOL_NS(hda_check_ipc_irq, SND_SOC_SOF_INTEL_HDA_COMMON);
480485

481486
void hda_ipc_irq_dump(struct snd_sof_dev *sdev)
482487
{

sound/soc/sof/intel/hda-loader.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,3 +691,4 @@ int hda_dsp_ext_man_get_cavs_config_data(struct snd_sof_dev *sdev,
691691

692692
return 0;
693693
}
694+
EXPORT_SYMBOL_NS(hda_dsp_ext_man_get_cavs_config_data, SND_SOC_SOF_INTEL_HDA_COMMON);

sound/soc/sof/intel/hda-pcm.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ int hda_dsp_pcm_hw_params(struct snd_sof_dev *sdev,
142142

143143
return 0;
144144
}
145+
EXPORT_SYMBOL_NS(hda_dsp_pcm_hw_params, SND_SOC_SOF_INTEL_HDA_COMMON);
145146

146147
/* update SPIB register with appl position */
147148
int hda_dsp_pcm_ack(struct snd_sof_dev *sdev, struct snd_pcm_substream *substream)
@@ -164,6 +165,7 @@ int hda_dsp_pcm_ack(struct snd_sof_dev *sdev, struct snd_pcm_substream *substrea
164165

165166
return 0;
166167
}
168+
EXPORT_SYMBOL_NS(hda_dsp_pcm_ack, SND_SOC_SOF_INTEL_HDA_COMMON);
167169

168170
int hda_dsp_pcm_trigger(struct snd_sof_dev *sdev,
169171
struct snd_pcm_substream *substream, int cmd)
@@ -173,6 +175,7 @@ int hda_dsp_pcm_trigger(struct snd_sof_dev *sdev,
173175

174176
return hda_dsp_stream_trigger(sdev, hext_stream, cmd);
175177
}
178+
EXPORT_SYMBOL_NS(hda_dsp_pcm_trigger, SND_SOC_SOF_INTEL_HDA_COMMON);
176179

177180
snd_pcm_uframes_t hda_dsp_pcm_pointer(struct snd_sof_dev *sdev,
178181
struct snd_pcm_substream *substream)
@@ -204,6 +207,7 @@ snd_pcm_uframes_t hda_dsp_pcm_pointer(struct snd_sof_dev *sdev,
204207
trace_sof_intel_hda_dsp_pcm(sdev, hstream, substream, pos);
205208
return pos;
206209
}
210+
EXPORT_SYMBOL_NS(hda_dsp_pcm_pointer, SND_SOC_SOF_INTEL_HDA_COMMON);
207211

208212
int hda_dsp_pcm_open(struct snd_sof_dev *sdev,
209213
struct snd_pcm_substream *substream)
@@ -292,6 +296,7 @@ int hda_dsp_pcm_open(struct snd_sof_dev *sdev,
292296

293297
return 0;
294298
}
299+
EXPORT_SYMBOL_NS(hda_dsp_pcm_open, SND_SOC_SOF_INTEL_HDA_COMMON);
295300

296301
int hda_dsp_pcm_close(struct snd_sof_dev *sdev,
297302
struct snd_pcm_substream *substream)
@@ -311,3 +316,4 @@ int hda_dsp_pcm_close(struct snd_sof_dev *sdev,
311316
substream->runtime->private_data = NULL;
312317
return 0;
313318
}
319+
EXPORT_SYMBOL_NS(hda_dsp_pcm_close, SND_SOC_SOF_INTEL_HDA_COMMON);

0 commit comments

Comments
 (0)