* [PATCH v5 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support
2023-11-23 9:40 [PATCH v5 00/20] remove I2C_CLASS_DDC support Heiner Kallweit
@ 2023-11-23 9:40 ` Heiner Kallweit
2023-11-23 9:40 ` [PATCH v5 06/20] drivers/video/fbdev/core/fb_ddc.c: " Heiner Kallweit
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Heiner Kallweit @ 2023-11-23 9:40 UTC (permalink / raw)
To: Wolfram Sang, Helge Deller
Cc: linux-i2c, Heiner Kallweit, linux-fbdev, dri-devel, linux-kernel,
Thomas Zimmermann
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>
Acked-by: Thomas Zimmermann <tzimmermann@suse.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
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 06/20] drivers/video/fbdev/core/fb_ddc.c: remove I2C_CLASS_DDC support
2023-11-23 9:40 [PATCH v5 00/20] remove I2C_CLASS_DDC support Heiner Kallweit
2023-11-23 9:40 ` [PATCH v5 05/20] drivers/video/fbdev: " Heiner Kallweit
@ 2023-11-23 9:40 ` Heiner Kallweit
2023-11-23 9:40 ` [PATCH v5 09/20] drivers/video/fbdev/via/via_i2c.c: " Heiner Kallweit
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Heiner Kallweit @ 2023-11-23 9:40 UTC (permalink / raw)
To: Wolfram Sang, Daniel Vetter
Cc: linux-i2c, Heiner Kallweit, Helge Deller, linux-fbdev, dri-devel,
linux-kernel, Thomas Zimmermann
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>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/video/fbdev/core/fb_ddc.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/video/fbdev/core/fb_ddc.c b/drivers/video/fbdev/core/fb_ddc.c
index 8bf5f2f54..e25143219 100644
--- a/drivers/video/fbdev/core/fb_ddc.c
+++ b/drivers/video/fbdev/core/fb_ddc.c
@@ -116,7 +116,6 @@ unsigned char *fb_ddc_read(struct i2c_adapter *adapter)
algo_data->setsda(algo_data->data, 1);
algo_data->setscl(algo_data->data, 1);
- adapter->class |= I2C_CLASS_DDC;
return edid;
}
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 09/20] drivers/video/fbdev/via/via_i2c.c: remove I2C_CLASS_DDC support
2023-11-23 9:40 [PATCH v5 00/20] remove I2C_CLASS_DDC support Heiner Kallweit
2023-11-23 9:40 ` [PATCH v5 05/20] drivers/video/fbdev: " Heiner Kallweit
2023-11-23 9:40 ` [PATCH v5 06/20] drivers/video/fbdev/core/fb_ddc.c: " Heiner Kallweit
@ 2023-11-23 9:40 ` Heiner Kallweit
2023-11-23 9:40 ` [PATCH v5 10/20] drivers/video/fbdev/cyber2000fb.c: " Heiner Kallweit
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Heiner Kallweit @ 2023-11-23 9:40 UTC (permalink / raw)
To: Wolfram Sang, Florian Tobias Schandinat
Cc: linux-i2c, Heiner Kallweit, Helge Deller, linux-fbdev, dri-devel,
linux-kernel, Thomas Zimmermann
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>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/video/fbdev/via/via_i2c.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/video/fbdev/via/via_i2c.c b/drivers/video/fbdev/via/via_i2c.c
index c35e530e0..582502810 100644
--- a/drivers/video/fbdev/via/via_i2c.c
+++ b/drivers/video/fbdev/via/via_i2c.c
@@ -201,7 +201,6 @@ static int create_i2c_bus(struct i2c_adapter *adapter,
sprintf(adapter->name, "viafb i2c io_port idx 0x%02x",
adap_cfg->ioport_index);
adapter->owner = THIS_MODULE;
- adapter->class = I2C_CLASS_DDC;
adapter->algo_data = algo;
if (pdev)
adapter->dev.parent = &pdev->dev;
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 10/20] drivers/video/fbdev/cyber2000fb.c: remove I2C_CLASS_DDC support
2023-11-23 9:40 [PATCH v5 00/20] remove I2C_CLASS_DDC support Heiner Kallweit
` (2 preceding siblings ...)
2023-11-23 9:40 ` [PATCH v5 09/20] drivers/video/fbdev/via/via_i2c.c: " Heiner Kallweit
@ 2023-11-23 9:40 ` Heiner Kallweit
2023-11-23 9:40 ` [PATCH v5 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: " Heiner Kallweit
2023-11-23 21:33 ` [PATCH v5 00/20] " Wolfram Sang
5 siblings, 0 replies; 8+ messages in thread
From: Heiner Kallweit @ 2023-11-23 9:40 UTC (permalink / raw)
To: Wolfram Sang, Russell King
Cc: linux-i2c, Heiner Kallweit, Helge Deller, linux-arm-kernel,
linux-fbdev, dri-devel, linux-kernel, Thomas Zimmermann
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>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/video/fbdev/cyber2000fb.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/video/fbdev/cyber2000fb.c b/drivers/video/fbdev/cyber2000fb.c
index 52105dc1a..79775deda 100644
--- a/drivers/video/fbdev/cyber2000fb.c
+++ b/drivers/video/fbdev/cyber2000fb.c
@@ -1234,7 +1234,6 @@ static int cyber2000fb_setup_ddc_bus(struct cfb_info *cfb)
strscpy(cfb->ddc_adapter.name, cfb->fb.fix.id,
sizeof(cfb->ddc_adapter.name));
cfb->ddc_adapter.owner = THIS_MODULE;
- cfb->ddc_adapter.class = I2C_CLASS_DDC;
cfb->ddc_adapter.algo_data = &cfb->ddc_algo;
cfb->ddc_adapter.dev.parent = cfb->fb.device;
cfb->ddc_algo.setsda = cyber2000fb_ddc_setsda;
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: remove I2C_CLASS_DDC support
2023-11-23 9:40 [PATCH v5 00/20] remove I2C_CLASS_DDC support Heiner Kallweit
` (3 preceding siblings ...)
2023-11-23 9:40 ` [PATCH v5 10/20] drivers/video/fbdev/cyber2000fb.c: " Heiner Kallweit
@ 2023-11-23 9:40 ` Heiner Kallweit
2023-11-23 21:33 ` [PATCH v5 00/20] " Wolfram Sang
5 siblings, 0 replies; 8+ messages in thread
From: Heiner Kallweit @ 2023-11-23 9:40 UTC (permalink / raw)
To: Wolfram Sang, Maik Broemme
Cc: linux-i2c, Heiner Kallweit, Helge Deller, linux-fbdev, dri-devel,
linux-kernel, Thomas Zimmermann
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>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/video/fbdev/intelfb/intelfb_i2c.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/video/fbdev/intelfb/intelfb_i2c.c b/drivers/video/fbdev/intelfb/intelfb_i2c.c
index 3300bd31d..f24c7cb4c 100644
--- a/drivers/video/fbdev/intelfb/intelfb_i2c.c
+++ b/drivers/video/fbdev/intelfb/intelfb_i2c.c
@@ -99,8 +99,7 @@ static int intelfb_gpio_getsda(void *data)
static int intelfb_setup_i2c_bus(struct intelfb_info *dinfo,
struct intelfb_i2c_chan *chan,
- const u32 reg, const char *name,
- int class)
+ const u32 reg, const char *name)
{
int rc;
@@ -108,7 +107,6 @@ static int intelfb_setup_i2c_bus(struct intelfb_info *dinfo,
chan->reg = reg;
snprintf(chan->adapter.name, sizeof(chan->adapter.name),
"intelfb %s", name);
- chan->adapter.class = class;
chan->adapter.owner = THIS_MODULE;
chan->adapter.algo_data = &chan->algo;
chan->adapter.dev.parent = &chan->dinfo->pdev->dev;
@@ -144,8 +142,7 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo)
dinfo->output[i].type = INTELFB_OUTPUT_ANALOG;
/* setup the DDC bus for analog output */
- intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOA,
- "CRTDDC_A", I2C_CLASS_DDC);
+ intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOA, "CRTDDC_A");
i++;
/* need to add the output busses for each device
@@ -159,10 +156,8 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo)
case INTEL_855GM:
case INTEL_865G:
dinfo->output[i].type = INTELFB_OUTPUT_DVO;
- intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus,
- GPIOD, "DVODDC_D", I2C_CLASS_DDC);
- intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus,
- GPIOE, "DVOI2C_E", 0);
+ intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOD, "DVODDC_D");
+ intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus, GPIOE, "DVOI2C_E");
i++;
break;
case INTEL_915G:
@@ -176,7 +171,7 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo)
/* SDVO ports have a single control bus - 2 devices */
dinfo->output[i].type = INTELFB_OUTPUT_SDVO;
intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus,
- GPIOE, "SDVOCTRL_E", 0);
+ GPIOE, "SDVOCTRL_E");
/* TODO: initialize the SDVO */
/* I830SDVOInit(pScrn, i, DVOB); */
i++;
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 00/20] remove I2C_CLASS_DDC support
2023-11-23 9:40 [PATCH v5 00/20] remove I2C_CLASS_DDC support Heiner Kallweit
` (4 preceding siblings ...)
2023-11-23 9:40 ` [PATCH v5 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: " Heiner Kallweit
@ 2023-11-23 21:33 ` Wolfram Sang
2023-12-19 12:13 ` Wolfram Sang
5 siblings, 1 reply; 8+ messages in thread
From: Wolfram Sang @ 2023-11-23 21:33 UTC (permalink / raw)
To: Heiner Kallweit
Cc: intel-gfx, linux-i2c, Jernej Skrabec, Jonas Karlman,
Laurent Pinchart, linux-fbdev, amd-gfx, linux-rockchip,
linux-arm-kernel, dri-devel, linux-kernel, Thomas Zimmermann,
Jocelyn Falempe, linux-sunxi, linux-mediatek, Sean Paul,
Marijn Suijten, linux-arm-msm, freedreno, Xinwei Kong,
Sumit Semwal, Yongqin Liu, John Stultz
[-- Attachment #1: Type: text/plain, Size: 826 bytes --]
On Thu, Nov 23, 2023 at 10:40:20AM +0100, Heiner Kallweit wrote:
> 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.
>
> v2:
> - change tag in commit subject of patch 03
> - add ack tags
> v3:
> - fix a compile error in patch 5
> v4:
> - more ack and review tags
> v5:
> - more acks
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
I created an immutable branch for this which the buildbots will
hopefully check over night. I will reply with comments tomorrow when I
got the buildbot results.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v5 00/20] remove I2C_CLASS_DDC support
2023-11-23 21:33 ` [PATCH v5 00/20] " Wolfram Sang
@ 2023-12-19 12:13 ` Wolfram Sang
0 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2023-12-19 12:13 UTC (permalink / raw)
To: Heiner Kallweit, intel-gfx, linux-i2c, Jernej Skrabec,
Jonas Karlman, Laurent Pinchart, linux-fbdev, amd-gfx,
linux-rockchip, linux-arm-kernel, dri-devel, linux-kernel,
Thomas Zimmermann, Jocelyn Falempe, linux-sunxi, linux-mediatek,
Sean Paul, Marijn Suijten, linux-arm-msm, freedreno, Xinwei Kong,
Sumit Semwal, Yongqin Liu, John Stultz
[-- Attachment #1: Type: text/plain, Size: 199 bytes --]
> I created an immutable branch for this which the buildbots will
> hopefully check over night. I will reply with comments tomorrow when I
> got the buildbot results.
Applied to for-next, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread