Commit b7c5169a authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/i2c: tda998x: drop support for platform_data



After the commit 0fb2970b ("drm/armada: remove non-component
support") there are no remaining users of the struct
tda998x_encoder_params. Drop the header and corresponding API from the
TDA998x driver.

Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250113-drm-move-tda998x-v3-1-214e0682a5e4@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent f4dd4cb7
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -17081,7 +17081,6 @@ S: Maintained
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
F:	drivers/gpu/drm/i2c/tda998x_drv.c
F:	include/drm/i2c/tda998x.h
F:	include/dt-bindings/display/tda998x.h
K:	"nxp,tda998x"
+4 −45
Original line number Diff line number Diff line
@@ -21,10 +21,11 @@
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>
#include <drm/i2c/tda998x.h>

#include <media/cec-notifier.h>

#include <dt-bindings/display/tda998x.h>

#define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)

enum {
@@ -1717,10 +1718,10 @@ static int tda998x_get_audio_ports(struct tda998x_priv *priv,
		u8 ena_ap = be32_to_cpup(&port_data[2*i+1]);

		switch (afmt) {
		case AFMT_I2S:
		case TDA998x_I2S:
			route = AUDIO_ROUTE_I2S;
			break;
		case AFMT_SPDIF:
		case TDA998x_SPDIF:
			route = AUDIO_ROUTE_SPDIF;
			break;
		default:
@@ -1746,44 +1747,6 @@ static int tda998x_get_audio_ports(struct tda998x_priv *priv,
	return 0;
}

static int tda998x_set_config(struct tda998x_priv *priv,
			      const struct tda998x_encoder_params *p)
{
	priv->vip_cntrl_0 = VIP_CNTRL_0_SWAP_A(p->swap_a) |
			    (p->mirr_a ? VIP_CNTRL_0_MIRR_A : 0) |
			    VIP_CNTRL_0_SWAP_B(p->swap_b) |
			    (p->mirr_b ? VIP_CNTRL_0_MIRR_B : 0);
	priv->vip_cntrl_1 = VIP_CNTRL_1_SWAP_C(p->swap_c) |
			    (p->mirr_c ? VIP_CNTRL_1_MIRR_C : 0) |
			    VIP_CNTRL_1_SWAP_D(p->swap_d) |
			    (p->mirr_d ? VIP_CNTRL_1_MIRR_D : 0);
	priv->vip_cntrl_2 = VIP_CNTRL_2_SWAP_E(p->swap_e) |
			    (p->mirr_e ? VIP_CNTRL_2_MIRR_E : 0) |
			    VIP_CNTRL_2_SWAP_F(p->swap_f) |
			    (p->mirr_f ? VIP_CNTRL_2_MIRR_F : 0);

	if (p->audio_params.format != AFMT_UNUSED) {
		unsigned int ratio, route;
		bool spdif = p->audio_params.format == AFMT_SPDIF;

		route = AUDIO_ROUTE_I2S + spdif;

		priv->audio.route = &tda998x_audio_route[route];
		priv->audio.cea = p->audio_params.cea;
		priv->audio.sample_rate = p->audio_params.sample_rate;
		memcpy(priv->audio.status, p->audio_params.status,
		       min(sizeof(priv->audio.status),
			   sizeof(p->audio_params.status)));
		priv->audio.ena_ap = p->audio_params.config;
		priv->audio.i2s_format = I2S_FORMAT_PHILIPS;

		ratio = spdif ? 64 : p->audio_params.sample_width * 2;
		return tda998x_derive_cts_n(priv, &priv->audio, ratio);
	}

	return 0;
}

static void tda998x_destroy(struct device *dev)
{
	struct tda998x_priv *priv = dev_get_drvdata(dev);
@@ -1982,10 +1945,6 @@ static int tda998x_create(struct device *dev)
		if (priv->audio_port_enable[AUDIO_ROUTE_I2S] ||
		    priv->audio_port_enable[AUDIO_ROUTE_SPDIF])
			tda998x_audio_codec_init(priv, &client->dev);
	} else if (dev->platform_data) {
		ret = tda998x_set_config(priv, dev->platform_data);
		if (ret)
			goto fail;
	}

	priv->bridge.funcs = &tda998x_bridge_funcs;

include/drm/i2c/tda998x.h

deleted100644 → 0
+0 −40
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __DRM_I2C_TDA998X_H__
#define __DRM_I2C_TDA998X_H__

#include <linux/hdmi.h>
#include <dt-bindings/display/tda998x.h>

enum {
	AFMT_UNUSED =	0,
	AFMT_SPDIF =	TDA998x_SPDIF,
	AFMT_I2S =	TDA998x_I2S,
};

struct tda998x_audio_params {
	u8 config;
	u8 format;
	unsigned sample_width;
	unsigned sample_rate;
	struct hdmi_audio_infoframe cea;
	u8 status[5];
};

struct tda998x_encoder_params {
	u8 swap_b:3;
	u8 mirr_b:1;
	u8 swap_a:3;
	u8 mirr_a:1;
	u8 swap_d:3;
	u8 mirr_d:1;
	u8 swap_c:3;
	u8 mirr_c:1;
	u8 swap_f:3;
	u8 mirr_f:1;
	u8 swap_e:3;
	u8 mirr_e:1;

	struct tda998x_audio_params audio_params;
};

#endif