All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiner Kallweit <hkallweit1@gmail.com>
To: Wolfram Sang <wsa@kernel.org>, Helge Deller <deller@gmx.de>
Cc: linux-i2c@vger.kernel.org, Heiner Kallweit <hkallweit1@gmail.com>,
	linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v4 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support
Date: Mon, 20 Nov 2023 22:46:08 +0100	[thread overview]
Message-ID: <20231120214624.9378-6-hkallweit1@gmail.com> (raw)
In-Reply-To: <20231120214624.9378-1-hkallweit1@gmail.com>

After removal of the legacy EEPROM driver and I2C_CLASS_DDC support in
olpc_dcon there's no i2c client driver left supporting I2C_CLASS_DDC.
Class-based device auto-detection is a legacy mechanism and shouldn't
be used in new code. So we can remove this class completely now.

Preferably this series should be applied via the i2c tree.

Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
v3:
 - fix compile error
---
 drivers/video/fbdev/i740fb.c              |  1 -
 drivers/video/fbdev/matrox/i2c-matroxfb.c | 15 +++++----------
 drivers/video/fbdev/s3fb.c                |  1 -
 drivers/video/fbdev/tdfxfb.c              |  1 -
 drivers/video/fbdev/tridentfb.c           |  1 -
 5 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/drivers/video/fbdev/i740fb.c b/drivers/video/fbdev/i740fb.c
index 1897e65ab..9b74dae71 100644
--- a/drivers/video/fbdev/i740fb.c
+++ b/drivers/video/fbdev/i740fb.c
@@ -163,7 +163,6 @@ static int i740fb_setup_ddc_bus(struct fb_info *info)
 	strscpy(par->ddc_adapter.name, info->fix.id,
 		sizeof(par->ddc_adapter.name));
 	par->ddc_adapter.owner		= THIS_MODULE;
-	par->ddc_adapter.class		= I2C_CLASS_DDC;
 	par->ddc_adapter.algo_data	= &par->ddc_algo;
 	par->ddc_adapter.dev.parent	= info->device;
 	par->ddc_algo.setsda		= i740fb_ddc_setsda;
diff --git a/drivers/video/fbdev/matrox/i2c-matroxfb.c b/drivers/video/fbdev/matrox/i2c-matroxfb.c
index e2e4705e3..bb048e14b 100644
--- a/drivers/video/fbdev/matrox/i2c-matroxfb.c
+++ b/drivers/video/fbdev/matrox/i2c-matroxfb.c
@@ -100,8 +100,7 @@ static const struct i2c_algo_bit_data matrox_i2c_algo_template =
 };
 
 static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo, 
-		unsigned int data, unsigned int clock, const char *name,
-		int class)
+		unsigned int data, unsigned int clock, const char *name)
 {
 	int err;
 
@@ -112,7 +111,6 @@ static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo,
 	snprintf(b->adapter.name, sizeof(b->adapter.name), name,
 		minfo->fbcon.node);
 	i2c_set_adapdata(&b->adapter, b);
-	b->adapter.class = class;
 	b->adapter.algo_data = &b->bac;
 	b->adapter.dev.parent = &minfo->pcidev->dev;
 	b->bac = matrox_i2c_algo_template;
@@ -160,27 +158,24 @@ static void* i2c_matroxfb_probe(struct matrox_fb_info* minfo) {
 		case MGA_2164:
 			err = i2c_bus_reg(&m2info->ddc1, minfo,
 					  DDC1B_DATA, DDC1B_CLK,
-					  "DDC:fb%u #0", I2C_CLASS_DDC);
+					  "DDC:fb%u #0");
 			break;
 		default:
 			err = i2c_bus_reg(&m2info->ddc1, minfo,
 					  DDC1_DATA, DDC1_CLK,
-					  "DDC:fb%u #0", I2C_CLASS_DDC);
+					  "DDC:fb%u #0");
 			break;
 	}
 	if (err)
 		goto fail_ddc1;
 	if (minfo->devflags.dualhead) {
-		err = i2c_bus_reg(&m2info->ddc2, minfo,
-				  DDC2_DATA, DDC2_CLK,
-				  "DDC:fb%u #1", I2C_CLASS_DDC);
+		err = i2c_bus_reg(&m2info->ddc2, minfo, DDC2_DATA, DDC2_CLK, "DDC:fb%u #1");
 		if (err == -ENODEV) {
 			printk(KERN_INFO "i2c-matroxfb: VGA->TV plug detected, DDC unavailable.\n");
 		} else if (err)
 			printk(KERN_INFO "i2c-matroxfb: Could not register secondary output i2c bus. Continuing anyway.\n");
 		/* Register maven bus even on G450/G550 */
-		err = i2c_bus_reg(&m2info->maven, minfo,
-				  MAT_DATA, MAT_CLK, "MAVEN:fb%u", 0);
+		err = i2c_bus_reg(&m2info->maven, minfo, MAT_DATA, MAT_CLK, "MAVEN:fb%u");
 		if (err)
 			printk(KERN_INFO "i2c-matroxfb: Could not register Maven i2c bus. Continuing anyway.\n");
 		else {
diff --git a/drivers/video/fbdev/s3fb.c b/drivers/video/fbdev/s3fb.c
index 589b349cb..07722a5ea 100644
--- a/drivers/video/fbdev/s3fb.c
+++ b/drivers/video/fbdev/s3fb.c
@@ -252,7 +252,6 @@ static int s3fb_setup_ddc_bus(struct fb_info *info)
 	strscpy(par->ddc_adapter.name, info->fix.id,
 		sizeof(par->ddc_adapter.name));
 	par->ddc_adapter.owner		= THIS_MODULE;
-	par->ddc_adapter.class		= I2C_CLASS_DDC;
 	par->ddc_adapter.algo_data	= &par->ddc_algo;
 	par->ddc_adapter.dev.parent	= info->device;
 	par->ddc_algo.setsda		= s3fb_ddc_setsda;
diff --git a/drivers/video/fbdev/tdfxfb.c b/drivers/video/fbdev/tdfxfb.c
index 22aa95313..51ebe7835 100644
--- a/drivers/video/fbdev/tdfxfb.c
+++ b/drivers/video/fbdev/tdfxfb.c
@@ -1267,7 +1267,6 @@ static int tdfxfb_setup_ddc_bus(struct tdfxfb_i2c_chan *chan, const char *name,
 
 	strscpy(chan->adapter.name, name, sizeof(chan->adapter.name));
 	chan->adapter.owner		= THIS_MODULE;
-	chan->adapter.class		= I2C_CLASS_DDC;
 	chan->adapter.algo_data		= &chan->algo;
 	chan->adapter.dev.parent	= dev;
 	chan->algo.setsda		= tdfxfb_ddc_setsda;
diff --git a/drivers/video/fbdev/tridentfb.c b/drivers/video/fbdev/tridentfb.c
index 816d40b6f..516cf2a18 100644
--- a/drivers/video/fbdev/tridentfb.c
+++ b/drivers/video/fbdev/tridentfb.c
@@ -274,7 +274,6 @@ static int tridentfb_setup_ddc_bus(struct fb_info *info)
 	strscpy(par->ddc_adapter.name, info->fix.id,
 		sizeof(par->ddc_adapter.name));
 	par->ddc_adapter.owner		= THIS_MODULE;
-	par->ddc_adapter.class		= I2C_CLASS_DDC;
 	par->ddc_adapter.algo_data	= &par->ddc_algo;
 	par->ddc_adapter.dev.parent	= info->device;
 	if (is_oldclock(par->chip_id)) { /* not sure if this check is OK */
-- 
2.42.1


WARNING: multiple messages have this Message-ID (diff)
From: Heiner Kallweit <hkallweit1@gmail.com>
To: Wolfram Sang <wsa@kernel.org>, Helge Deller <deller@gmx.de>
Cc: linux-kernel@vger.kernel.org, linux-fbdev@vger.kernel.org,
	linux-i2c@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Heiner Kallweit <hkallweit1@gmail.com>
Subject: [PATCH v4 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support
Date: Mon, 20 Nov 2023 22:46:08 +0100	[thread overview]
Message-ID: <20231120214624.9378-6-hkallweit1@gmail.com> (raw)
In-Reply-To: <20231120214624.9378-1-hkallweit1@gmail.com>

After removal of the legacy EEPROM driver and I2C_CLASS_DDC support in
olpc_dcon there's no i2c client driver left supporting I2C_CLASS_DDC.
Class-based device auto-detection is a legacy mechanism and shouldn't
be used in new code. So we can remove this class completely now.

Preferably this series should be applied via the i2c tree.

Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
v3:
 - fix compile error
---
 drivers/video/fbdev/i740fb.c              |  1 -
 drivers/video/fbdev/matrox/i2c-matroxfb.c | 15 +++++----------
 drivers/video/fbdev/s3fb.c                |  1 -
 drivers/video/fbdev/tdfxfb.c              |  1 -
 drivers/video/fbdev/tridentfb.c           |  1 -
 5 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/drivers/video/fbdev/i740fb.c b/drivers/video/fbdev/i740fb.c
index 1897e65ab..9b74dae71 100644
--- a/drivers/video/fbdev/i740fb.c
+++ b/drivers/video/fbdev/i740fb.c
@@ -163,7 +163,6 @@ static int i740fb_setup_ddc_bus(struct fb_info *info)
 	strscpy(par->ddc_adapter.name, info->fix.id,
 		sizeof(par->ddc_adapter.name));
 	par->ddc_adapter.owner		= THIS_MODULE;
-	par->ddc_adapter.class		= I2C_CLASS_DDC;
 	par->ddc_adapter.algo_data	= &par->ddc_algo;
 	par->ddc_adapter.dev.parent	= info->device;
 	par->ddc_algo.setsda		= i740fb_ddc_setsda;
diff --git a/drivers/video/fbdev/matrox/i2c-matroxfb.c b/drivers/video/fbdev/matrox/i2c-matroxfb.c
index e2e4705e3..bb048e14b 100644
--- a/drivers/video/fbdev/matrox/i2c-matroxfb.c
+++ b/drivers/video/fbdev/matrox/i2c-matroxfb.c
@@ -100,8 +100,7 @@ static const struct i2c_algo_bit_data matrox_i2c_algo_template =
 };
 
 static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo, 
-		unsigned int data, unsigned int clock, const char *name,
-		int class)
+		unsigned int data, unsigned int clock, const char *name)
 {
 	int err;
 
@@ -112,7 +111,6 @@ static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo,
 	snprintf(b->adapter.name, sizeof(b->adapter.name), name,
 		minfo->fbcon.node);
 	i2c_set_adapdata(&b->adapter, b);
-	b->adapter.class = class;
 	b->adapter.algo_data = &b->bac;
 	b->adapter.dev.parent = &minfo->pcidev->dev;
 	b->bac = matrox_i2c_algo_template;
@@ -160,27 +158,24 @@ static void* i2c_matroxfb_probe(struct matrox_fb_info* minfo) {
 		case MGA_2164:
 			err = i2c_bus_reg(&m2info->ddc1, minfo,
 					  DDC1B_DATA, DDC1B_CLK,
-					  "DDC:fb%u #0", I2C_CLASS_DDC);
+					  "DDC:fb%u #0");
 			break;
 		default:
 			err = i2c_bus_reg(&m2info->ddc1, minfo,
 					  DDC1_DATA, DDC1_CLK,
-					  "DDC:fb%u #0", I2C_CLASS_DDC);
+					  "DDC:fb%u #0");
 			break;
 	}
 	if (err)
 		goto fail_ddc1;
 	if (minfo->devflags.dualhead) {
-		err = i2c_bus_reg(&m2info->ddc2, minfo,
-				  DDC2_DATA, DDC2_CLK,
-				  "DDC:fb%u #1", I2C_CLASS_DDC);
+		err = i2c_bus_reg(&m2info->ddc2, minfo, DDC2_DATA, DDC2_CLK, "DDC:fb%u #1");
 		if (err == -ENODEV) {
 			printk(KERN_INFO "i2c-matroxfb: VGA->TV plug detected, DDC unavailable.\n");
 		} else if (err)
 			printk(KERN_INFO "i2c-matroxfb: Could not register secondary output i2c bus. Continuing anyway.\n");
 		/* Register maven bus even on G450/G550 */
-		err = i2c_bus_reg(&m2info->maven, minfo,
-				  MAT_DATA, MAT_CLK, "MAVEN:fb%u", 0);
+		err = i2c_bus_reg(&m2info->maven, minfo, MAT_DATA, MAT_CLK, "MAVEN:fb%u");
 		if (err)
 			printk(KERN_INFO "i2c-matroxfb: Could not register Maven i2c bus. Continuing anyway.\n");
 		else {
diff --git a/drivers/video/fbdev/s3fb.c b/drivers/video/fbdev/s3fb.c
index 589b349cb..07722a5ea 100644
--- a/drivers/video/fbdev/s3fb.c
+++ b/drivers/video/fbdev/s3fb.c
@@ -252,7 +252,6 @@ static int s3fb_setup_ddc_bus(struct fb_info *info)
 	strscpy(par->ddc_adapter.name, info->fix.id,
 		sizeof(par->ddc_adapter.name));
 	par->ddc_adapter.owner		= THIS_MODULE;
-	par->ddc_adapter.class		= I2C_CLASS_DDC;
 	par->ddc_adapter.algo_data	= &par->ddc_algo;
 	par->ddc_adapter.dev.parent	= info->device;
 	par->ddc_algo.setsda		= s3fb_ddc_setsda;
diff --git a/drivers/video/fbdev/tdfxfb.c b/drivers/video/fbdev/tdfxfb.c
index 22aa95313..51ebe7835 100644
--- a/drivers/video/fbdev/tdfxfb.c
+++ b/drivers/video/fbdev/tdfxfb.c
@@ -1267,7 +1267,6 @@ static int tdfxfb_setup_ddc_bus(struct tdfxfb_i2c_chan *chan, const char *name,
 
 	strscpy(chan->adapter.name, name, sizeof(chan->adapter.name));
 	chan->adapter.owner		= THIS_MODULE;
-	chan->adapter.class		= I2C_CLASS_DDC;
 	chan->adapter.algo_data		= &chan->algo;
 	chan->adapter.dev.parent	= dev;
 	chan->algo.setsda		= tdfxfb_ddc_setsda;
diff --git a/drivers/video/fbdev/tridentfb.c b/drivers/video/fbdev/tridentfb.c
index 816d40b6f..516cf2a18 100644
--- a/drivers/video/fbdev/tridentfb.c
+++ b/drivers/video/fbdev/tridentfb.c
@@ -274,7 +274,6 @@ static int tridentfb_setup_ddc_bus(struct fb_info *info)
 	strscpy(par->ddc_adapter.name, info->fix.id,
 		sizeof(par->ddc_adapter.name));
 	par->ddc_adapter.owner		= THIS_MODULE;
-	par->ddc_adapter.class		= I2C_CLASS_DDC;
 	par->ddc_adapter.algo_data	= &par->ddc_algo;
 	par->ddc_adapter.dev.parent	= info->device;
 	if (is_oldclock(par->chip_id)) { /* not sure if this check is OK */
-- 
2.42.1


  parent reply	other threads:[~2023-11-20 21:46 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-20 21:46 [PATCH v4 00/20] remove I2C_CLASS_DDC support Heiner Kallweit
2023-11-20 21:46 ` Heiner Kallweit
2023-11-20 21:46 ` Heiner Kallweit
2023-11-20 21:46 ` Heiner Kallweit
2023-11-20 21:46 ` [Intel-gfx] " Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 01/20] drivers/gpu/drm/rockchip: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 02/20] drivers/gpu/drm/mgag200/mgag200_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 03/20] drm/amd/display: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 04/20] drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` Heiner Kallweit [this message]
2023-11-20 21:46   ` [PATCH v4 05/20] drivers/video/fbdev: " Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 06/20] drivers/video/fbdev/core/fb_ddc.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 07/20] drivers/gpu/drm: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 08/20] drivers/gpu/drm/loongson/lsdc_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 09/20] drivers/video/fbdev/via/via_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 10/20] drivers/video/fbdev/cyber2000fb.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 11/20] drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 12/20] drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 14/20] drivers/gpu/drm/msm/hdmi/hdmi_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [Intel-gfx] [PATCH v4 15/20] drivers/gpu/drm/i915/display: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 16/20] drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 17/20] drivers/gpu/drm/ast/ast_i2c.c: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 18/20] drivers/gpu/drm/gma500: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 19/20] drivers/gpu/drm/display: " Heiner Kallweit
2023-11-20 21:46   ` Heiner Kallweit
2023-11-20 21:46 ` [PATCH v4 20/20] include/linux/i2c.h: " Heiner Kallweit
2023-11-21  8:58 ` [Intel-gfx] [PATCH v4 00/20] " Jani Nikula
2023-11-21  8:58   ` Jani Nikula
2023-11-21  8:58   ` Jani Nikula
2023-11-21  8:58   ` Jani Nikula
2023-11-21 12:25   ` Heiner Kallweit
2023-11-21 12:25     ` Heiner Kallweit
2023-11-21 12:25     ` Heiner Kallweit
2023-11-21 12:25     ` Heiner Kallweit
2023-11-23  6:56 ` Thomas Zimmermann
2023-11-23  6:56   ` Thomas Zimmermann
2023-11-23  6:56   ` Thomas Zimmermann
2023-11-23  6:56   ` Thomas Zimmermann
2023-11-23  6:56   ` [Intel-gfx] " Thomas Zimmermann
2023-11-23  7:16   ` Heiner Kallweit
2023-11-23  7:16     ` Heiner Kallweit
2023-11-23  7:16     ` Heiner Kallweit
2023-11-23  7:16     ` Heiner Kallweit
2023-11-23  7:16     ` [Intel-gfx] " Heiner Kallweit
2023-11-23  8:19     ` Thomas Zimmermann
2023-11-23  8:19       ` Thomas Zimmermann
2023-11-23  8:19       ` Thomas Zimmermann
2023-11-23  8:19       ` Thomas Zimmermann
2023-11-23  8:19       ` [Intel-gfx] " Thomas Zimmermann
2023-11-23  8:34       ` Heiner Kallweit
2023-11-23  8:34         ` Heiner Kallweit
2023-11-23  8:34         ` Heiner Kallweit
2023-11-23  8:34         ` Heiner Kallweit
2023-11-23  8:34         ` [Intel-gfx] " Heiner Kallweit
2023-11-23  8:52         ` Thomas Zimmermann
2023-11-23  8:52           ` Thomas Zimmermann
2023-11-23  8:52           ` Thomas Zimmermann
2023-11-23  8:52           ` Thomas Zimmermann
2023-11-23  8:52           ` [Intel-gfx] " Thomas Zimmermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231120214624.9378-6-hkallweit1@gmail.com \
    --to=hkallweit1@gmail.com \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wsa@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.