Re: [alsa-devel] [RFC PATCH 8/9] soundwire: intel: remove platform devices and provide new interface

From: Pierre-Louis Bossart
Date: Wed Sep 18 2019 - 09:49:23 EST


On 9/18/19 7:06 AM, Greg KH wrote:
On Tue, Sep 17, 2019 at 09:29:52AM -0500, Pierre-Louis Bossart wrote:
On 9/17/19 12:55 AM, Greg KH wrote:
On Mon, Sep 16, 2019 at 04:23:41PM -0500, Pierre-Louis Bossart wrote:
+/**
+ * sdw_intel_probe() - SoundWire Intel probe routine
+ * @parent_handle: ACPI parent handle
+ * @res: resource data
+ *
+ * This creates SoundWire Master and Slave devices below the controller.
+ * All the information necessary is stored in the context, and the res
+ * argument pointer can be freed after this step.
+ */
+struct sdw_intel_ctx
+*sdw_intel_probe(struct sdw_intel_res *res)
+{
+ return sdw_intel_probe_controller(res);
+}
+EXPORT_SYMBOL(sdw_intel_probe);
+
+/**
+ * sdw_intel_startup() - SoundWire Intel startup
+ * @ctx: SoundWire context allocated in the probe
+ *
+ */
+int sdw_intel_startup(struct sdw_intel_ctx *ctx)
+{
+ return sdw_intel_startup_controller(ctx);
+}
+EXPORT_SYMBOL(sdw_intel_startup);

Why are you exporting these functions if no one calls them?

They are used in the next series, see '[RFC PATCH 04/12] ASoC: SOF: Intel:
add SoundWire configuration interface'

That wasn't obvious :)

Also, why not EXPORT_SYMBOL_GPL()? :)

Since the beginning of this SoundWire work, the intent what that the code could be reused in non-GPL open-source circles, hence the dual license and EXPORT_SYMBOL.
That said, there are cases where the code only makes sense for Linux, or relies on symbols that are exported with EXPORT_SYMBOL_GPL, in those cases we rely on GPLv2 and EXPORT_SYMBOL_GPL. For this series I added a disclaimer in the cover letter that those parts need to be reviewed further to make sure there are no conflicts with GPL.
This is an RFC-level contribution to check if my understanding of the bus/device/driver model is aligned with recommendations. I've already made local improvements by fixing bisect issues, removing warnings, improved some sequences, and that GPL question will be revisited before I send a formal patch.