On Tue, 19 Feb 2019 at 16:20, Sylwester Nawrocki s.nawrocki@samsung.com wrote:
On some SoCs (e.g. Exynos5433) there are multiple "IIS multi audio interfaces" and the driver will try to register there multiple times same platform device for the secondary FIFO, which of course fails miserably. To fix this we derive the secondary platform device name from the primary device name. The secondary device name will now be <primary_dev_name>-sec instead of fixed "samsung-i2s-sec".
The fixed platform_device_id table entry is removed as the secondary device name is now dynamic and device/driver matching is done through driver_override.
Reported-by: Marek Szyprowski m.szyprowski@samsung.com Suggested-by: Marek Szyprowski m.szyprowski@samsung.com Signed-off-by: Sylwester Nawrocki s.nawrocki@samsung.com
Changes since v1:
- fixed pdev->driver_override assignment,
- ensure there is no need to release any resources claimed in i2s_create_secondary_device() function when that function fails.
sound/soc/samsung/i2s.c | 50 +++++++++++++++++++++++++------------- sound/soc/samsung/odroid.c | 2 +- 2 files changed, 34 insertions(+), 18 deletions(-)
Acked-by: Krzysztof Kozlowski krzk@kernel.org
Best regards, Krzysztof