[PATCH] drm/amd/pm: remove deprecated I2C_CLASS_SPD support from newly added SMU_14_0_2

2024-05-09 Thread Heiner Kallweit
Support for I2C_CLASS_SPD  is currently being removed from the kernel.
Only remaining step is to remove the definition of I2C_CLASS_SPD.
Setting I2C_CLASS_SPD  in a driver is a no-op meanwhile, so remove it
here.

Signed-off-by: Heiner Kallweit 
---
 drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
index 0d5ad531c..fb6f3bbe2 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
@@ -1616,7 +1616,6 @@ static int smu_v14_0_2_i2c_control_init(struct 
smu_context *smu)
smu_i2c->port = i;
mutex_init(_i2c->mutex);
control->owner = THIS_MODULE;
-   control->class = I2C_CLASS_SPD;
control->dev.parent = >pdev->dev;
control->algo = _v14_0_2_i2c_algo;
snprintf(control->name, sizeof(control->name), "AMDGPU SMU %d", 
i);
-- 
2.45.0



[PATCH] i2c: mux: Remove class argument from i2c_mux_add_adapter()

2024-04-18 Thread Heiner Kallweit
99a741aa7a2d ("i2c: mux: gpio: remove support for class-based device
instantiation") removed the last call to i2c_mux_add_adapter() with a
non-null class argument. Therefore the class argument can be removed.

Note: Class-based device instantiation is a legacy mechanism which
shouldn't be used in new code, so we can rule out that this argument
may be needed again in the future.

Signed-off-by: Heiner Kallweit 
---
 drivers/gpu/drm/bridge/sii902x.c   |  2 +-
 drivers/i2c/i2c-mux.c  | 24 +-
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c |  2 +-
 drivers/i2c/muxes/i2c-mux-gpio.c   |  2 +-
 drivers/i2c/muxes/i2c-mux-gpmux.c  |  2 +-
 drivers/i2c/muxes/i2c-mux-ltc4306.c|  2 +-
 drivers/i2c/muxes/i2c-mux-mlxcpld.c|  2 +-
 drivers/i2c/muxes/i2c-mux-pca9541.c|  2 +-
 drivers/i2c/muxes/i2c-mux-pca954x.c|  2 +-
 drivers/i2c/muxes/i2c-mux-pinctrl.c|  2 +-
 drivers/i2c/muxes/i2c-mux-reg.c|  2 +-
 drivers/iio/gyro/mpu3050-i2c.c |  2 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c  |  2 +-
 drivers/media/dvb-frontends/af9013.c   |  2 +-
 drivers/media/dvb-frontends/lgdt3306a.c|  2 +-
 drivers/media/dvb-frontends/m88ds3103.c|  2 +-
 drivers/media/dvb-frontends/rtl2830.c  |  2 +-
 drivers/media/dvb-frontends/rtl2832.c  |  2 +-
 drivers/media/dvb-frontends/si2168.c   |  2 +-
 drivers/media/i2c/max9286.c|  2 +-
 drivers/media/usb/cx231xx/cx231xx-i2c.c|  5 +
 drivers/of/unittest.c  |  2 +-
 include/linux/i2c-mux.h|  3 +--
 23 files changed, 23 insertions(+), 49 deletions(-)

diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
index 8f84e9824..2fbeda902 100644
--- a/drivers/gpu/drm/bridge/sii902x.c
+++ b/drivers/gpu/drm/bridge/sii902x.c
@@ -1092,7 +1092,7 @@ static int sii902x_init(struct sii902x *sii902x)
}
 
sii902x->i2cmux->priv = sii902x;
-   ret = i2c_mux_add_adapter(sii902x->i2cmux, 0, 0, 0);
+   ret = i2c_mux_add_adapter(sii902x->i2cmux, 0, 0);
if (ret)
goto err_unreg_audio;
 
diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c
index 57ff09f18..fda72e8be 100644
--- a/drivers/i2c/i2c-mux.c
+++ b/drivers/i2c/i2c-mux.c
@@ -127,19 +127,6 @@ static u32 i2c_mux_functionality(struct i2c_adapter *adap)
return parent->algo->functionality(parent);
 }
 
-/* Return all parent classes, merged */
-static unsigned int i2c_mux_parent_classes(struct i2c_adapter *parent)
-{
-   unsigned int class = 0;
-
-   do {
-   class |= parent->class;
-   parent = i2c_parent_is_i2c_adapter(parent);
-   } while (parent);
-
-   return class;
-}
-
 static void i2c_mux_lock_bus(struct i2c_adapter *adapter, unsigned int flags)
 {
struct i2c_mux_priv *priv = adapter->algo_data;
@@ -281,8 +268,7 @@ static const struct i2c_lock_operations i2c_parent_lock_ops 
= {
 };
 
 int i2c_mux_add_adapter(struct i2c_mux_core *muxc,
-   u32 force_nr, u32 chan_id,
-   unsigned int class)
+   u32 force_nr, u32 chan_id)
 {
struct i2c_adapter *parent = muxc->parent;
struct i2c_mux_priv *priv;
@@ -340,14 +326,6 @@ int i2c_mux_add_adapter(struct i2c_mux_core *muxc,
else
priv->adap.lock_ops = _parent_lock_ops;
 
-   /* Sanity check on class */
-   if (i2c_mux_parent_classes(parent) & class & ~I2C_CLASS_DEPRECATED)
-   dev_err(>dev,
-   "Segment %d behind mux can't share classes with 
ancestors\n",
-   chan_id);
-   else
-   priv->adap.class = class;
-
/*
 * Try to populate the mux adapter's of_node, expands to
 * nothing if !CONFIG_OF.
diff --git a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c 
b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
index 24168e9f7..7aa6e795d 100644
--- a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
+++ b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
@@ -167,7 +167,7 @@ static int i2c_arbitrator_probe(struct platform_device 
*pdev)
}
 
/* Actually add the mux adapter */
-   ret = i2c_mux_add_adapter(muxc, 0, 0, 0);
+   ret = i2c_mux_add_adapter(muxc, 0, 0);
if (ret)
i2c_put_adapter(muxc->parent);
 
diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
index 0fbb33a3d..d6bbb8b68 100644
--- a/drivers/i2c/muxes/i2c-mux-gpio.c
+++ b/drivers/i2c/muxes/i2c-mux-gpio.c
@@ -207,7 +207,7 @@ static int i2c_mux_gpio_probe(struct platform_device *pdev)
for (i = 0; i < mux->data.n_values; i++) {
u32 nr = mux->data.base_nr ? (mux->data.base_nr + i) : 0;
 
-   ret = i2c_mux_add_adapter(muxc, nr, mux->data.values[i], 0);
+  

[PATCH v5 11/20] drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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.

Reviewed-by: Neil Armstrong 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 52d91a0df..aca5bb086 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -515,7 +515,6 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct 
dw_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->algo = _hdmi_algorithm;



[PATCH v5 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 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 = >algo;
chan->adapter.dev.parent= >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, >output[i].ddc_bus, GPIOA,
- "CRTDDC_A", I2C_CLASS_DDC);
+   intelfb_setup_i2c_bus(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, >output[i].ddc_bus,
- GPIOD, "DVODDC_D", I2C_CLASS_DDC);
-   intelfb_setup_i2c_bus(dinfo, >output[i].i2c_bus,
- GPIOE, "DVOI2C_E", 0);
+   intelfb_setup_i2c_bus(dinfo, >output[i].ddc_bus, GPIOD, 
"DVODDC_D");
+   intelfb_setup_i2c_bus(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, >output[i].i2c_bus,
- GPIOE, "SDVOCTRL_E", 0);
+ GPIOE, "SDVOCTRL_E");
/* TODO: initialize the SDVO */
/* I830SDVOInit(pScrn, i, DVOB); */
i++;



[PATCH v5 09/20] drivers/video/fbdev/via/via_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 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 = >dev;



[PATCH v5 16/20] drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
index 410bd019b..e6e48651c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
@@ -81,7 +81,6 @@ int hibmc_ddc_create(struct drm_device *drm_dev,
 struct hibmc_connector *connector)
 {
connector->adapter.owner = THIS_MODULE;
-   connector->adapter.class = I2C_CLASS_DDC;
snprintf(connector->adapter.name, I2C_NAME_SIZE, "HIS i2c bit bus");
connector->adapter.dev.parent = drm_dev->dev;
i2c_set_adapdata(>adapter, connector);



[PATCH v5 08/20] drivers/gpu/drm/loongson/lsdc_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/loongson/lsdc_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/loongson/lsdc_i2c.c 
b/drivers/gpu/drm/loongson/lsdc_i2c.c
index 9625d0b1d..ce90c2553 100644
--- a/drivers/gpu/drm/loongson/lsdc_i2c.c
+++ b/drivers/gpu/drm/loongson/lsdc_i2c.c
@@ -154,7 +154,6 @@ int lsdc_create_i2c_chan(struct drm_device *ddev,
adapter = >adapter;
adapter->algo_data = >bit;
adapter->owner = THIS_MODULE;
-   adapter->class = I2C_CLASS_DDC;
adapter->dev.parent = ddev->dev;
adapter->nr = -1;
 



[PATCH v5 10/20] drivers/video/fbdev/cyber2000fb.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 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  = >ddc_algo;
cfb->ddc_adapter.dev.parent = cfb->fb.device;
cfb->ddc_algo.setsda= cyber2000fb_ddc_setsda;



[PATCH v5 12/20] drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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.

Reviewed-by: AngeloGioacchino Del Regno 

Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c 
b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
index d675c954b..54e46e440 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
@@ -297,7 +297,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
 
strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
ddc->adap.owner = THIS_MODULE;
-   ddc->adap.class = I2C_CLASS_DDC;
ddc->adap.algo = _hdmi_ddc_algorithm;
ddc->adap.retries = 3;
ddc->adap.dev.of_node = dev->of_node;



[PATCH v5 14/20] drivers/gpu/drm/msm/hdmi/hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Dmitry Baryshkov 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c 
b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
index de182c004..7aa500d24 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
@@ -249,7 +249,6 @@ struct i2c_adapter *msm_hdmi_i2c_init(struct hdmi *hdmi)
 
 
i2c->owner = THIS_MODULE;
-   i2c->class = I2C_CLASS_DDC;
snprintf(i2c->name, sizeof(i2c->name), "msm hdmi i2c");
i2c->dev.parent = >pdev->dev;
i2c->algo = _hdmi_i2c_algorithm;



[PATCH v5 18/20] drivers/gpu/drm/gma500: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/gma500/cdv_intel_dp.c  |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c   |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c |1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c|1 -
 4 files changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c 
b/drivers/gpu/drm/gma500/cdv_intel_dp.c
index 8992a9507..dd1eb7e98 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
@@ -855,7 +855,6 @@ cdv_intel_dp_i2c_init(struct gma_connector *connector,
 
memset(_dp->adapter, '\0', sizeof (intel_dp->adapter));
intel_dp->adapter.owner = THIS_MODULE;
-   intel_dp->adapter.class = I2C_CLASS_DDC;
strncpy (intel_dp->adapter.name, name, sizeof(intel_dp->adapter.name) - 
1);
intel_dp->adapter.name[sizeof(intel_dp->adapter.name) - 1] = '\0';
intel_dp->adapter.algo_data = _dp->algo;
diff --git a/drivers/gpu/drm/gma500/intel_gmbus.c 
b/drivers/gpu/drm/gma500/intel_gmbus.c
index 09cedabf4..aa4550985 100644
--- a/drivers/gpu/drm/gma500/intel_gmbus.c
+++ b/drivers/gpu/drm/gma500/intel_gmbus.c
@@ -411,7 +411,6 @@ int gma_intel_setup_gmbus(struct drm_device *dev)
struct intel_gmbus *bus = _priv->gmbus[i];
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "gma500 gmbus %s",
diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 
b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
index fc9a34ed5..6daa6669e 100644
--- a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
+++ b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
@@ -168,7 +168,6 @@ static struct i2c_adapter oaktrail_hdmi_i2c_adapter = {
.name   = "oaktrail_hdmi_i2c",
.nr = 3,
.owner  = THIS_MODULE,
-   .class  = I2C_CLASS_DDC,
.algo   = _hdmi_i2c_algorithm,
 };
 
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c 
b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
index d6fd5d726..e4f914dec 100644
--- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
+++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
@@ -2426,7 +2426,6 @@ psb_intel_sdvo_init_ddc_proxy(struct psb_intel_sdvo *sdvo,
  struct drm_device *dev)
 {
sdvo->ddc.owner = THIS_MODULE;
-   sdvo->ddc.class = I2C_CLASS_DDC;
snprintf(sdvo->ddc.name, I2C_NAME_SIZE, "SDVO DDC proxy");
sdvo->ddc.dev.parent = dev->dev;
sdvo->ddc.algo_data = sdvo;



[PATCH v5 07/20] drivers/gpu/drm: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Alex Deucher 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
index 82608df43..d79cb13e1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
@@ -175,7 +175,6 @@ struct amdgpu_i2c_chan *amdgpu_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);
diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c 
b/drivers/gpu/drm/radeon/radeon_i2c.c
index 314d066e6..3d174390a 100644
--- a/drivers/gpu/drm/radeon/radeon_i2c.c
+++ b/drivers/gpu/drm/radeon/radeon_i2c.c
@@ -918,7 +918,6 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v5 15/20] drivers/gpu/drm/i915/display: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Jani Nikula 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/i915/display/intel_gmbus.c |1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c  |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c 
b/drivers/gpu/drm/i915/display/intel_gmbus.c
index 40d7b6f3f..e9e4dcf34 100644
--- a/drivers/gpu/drm/i915/display/intel_gmbus.c
+++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
@@ -899,7 +899,6 @@ int intel_gmbus_setup(struct drm_i915_private *i915)
}
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "i915 gmbus %s", gmbus_pin->name);
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c 
b/drivers/gpu/drm/i915/display/intel_sdvo.c
index a636f42ce..5e64d1baf 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -3311,7 +3311,6 @@ intel_sdvo_init_ddc_proxy(struct intel_sdvo_ddc *ddc,
ddc->ddc_bus = ddc_bus;
 
ddc->ddc.owner = THIS_MODULE;
-   ddc->ddc.class = I2C_CLASS_DDC;
snprintf(ddc->ddc.name, I2C_NAME_SIZE, "SDVO %c DDC%d",
 port_name(sdvo->base.port), ddc_bus);
ddc->ddc.dev.parent = >dev;



[PATCH v5 19/20] drivers/gpu/drm/display: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Alex Deucher 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_helper.c 
b/drivers/gpu/drm/display/drm_dp_helper.c
index f3680f4e6..ac901f4b4 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2102,7 +2102,6 @@ int drm_dp_aux_register(struct drm_dp_aux *aux)
if (!aux->ddc.algo)
drm_dp_aux_init(aux);
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
aux->ddc.dev.parent = aux->dev;
 
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c 
b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 0e0d0e76d..4376e2c1f 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -5803,7 +5803,6 @@ static int drm_dp_mst_register_i2c_bus(struct 
drm_dp_mst_port *port)
aux->ddc.algo_data = aux;
aux->ddc.retries = 3;
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
/* FIXME: set the kdev of the port's connector as parent */
aux->ddc.dev.parent = parent_dev;



[PATCH v5 17/20] drivers/gpu/drm/ast/ast_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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.

Reviewed-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/ast/ast_i2c.c b/drivers/gpu/drm/ast/ast_i2c.c
index 0e845e7ac..e5d3f7121 100644
--- a/drivers/gpu/drm/ast/ast_i2c.c
+++ b/drivers/gpu/drm/ast/ast_i2c.c
@@ -120,7 +120,6 @@ struct ast_i2c_chan *ast_i2c_create(struct drm_device *dev)
return NULL;
 
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v5 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 
---
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  = >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(>adapter, b);
-   b->adapter.class = class;
b->adapter.algo_data = >bac;
b->adapter.dev.parent = >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(>ddc1, minfo,
  DDC1B_DATA, DDC1B_CLK,
- "DDC:fb%u #0", I2C_CLASS_DDC);
+ "DDC:fb%u #0");
break;
default:
err = i2c_bus_reg(>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(>ddc2, minfo,
- DDC2_DATA, DDC2_CLK,
- "DDC:fb%u #1", I2C_CLASS_DDC);
+   err = i2c_bus_reg(>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(>maven, minfo,
- MAT_DATA, MAT_CLK, "MAVEN:fb%u", 0);
+   err = i2c_bus_reg(>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  = >ddc_algo;
par->ddc_adapter.dev.parent = info->device;
par

[PATCH v5 02/20] drivers/gpu/drm/mgag200/mgag200_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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.

Reviewed-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_i2c.c 
b/drivers/gpu/drm/mgag200/mgag200_i2c.c
index 0c48bdf3e..423eb302b 100644
--- a/drivers/gpu/drm/mgag200/mgag200_i2c.c
+++ b/drivers/gpu/drm/mgag200/mgag200_i2c.c
@@ -106,7 +106,6 @@ int mgag200_i2c_init(struct mga_device *mdev, struct 
mga_i2c_chan *i2c)
i2c->data = BIT(info->i2c.data_bit);
i2c->clock = BIT(info->i2c.clock_bit);
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v5 06/20] drivers/video/fbdev/core/fb_ddc.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 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;
 }
 



[PATCH v5 03/20] drm/amd/display: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Harry Wentland 
Acked-by: Alex Deucher 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
v2:
- adjust tag in commit subject
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 6f99f6754..ae1edc6ab 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -7529,7 +7529,6 @@ create_i2c(struct ddc_service *ddc_service,
if (!i2c)
return NULL;
i2c->base.owner = THIS_MODULE;
-   i2c->base.class = I2C_CLASS_DDC;
i2c->base.dev.parent = >pdev->dev;
i2c->base.algo = _dm_i2c_algo;
snprintf(i2c->base.name, sizeof(i2c->base.name), "AMDGPU DM i2c hw bus 
%d", link_index);



[PATCH v5 01/20] drivers/gpu/drm/rockchip: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Heiko Stuebner 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/rockchip/inno_hdmi.c   |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c 
b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 6e5b922a1..a7739b27c 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -793,7 +793,6 @@ static struct i2c_adapter *inno_hdmi_i2c_adapter(struct 
inno_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c 
b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index fa6e592e0..7a3f71aa2 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -725,7 +725,6 @@ static struct i2c_adapter *rk3066_hdmi_i2c_adapter(struct 
rk3066_hdmi *hdmi)
init_completion(>cmpltn);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;



[PATCH v5 04/20] drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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: Jernej Skrabec 
Acked-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c 
b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
index d1a65a921..f5f62eb0e 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
@@ -302,7 +302,6 @@ int sun4i_hdmi_i2c_create(struct device *dev, struct 
sun4i_hdmi *hdmi)
return -ENOMEM;
 
adap->owner = THIS_MODULE;
-   adap->class = I2C_CLASS_DDC;
adap->algo = _hdmi_i2c_algorithm;
strscpy(adap->name, "sun4i_hdmi_i2c adapter", sizeof(adap->name));
i2c_set_adapdata(adap, hdmi);



[PATCH v5 00/20] remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
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 

---

 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |1 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 drivers/gpu/drm/gma500/cdv_intel_dp.c |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c  |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c|1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c   |1 -
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |1 -
 drivers/gpu/drm/i915/display/intel_gmbus.c|1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c |1 -
 drivers/gpu/drm/loongson/lsdc_i2c.c   |1 -
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |1 -
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c   |1 -
 drivers/gpu/drm/rockchip/inno_hdmi.c  |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c|1 -
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c|1 -
 drivers/video/fbdev/core/fb_ddc.c |1 -
 drivers/video/fbdev/cyber2000fb.c |1 -
 drivers/video/fbdev/i740fb.c  |1 -
 drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
 drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
 drivers/video/fbdev/s3fb.c|1 -
 drivers/video/fbdev/tdfxfb.c  |1 -
 drivers/video/fbdev/tridentfb.c   |1 -
 drivers/video/fbdev/via/via_i2c.c |1 -
 include/linux/i2c.h   |1 -
 31 files changed, 9 insertions(+), 47 deletions(-)


Re: [PATCH v4 00/20] remove I2C_CLASS_DDC support

2023-11-23 Thread Heiner Kallweit
On 23.11.2023 09:19, Thomas Zimmermann wrote:
> Hi
> 
> Am 23.11.23 um 08:16 schrieb Heiner Kallweit:
>> On 23.11.2023 07:56, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 20.11.23 um 22:46 schrieb Heiner Kallweit:
>>>> 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
>>>>
>>>> Signed-off-by: Heiner Kallweit 
>>>
>>> Acked-by: Thomas Zimmermann 
>>>
>>> for the patches that don't already have my r-b.
>>>
>> This refers to which patches of the series?
>> Patches 8, 16, 18 are the remaining ones w/o A-b or R-b.
> 
> I've looked through the patchset. Feel free to add my a-b to patches 1 to 19; 
> except for 2 and 17, which already have my r-b.
> 
> BTW I only received 19 patches. is there a patch 20/20?
> 
Yes, see here:
https://patchwork.ozlabs.org/project/linux-i2c/patch/20231120214624.9378-21-hkallwe...@gmail.com/
If you're subscribed to linux-i2c or linux-kernel list you should have received 
it.

> Best regards
> Thomas
> 
>>
>>> Best regards
>>> Thomas
>>>
>> Thanks, Heiner
>>
>>>>
>>>> ---
>>>>
>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |    1 -
>>>>    drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    1 -
>>>>    drivers/gpu/drm/ast/ast_i2c.c |    1 -
>>>>    drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |    1 -
>>>>    drivers/gpu/drm/display/drm_dp_helper.c   |    1 -
>>>>    drivers/gpu/drm/display/drm_dp_mst_topology.c |    1 -
>>>>    drivers/gpu/drm/gma500/cdv_intel_dp.c |    1 -
>>>>    drivers/gpu/drm/gma500/intel_gmbus.c  |    1 -
>>>>    drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c    |    1 -
>>>>    drivers/gpu/drm/gma500/psb_intel_sdvo.c   |    1 -
>>>>    drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |    1 -
>>>>    drivers/gpu/drm/i915/display/intel_gmbus.c    |    1 -
>>>>    drivers/gpu/drm/i915/display/intel_sdvo.c |    1 -
>>>>    drivers/gpu/drm/loongson/lsdc_i2c.c   |    1 -
>>>>    drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |    1 -
>>>>    drivers/gpu/drm/mgag200/mgag200_i2c.c |    1 -
>>>>    drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |    1 -
>>>>    drivers/gpu/drm/radeon/radeon_i2c.c   |    1 -
>>>>    drivers/gpu/drm/rockchip/inno_hdmi.c  |    1 -
>>>>    drivers/gpu/drm/rockchip/rk3066_hdmi.c    |    1 -
>>>>    drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c    |    1 -
>>>>    drivers/video/fbdev/core/fb_ddc.c |    1 -
>>>>    drivers/video/fbdev/cyber2000fb.c |    1 -
>>>>    drivers/video/fbdev/i740fb.c  |    1 -
>>>>    drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
>>>>    drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
>>>>    drivers/video/fbdev/s3fb.c    |    1 -
>>>>    drivers/video/fbdev/tdfxfb.c  |    1 -
>>>>    drivers/video/fbdev/tridentfb.c   |    1 -
>>>>    drivers/video/fbdev/via/via_i2c.c |    1 -
>>>>    include/linux/i2c.h   |    1 -
>>>>    31 files changed, 9 insertions(+), 47 deletions(-)
>>>
>>
> 



Re: [PATCH v4 00/20] remove I2C_CLASS_DDC support

2023-11-22 Thread Heiner Kallweit
On 23.11.2023 07:56, Thomas Zimmermann wrote:
> Hi
> 
> Am 20.11.23 um 22:46 schrieb Heiner Kallweit:
>> 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
>>
>> Signed-off-by: Heiner Kallweit 
> 
> Acked-by: Thomas Zimmermann 
> 
> for the patches that don't already have my r-b.
> 
This refers to which patches of the series?
Patches 8, 16, 18 are the remaining ones w/o A-b or R-b.

> Best regards
> Thomas
> 
Thanks, Heiner

>>
>> ---
>>
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |    1 -
>>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    1 -
>>   drivers/gpu/drm/ast/ast_i2c.c |    1 -
>>   drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |    1 -
>>   drivers/gpu/drm/display/drm_dp_helper.c   |    1 -
>>   drivers/gpu/drm/display/drm_dp_mst_topology.c |    1 -
>>   drivers/gpu/drm/gma500/cdv_intel_dp.c |    1 -
>>   drivers/gpu/drm/gma500/intel_gmbus.c  |    1 -
>>   drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c    |    1 -
>>   drivers/gpu/drm/gma500/psb_intel_sdvo.c   |    1 -
>>   drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |    1 -
>>   drivers/gpu/drm/i915/display/intel_gmbus.c    |    1 -
>>   drivers/gpu/drm/i915/display/intel_sdvo.c |    1 -
>>   drivers/gpu/drm/loongson/lsdc_i2c.c   |    1 -
>>   drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |    1 -
>>   drivers/gpu/drm/mgag200/mgag200_i2c.c |    1 -
>>   drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |    1 -
>>   drivers/gpu/drm/radeon/radeon_i2c.c   |    1 -
>>   drivers/gpu/drm/rockchip/inno_hdmi.c  |    1 -
>>   drivers/gpu/drm/rockchip/rk3066_hdmi.c    |    1 -
>>   drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c    |    1 -
>>   drivers/video/fbdev/core/fb_ddc.c |    1 -
>>   drivers/video/fbdev/cyber2000fb.c |    1 -
>>   drivers/video/fbdev/i740fb.c  |    1 -
>>   drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
>>   drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
>>   drivers/video/fbdev/s3fb.c    |    1 -
>>   drivers/video/fbdev/tdfxfb.c  |    1 -
>>   drivers/video/fbdev/tridentfb.c   |    1 -
>>   drivers/video/fbdev/via/via_i2c.c |    1 -
>>   include/linux/i2c.h   |    1 -
>>   31 files changed, 9 insertions(+), 47 deletions(-)
> 



Re: [Intel-gfx] [PATCH v4 00/20] remove I2C_CLASS_DDC support

2023-11-21 Thread Heiner Kallweit
On 21.11.2023 09:58, Jani Nikula wrote:
> On Mon, 20 Nov 2023, Heiner Kallweit  wrote:
>> v4:
>> - more ack and review tags
> 
> Please do not send new versions just to record the acks and
> reviews. They should be added while applying the patches.
> 
Right, typically also patchwork interprets and shows A-b and R-b when
sent as a reply to a patch of the series. I sent a new version because
an A-b covered multiple patches and was sent as reply to the cover letter.

> Thanks,
> Jani.
> 
Heiner


[PATCH v4 04/20] drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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: Jernej Skrabec 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c 
b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
index d1a65a921..f5f62eb0e 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
@@ -302,7 +302,6 @@ int sun4i_hdmi_i2c_create(struct device *dev, struct 
sun4i_hdmi *hdmi)
return -ENOMEM;
 
adap->owner = THIS_MODULE;
-   adap->class = I2C_CLASS_DDC;
adap->algo = _hdmi_i2c_algorithm;
strscpy(adap->name, "sun4i_hdmi_i2c adapter", sizeof(adap->name));
i2c_set_adapdata(adap, hdmi);



[PATCH v4 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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 
Signed-off-by: Heiner Kallweit 
---
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  = >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(>adapter, b);
-   b->adapter.class = class;
b->adapter.algo_data = >bac;
b->adapter.dev.parent = >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(>ddc1, minfo,
  DDC1B_DATA, DDC1B_CLK,
- "DDC:fb%u #0", I2C_CLASS_DDC);
+ "DDC:fb%u #0");
break;
default:
err = i2c_bus_reg(>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(>ddc2, minfo,
- DDC2_DATA, DDC2_CLK,
- "DDC:fb%u #1", I2C_CLASS_DDC);
+   err = i2c_bus_reg(>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(>maven, minfo,
- MAT_DATA, MAT_CLK, "MAVEN:fb%u", 0);
+   err = i2c_bus_reg(>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  = >ddc_algo;
par->ddc_adapter.dev.parent = info->device;
par->ddc_algo.setsda=

[PATCH v4 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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 
Signed-off-by: Heiner Kallweit 

---
 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 = >algo;
chan->adapter.dev.parent= >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, >output[i].ddc_bus, GPIOA,
- "CRTDDC_A", I2C_CLASS_DDC);
+   intelfb_setup_i2c_bus(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, >output[i].ddc_bus,
- GPIOD, "DVODDC_D", I2C_CLASS_DDC);
-   intelfb_setup_i2c_bus(dinfo, >output[i].i2c_bus,
- GPIOE, "DVOI2C_E", 0);
+   intelfb_setup_i2c_bus(dinfo, >output[i].ddc_bus, GPIOD, 
"DVODDC_D");
+   intelfb_setup_i2c_bus(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, >output[i].i2c_bus,
- GPIOE, "SDVOCTRL_E", 0);
+ GPIOE, "SDVOCTRL_E");
/* TODO: initialize the SDVO */
/* I830SDVOInit(pScrn, i, DVOB); */
i++;



[PATCH v4 11/20] drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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.

Reviewed-by: Neil Armstrong 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 52d91a0df..aca5bb086 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -515,7 +515,6 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct 
dw_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->algo = _hdmi_algorithm;



[PATCH v4 19/20] drivers/gpu/drm/display: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_helper.c 
b/drivers/gpu/drm/display/drm_dp_helper.c
index f3680f4e6..ac901f4b4 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2102,7 +2102,6 @@ int drm_dp_aux_register(struct drm_dp_aux *aux)
if (!aux->ddc.algo)
drm_dp_aux_init(aux);
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
aux->ddc.dev.parent = aux->dev;
 
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c 
b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 0e0d0e76d..4376e2c1f 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -5803,7 +5803,6 @@ static int drm_dp_mst_register_i2c_bus(struct 
drm_dp_mst_port *port)
aux->ddc.algo_data = aux;
aux->ddc.retries = 3;
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
/* FIXME: set the kdev of the port's connector as parent */
aux->ddc.dev.parent = parent_dev;



[PATCH v4 06/20] drivers/video/fbdev/core/fb_ddc.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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 
Signed-off-by: Heiner Kallweit 

---
 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;
 }
 



[PATCH v4 15/20] drivers/gpu/drm/i915/display: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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: Jani Nikula 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/i915/display/intel_gmbus.c |1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c  |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c 
b/drivers/gpu/drm/i915/display/intel_gmbus.c
index 40d7b6f3f..e9e4dcf34 100644
--- a/drivers/gpu/drm/i915/display/intel_gmbus.c
+++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
@@ -899,7 +899,6 @@ int intel_gmbus_setup(struct drm_i915_private *i915)
}
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "i915 gmbus %s", gmbus_pin->name);
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c 
b/drivers/gpu/drm/i915/display/intel_sdvo.c
index a636f42ce..5e64d1baf 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -3311,7 +3311,6 @@ intel_sdvo_init_ddc_proxy(struct intel_sdvo_ddc *ddc,
ddc->ddc_bus = ddc_bus;
 
ddc->ddc.owner = THIS_MODULE;
-   ddc->ddc.class = I2C_CLASS_DDC;
snprintf(ddc->ddc.name, I2C_NAME_SIZE, "SDVO %c DDC%d",
 port_name(sdvo->base.port), ddc_bus);
ddc->ddc.dev.parent = >dev;



[PATCH v4 14/20] drivers/gpu/drm/msm/hdmi/hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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: Dmitry Baryshkov 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c 
b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
index de182c004..7aa500d24 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
@@ -249,7 +249,6 @@ struct i2c_adapter *msm_hdmi_i2c_init(struct hdmi *hdmi)
 
 
i2c->owner = THIS_MODULE;
-   i2c->class = I2C_CLASS_DDC;
snprintf(i2c->name, sizeof(i2c->name), "msm hdmi i2c");
i2c->dev.parent = >pdev->dev;
i2c->algo = _hdmi_i2c_algorithm;



[PATCH v4 12/20] drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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.

Reviewed-by: AngeloGioacchino Del Regno 

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c 
b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
index d675c954b..54e46e440 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
@@ -297,7 +297,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
 
strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
ddc->adap.owner = THIS_MODULE;
-   ddc->adap.class = I2C_CLASS_DDC;
ddc->adap.algo = _hdmi_ddc_algorithm;
ddc->adap.retries = 3;
ddc->adap.dev.of_node = dev->of_node;



[PATCH v4 16/20] drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
index 410bd019b..e6e48651c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
@@ -81,7 +81,6 @@ int hibmc_ddc_create(struct drm_device *drm_dev,
 struct hibmc_connector *connector)
 {
connector->adapter.owner = THIS_MODULE;
-   connector->adapter.class = I2C_CLASS_DDC;
snprintf(connector->adapter.name, I2C_NAME_SIZE, "HIS i2c bit bus");
connector->adapter.dev.parent = drm_dev->dev;
i2c_set_adapdata(>adapter, connector);



[PATCH v4 18/20] drivers/gpu/drm/gma500: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/gma500/cdv_intel_dp.c  |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c   |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c |1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c|1 -
 4 files changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c 
b/drivers/gpu/drm/gma500/cdv_intel_dp.c
index 8992a9507..dd1eb7e98 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
@@ -855,7 +855,6 @@ cdv_intel_dp_i2c_init(struct gma_connector *connector,
 
memset(_dp->adapter, '\0', sizeof (intel_dp->adapter));
intel_dp->adapter.owner = THIS_MODULE;
-   intel_dp->adapter.class = I2C_CLASS_DDC;
strncpy (intel_dp->adapter.name, name, sizeof(intel_dp->adapter.name) - 
1);
intel_dp->adapter.name[sizeof(intel_dp->adapter.name) - 1] = '\0';
intel_dp->adapter.algo_data = _dp->algo;
diff --git a/drivers/gpu/drm/gma500/intel_gmbus.c 
b/drivers/gpu/drm/gma500/intel_gmbus.c
index 09cedabf4..aa4550985 100644
--- a/drivers/gpu/drm/gma500/intel_gmbus.c
+++ b/drivers/gpu/drm/gma500/intel_gmbus.c
@@ -411,7 +411,6 @@ int gma_intel_setup_gmbus(struct drm_device *dev)
struct intel_gmbus *bus = _priv->gmbus[i];
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "gma500 gmbus %s",
diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 
b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
index fc9a34ed5..6daa6669e 100644
--- a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
+++ b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
@@ -168,7 +168,6 @@ static struct i2c_adapter oaktrail_hdmi_i2c_adapter = {
.name   = "oaktrail_hdmi_i2c",
.nr = 3,
.owner  = THIS_MODULE,
-   .class  = I2C_CLASS_DDC,
.algo   = _hdmi_i2c_algorithm,
 };
 
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c 
b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
index d6fd5d726..e4f914dec 100644
--- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
+++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
@@ -2426,7 +2426,6 @@ psb_intel_sdvo_init_ddc_proxy(struct psb_intel_sdvo *sdvo,
  struct drm_device *dev)
 {
sdvo->ddc.owner = THIS_MODULE;
-   sdvo->ddc.class = I2C_CLASS_DDC;
snprintf(sdvo->ddc.name, I2C_NAME_SIZE, "SDVO DDC proxy");
sdvo->ddc.dev.parent = dev->dev;
sdvo->ddc.algo_data = sdvo;



[PATCH v4 03/20] drm/amd/display: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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: Harry Wentland 
Acked-by: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
v2:
- adjust tag in commit subject
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 6f99f6754..ae1edc6ab 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -7529,7 +7529,6 @@ create_i2c(struct ddc_service *ddc_service,
if (!i2c)
return NULL;
i2c->base.owner = THIS_MODULE;
-   i2c->base.class = I2C_CLASS_DDC;
i2c->base.dev.parent = >pdev->dev;
i2c->base.algo = _dm_i2c_algo;
snprintf(i2c->base.name, sizeof(i2c->base.name), "AMDGPU DM i2c hw bus 
%d", link_index);



[PATCH v4 07/20] drivers/gpu/drm: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
index 82608df43..d79cb13e1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
@@ -175,7 +175,6 @@ struct amdgpu_i2c_chan *amdgpu_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);
diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c 
b/drivers/gpu/drm/radeon/radeon_i2c.c
index 314d066e6..3d174390a 100644
--- a/drivers/gpu/drm/radeon/radeon_i2c.c
+++ b/drivers/gpu/drm/radeon/radeon_i2c.c
@@ -918,7 +918,6 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v4 02/20] drivers/gpu/drm/mgag200/mgag200_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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.

Reviewed-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_i2c.c 
b/drivers/gpu/drm/mgag200/mgag200_i2c.c
index 0c48bdf3e..423eb302b 100644
--- a/drivers/gpu/drm/mgag200/mgag200_i2c.c
+++ b/drivers/gpu/drm/mgag200/mgag200_i2c.c
@@ -106,7 +106,6 @@ int mgag200_i2c_init(struct mga_device *mdev, struct 
mga_i2c_chan *i2c)
i2c->data = BIT(info->i2c.data_bit);
i2c->clock = BIT(info->i2c.clock_bit);
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v4 17/20] drivers/gpu/drm/ast/ast_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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.

Reviewed-by: Thomas Zimmermann 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/ast/ast_i2c.c b/drivers/gpu/drm/ast/ast_i2c.c
index 0e845e7ac..e5d3f7121 100644
--- a/drivers/gpu/drm/ast/ast_i2c.c
+++ b/drivers/gpu/drm/ast/ast_i2c.c
@@ -120,7 +120,6 @@ struct ast_i2c_chan *ast_i2c_create(struct drm_device *dev)
return NULL;
 
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v4 10/20] drivers/video/fbdev/cyber2000fb.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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 
Signed-off-by: Heiner Kallweit 

---
 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  = >ddc_algo;
cfb->ddc_adapter.dev.parent = cfb->fb.device;
cfb->ddc_algo.setsda= cyber2000fb_ddc_setsda;



[PATCH v4 08/20] drivers/gpu/drm/loongson/lsdc_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/loongson/lsdc_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/loongson/lsdc_i2c.c 
b/drivers/gpu/drm/loongson/lsdc_i2c.c
index 9625d0b1d..ce90c2553 100644
--- a/drivers/gpu/drm/loongson/lsdc_i2c.c
+++ b/drivers/gpu/drm/loongson/lsdc_i2c.c
@@ -154,7 +154,6 @@ int lsdc_create_i2c_chan(struct drm_device *ddev,
adapter = >adapter;
adapter->algo_data = >bit;
adapter->owner = THIS_MODULE;
-   adapter->class = I2C_CLASS_DDC;
adapter->dev.parent = ddev->dev;
adapter->nr = -1;
 



[PATCH v4 09/20] drivers/video/fbdev/via/via_i2c.c: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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 
Signed-off-by: Heiner Kallweit 

---
 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 = >dev;



[PATCH v4 00/20] remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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

Signed-off-by: Heiner Kallweit 

---

 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |1 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 drivers/gpu/drm/gma500/cdv_intel_dp.c |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c  |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c|1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c   |1 -
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |1 -
 drivers/gpu/drm/i915/display/intel_gmbus.c|1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c |1 -
 drivers/gpu/drm/loongson/lsdc_i2c.c   |1 -
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |1 -
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c   |1 -
 drivers/gpu/drm/rockchip/inno_hdmi.c  |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c|1 -
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c|1 -
 drivers/video/fbdev/core/fb_ddc.c |1 -
 drivers/video/fbdev/cyber2000fb.c |1 -
 drivers/video/fbdev/i740fb.c  |1 -
 drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
 drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
 drivers/video/fbdev/s3fb.c|1 -
 drivers/video/fbdev/tdfxfb.c  |1 -
 drivers/video/fbdev/tridentfb.c   |1 -
 drivers/video/fbdev/via/via_i2c.c |1 -
 include/linux/i2c.h   |1 -
 31 files changed, 9 insertions(+), 47 deletions(-)


[PATCH v4 01/20] drivers/gpu/drm/rockchip: remove I2C_CLASS_DDC support

2023-11-20 Thread Heiner Kallweit
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: Heiko Stuebner 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/rockchip/inno_hdmi.c   |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c 
b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 6e5b922a1..a7739b27c 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -793,7 +793,6 @@ static struct i2c_adapter *inno_hdmi_i2c_adapter(struct 
inno_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c 
b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index fa6e592e0..7a3f71aa2 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -725,7 +725,6 @@ static struct i2c_adapter *rk3066_hdmi_i2c_adapter(struct 
rk3066_hdmi *hdmi)
init_completion(>cmpltn);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;



Re: [PATCH v3 RESEND 00/20] remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
On 19.11.2023 21:48, Heiner Kallweit wrote:
> On 19.11.2023 21:28, Helge Deller wrote:
>> On 11/19/23 12:28, 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.
>>
>> The fbdev changes look at least ok so far, so:
>> Acked-by: Helge Deller    #fbdev
>>
> I think this refers to patch 5 of the series. Could you please reply
> to patch 5 instead of the cover letter with your acked-by so that
> patchwork gets it right? Thanks!
> 
Sorry, just looked at where you are in To, not Cc.
So your ack includes patches 6, 9, 10, 13?

>>
>>> v2:
>>> - change tag in commit subject of patch 03
>>> - add ack tags
>>> v3:
>>> - fix a compile error in patch 5
>>>
>>> Signed-off-by: Heiner Kallweit 
>>>
>>> ---
>>>
>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |    1 -
>>>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    1 -
>>>   drivers/gpu/drm/ast/ast_i2c.c |    1 -
>>>   drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |    1 -
>>>   drivers/gpu/drm/display/drm_dp_helper.c   |    1 -
>>>   drivers/gpu/drm/display/drm_dp_mst_topology.c |    1 -
>>>   drivers/gpu/drm/gma500/cdv_intel_dp.c |    1 -
>>>   drivers/gpu/drm/gma500/intel_gmbus.c  |    1 -
>>>   drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c    |    1 -
>>>   drivers/gpu/drm/gma500/psb_intel_sdvo.c   |    1 -
>>>   drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |    1 -
>>>   drivers/gpu/drm/i915/display/intel_gmbus.c    |    1 -
>>>   drivers/gpu/drm/i915/display/intel_sdvo.c |    1 -
>>>   drivers/gpu/drm/loongson/lsdc_i2c.c   |    1 -
>>>   drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |    1 -
>>>   drivers/gpu/drm/mgag200/mgag200_i2c.c |    1 -
>>>   drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |    1 -
>>>   drivers/gpu/drm/radeon/radeon_i2c.c   |    1 -
>>>   drivers/gpu/drm/rockchip/inno_hdmi.c  |    1 -
>>>   drivers/gpu/drm/rockchip/rk3066_hdmi.c    |    1 -
>>>   drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c    |    1 -
>>>   drivers/video/fbdev/core/fb_ddc.c |    1 -
>>>   drivers/video/fbdev/cyber2000fb.c |    1 -
>>>   drivers/video/fbdev/i740fb.c  |    1 -
>>>   drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
>>>   drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
>>>   drivers/video/fbdev/s3fb.c    |    1 -
>>>   drivers/video/fbdev/tdfxfb.c  |    1 -
>>>   drivers/video/fbdev/tridentfb.c   |    1 -
>>>   drivers/video/fbdev/via/via_i2c.c |    1 -
>>>   include/linux/i2c.h   |    1 -
>>>   31 files changed, 9 insertions(+), 47 deletions(-)
>>>
>>
> 



Re: [PATCH v3 RESEND 00/20] remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
On 19.11.2023 21:28, Helge Deller wrote:
> On 11/19/23 12:28, 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.
> 
> The fbdev changes look at least ok so far, so:
> Acked-by: Helge Deller    #fbdev
> 
I think this refers to patch 5 of the series. Could you please reply
to patch 5 instead of the cover letter with your acked-by so that
patchwork gets it right? Thanks!

> 
>> v2:
>> - change tag in commit subject of patch 03
>> - add ack tags
>> v3:
>> - fix a compile error in patch 5
>>
>> Signed-off-by: Heiner Kallweit 
>>
>> ---
>>
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |    1 -
>>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    1 -
>>   drivers/gpu/drm/ast/ast_i2c.c |    1 -
>>   drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |    1 -
>>   drivers/gpu/drm/display/drm_dp_helper.c   |    1 -
>>   drivers/gpu/drm/display/drm_dp_mst_topology.c |    1 -
>>   drivers/gpu/drm/gma500/cdv_intel_dp.c |    1 -
>>   drivers/gpu/drm/gma500/intel_gmbus.c  |    1 -
>>   drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c    |    1 -
>>   drivers/gpu/drm/gma500/psb_intel_sdvo.c   |    1 -
>>   drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |    1 -
>>   drivers/gpu/drm/i915/display/intel_gmbus.c    |    1 -
>>   drivers/gpu/drm/i915/display/intel_sdvo.c |    1 -
>>   drivers/gpu/drm/loongson/lsdc_i2c.c   |    1 -
>>   drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |    1 -
>>   drivers/gpu/drm/mgag200/mgag200_i2c.c |    1 -
>>   drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |    1 -
>>   drivers/gpu/drm/radeon/radeon_i2c.c   |    1 -
>>   drivers/gpu/drm/rockchip/inno_hdmi.c  |    1 -
>>   drivers/gpu/drm/rockchip/rk3066_hdmi.c    |    1 -
>>   drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c    |    1 -
>>   drivers/video/fbdev/core/fb_ddc.c |    1 -
>>   drivers/video/fbdev/cyber2000fb.c |    1 -
>>   drivers/video/fbdev/i740fb.c  |    1 -
>>   drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
>>   drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
>>   drivers/video/fbdev/s3fb.c    |    1 -
>>   drivers/video/fbdev/tdfxfb.c  |    1 -
>>   drivers/video/fbdev/tridentfb.c   |    1 -
>>   drivers/video/fbdev/via/via_i2c.c |    1 -
>>   include/linux/i2c.h   |    1 -
>>   31 files changed, 9 insertions(+), 47 deletions(-)
>>
> 



[PATCH v3 14/20] drivers/gpu/drm/msm/hdmi/hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c 
b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
index de182c004..7aa500d24 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
@@ -249,7 +249,6 @@ struct i2c_adapter *msm_hdmi_i2c_init(struct hdmi *hdmi)
 
 
i2c->owner = THIS_MODULE;
-   i2c->class = I2C_CLASS_DDC;
snprintf(i2c->name, sizeof(i2c->name), "msm hdmi i2c");
i2c->dev.parent = >pdev->dev;
i2c->algo = _hdmi_i2c_algorithm;



[PATCH v3 17/20] drivers/gpu/drm/ast/ast_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/ast/ast_i2c.c b/drivers/gpu/drm/ast/ast_i2c.c
index 0e845e7ac..e5d3f7121 100644
--- a/drivers/gpu/drm/ast/ast_i2c.c
+++ b/drivers/gpu/drm/ast/ast_i2c.c
@@ -120,7 +120,6 @@ struct ast_i2c_chan *ast_i2c_create(struct drm_device *dev)
return NULL;
 
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v3 12/20] drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c 
b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
index d675c954b..54e46e440 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
@@ -297,7 +297,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
 
strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
ddc->adap.owner = THIS_MODULE;
-   ddc->adap.class = I2C_CLASS_DDC;
ddc->adap.algo = _hdmi_ddc_algorithm;
ddc->adap.retries = 3;
ddc->adap.dev.of_node = dev->of_node;



[PATCH v3 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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 = >algo;
chan->adapter.dev.parent= >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, >output[i].ddc_bus, GPIOA,
- "CRTDDC_A", I2C_CLASS_DDC);
+   intelfb_setup_i2c_bus(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, >output[i].ddc_bus,
- GPIOD, "DVODDC_D", I2C_CLASS_DDC);
-   intelfb_setup_i2c_bus(dinfo, >output[i].i2c_bus,
- GPIOE, "DVOI2C_E", 0);
+   intelfb_setup_i2c_bus(dinfo, >output[i].ddc_bus, GPIOD, 
"DVODDC_D");
+   intelfb_setup_i2c_bus(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, >output[i].i2c_bus,
- GPIOE, "SDVOCTRL_E", 0);
+ GPIOE, "SDVOCTRL_E");
/* TODO: initialize the SDVO */
/* I830SDVOInit(pScrn, i, DVOB); */
i++;



[PATCH v3 18/20] drivers/gpu/drm/gma500: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/gma500/cdv_intel_dp.c  |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c   |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c |1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c|1 -
 4 files changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c 
b/drivers/gpu/drm/gma500/cdv_intel_dp.c
index 8992a9507..dd1eb7e98 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
@@ -855,7 +855,6 @@ cdv_intel_dp_i2c_init(struct gma_connector *connector,
 
memset(_dp->adapter, '\0', sizeof (intel_dp->adapter));
intel_dp->adapter.owner = THIS_MODULE;
-   intel_dp->adapter.class = I2C_CLASS_DDC;
strncpy (intel_dp->adapter.name, name, sizeof(intel_dp->adapter.name) - 
1);
intel_dp->adapter.name[sizeof(intel_dp->adapter.name) - 1] = '\0';
intel_dp->adapter.algo_data = _dp->algo;
diff --git a/drivers/gpu/drm/gma500/intel_gmbus.c 
b/drivers/gpu/drm/gma500/intel_gmbus.c
index 09cedabf4..aa4550985 100644
--- a/drivers/gpu/drm/gma500/intel_gmbus.c
+++ b/drivers/gpu/drm/gma500/intel_gmbus.c
@@ -411,7 +411,6 @@ int gma_intel_setup_gmbus(struct drm_device *dev)
struct intel_gmbus *bus = _priv->gmbus[i];
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "gma500 gmbus %s",
diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 
b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
index fc9a34ed5..6daa6669e 100644
--- a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
+++ b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
@@ -168,7 +168,6 @@ static struct i2c_adapter oaktrail_hdmi_i2c_adapter = {
.name   = "oaktrail_hdmi_i2c",
.nr = 3,
.owner  = THIS_MODULE,
-   .class  = I2C_CLASS_DDC,
.algo   = _hdmi_i2c_algorithm,
 };
 
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c 
b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
index d6fd5d726..e4f914dec 100644
--- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
+++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
@@ -2426,7 +2426,6 @@ psb_intel_sdvo_init_ddc_proxy(struct psb_intel_sdvo *sdvo,
  struct drm_device *dev)
 {
sdvo->ddc.owner = THIS_MODULE;
-   sdvo->ddc.class = I2C_CLASS_DDC;
snprintf(sdvo->ddc.name, I2C_NAME_SIZE, "SDVO DDC proxy");
sdvo->ddc.dev.parent = dev->dev;
sdvo->ddc.algo_data = sdvo;



[PATCH v3 15/20] drivers/gpu/drm/i915/display: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Jani Nikula 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/i915/display/intel_gmbus.c |1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c  |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c 
b/drivers/gpu/drm/i915/display/intel_gmbus.c
index 40d7b6f3f..e9e4dcf34 100644
--- a/drivers/gpu/drm/i915/display/intel_gmbus.c
+++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
@@ -899,7 +899,6 @@ int intel_gmbus_setup(struct drm_i915_private *i915)
}
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "i915 gmbus %s", gmbus_pin->name);
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c 
b/drivers/gpu/drm/i915/display/intel_sdvo.c
index a636f42ce..5e64d1baf 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -3311,7 +3311,6 @@ intel_sdvo_init_ddc_proxy(struct intel_sdvo_ddc *ddc,
ddc->ddc_bus = ddc_bus;
 
ddc->ddc.owner = THIS_MODULE;
-   ddc->ddc.class = I2C_CLASS_DDC;
snprintf(ddc->ddc.name, I2C_NAME_SIZE, "SDVO %c DDC%d",
 port_name(sdvo->base.port), ddc_bus);
ddc->ddc.dev.parent = >dev;



[PATCH v3 19/20] drivers/gpu/drm/display: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_helper.c 
b/drivers/gpu/drm/display/drm_dp_helper.c
index f3680f4e6..ac901f4b4 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2102,7 +2102,6 @@ int drm_dp_aux_register(struct drm_dp_aux *aux)
if (!aux->ddc.algo)
drm_dp_aux_init(aux);
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
aux->ddc.dev.parent = aux->dev;
 
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c 
b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 0e0d0e76d..4376e2c1f 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -5803,7 +5803,6 @@ static int drm_dp_mst_register_i2c_bus(struct 
drm_dp_mst_port *port)
aux->ddc.algo_data = aux;
aux->ddc.retries = 3;
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
/* FIXME: set the kdev of the port's connector as parent */
aux->ddc.dev.parent = parent_dev;



[PATCH v3 16/20] drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
index 410bd019b..e6e48651c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
@@ -81,7 +81,6 @@ int hibmc_ddc_create(struct drm_device *drm_dev,
 struct hibmc_connector *connector)
 {
connector->adapter.owner = THIS_MODULE;
-   connector->adapter.class = I2C_CLASS_DDC;
snprintf(connector->adapter.name, I2C_NAME_SIZE, "HIS i2c bit bus");
connector->adapter.dev.parent = drm_dev->dev;
i2c_set_adapdata(>adapter, connector);



[PATCH v3 08/20] drivers/gpu/drm/loongson/lsdc_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/loongson/lsdc_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/loongson/lsdc_i2c.c 
b/drivers/gpu/drm/loongson/lsdc_i2c.c
index 9625d0b1d..ce90c2553 100644
--- a/drivers/gpu/drm/loongson/lsdc_i2c.c
+++ b/drivers/gpu/drm/loongson/lsdc_i2c.c
@@ -154,7 +154,6 @@ int lsdc_create_i2c_chan(struct drm_device *ddev,
adapter = >adapter;
adapter->algo_data = >bit;
adapter->owner = THIS_MODULE;
-   adapter->class = I2C_CLASS_DDC;
adapter->dev.parent = ddev->dev;
adapter->nr = -1;
 



[PATCH v3 10/20] drivers/video/fbdev/cyber2000fb.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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  = >ddc_algo;
cfb->ddc_adapter.dev.parent = cfb->fb.device;
cfb->ddc_algo.setsda= cyber2000fb_ddc_setsda;



[PATCH v3 04/20] drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Jernej Skrabec 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c 
b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
index d1a65a921..f5f62eb0e 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
@@ -302,7 +302,6 @@ int sun4i_hdmi_i2c_create(struct device *dev, struct 
sun4i_hdmi *hdmi)
return -ENOMEM;
 
adap->owner = THIS_MODULE;
-   adap->class = I2C_CLASS_DDC;
adap->algo = _hdmi_i2c_algorithm;
strscpy(adap->name, "sun4i_hdmi_i2c adapter", sizeof(adap->name));
i2c_set_adapdata(adap, hdmi);



[PATCH v3 11/20] drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 52d91a0df..aca5bb086 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -515,7 +515,6 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct 
dw_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->algo = _hdmi_algorithm;



[PATCH v3 06/20] drivers/video/fbdev/core/fb_ddc.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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;
 }
 



[PATCH v3 01/20] drivers/gpu/drm/rockchip: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Heiko Stuebner 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/rockchip/inno_hdmi.c   |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c 
b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 6e5b922a1..a7739b27c 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -793,7 +793,6 @@ static struct i2c_adapter *inno_hdmi_i2c_adapter(struct 
inno_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c 
b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index fa6e592e0..7a3f71aa2 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -725,7 +725,6 @@ static struct i2c_adapter *rk3066_hdmi_i2c_adapter(struct 
rk3066_hdmi *hdmi)
init_completion(>cmpltn);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;



[PATCH v3 07/20] drivers/gpu/drm: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
index 82608df43..d79cb13e1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
@@ -175,7 +175,6 @@ struct amdgpu_i2c_chan *amdgpu_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);
diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c 
b/drivers/gpu/drm/radeon/radeon_i2c.c
index 314d066e6..3d174390a 100644
--- a/drivers/gpu/drm/radeon/radeon_i2c.c
+++ b/drivers/gpu/drm/radeon/radeon_i2c.c
@@ -918,7 +918,6 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v3 09/20] drivers/video/fbdev/via/via_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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 = >dev;



[PATCH v3 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 
---
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  = >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(>adapter, b);
-   b->adapter.class = class;
b->adapter.algo_data = >bac;
b->adapter.dev.parent = >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(>ddc1, minfo,
  DDC1B_DATA, DDC1B_CLK,
- "DDC:fb%u #0", I2C_CLASS_DDC);
+ "DDC:fb%u #0");
break;
default:
err = i2c_bus_reg(>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(>ddc2, minfo,
- DDC2_DATA, DDC2_CLK,
- "DDC:fb%u #1", I2C_CLASS_DDC);
+   err = i2c_bus_reg(>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(>maven, minfo,
- MAT_DATA, MAT_CLK, "MAVEN:fb%u", 0);
+   err = i2c_bus_reg(>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  = >ddc_algo;
par->ddc_adapter.dev.parent = info->device;
par->ddc_algo.setsda= s3fb_ddc_setsda;
diff --git

[PATCH v3 03/20] drm/amd/display: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Harry Wentland 
Acked-by: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
v2:
- adjust tag in commit subject
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 6f99f6754..ae1edc6ab 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -7529,7 +7529,6 @@ create_i2c(struct ddc_service *ddc_service,
if (!i2c)
return NULL;
i2c->base.owner = THIS_MODULE;
-   i2c->base.class = I2C_CLASS_DDC;
i2c->base.dev.parent = >pdev->dev;
i2c->base.algo = _dm_i2c_algo;
snprintf(i2c->base.name, sizeof(i2c->base.name), "AMDGPU DM i2c hw bus 
%d", link_index);



[PATCH v3 02/20] drivers/gpu/drm/mgag200/mgag200_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_i2c.c 
b/drivers/gpu/drm/mgag200/mgag200_i2c.c
index 0c48bdf3e..423eb302b 100644
--- a/drivers/gpu/drm/mgag200/mgag200_i2c.c
+++ b/drivers/gpu/drm/mgag200/mgag200_i2c.c
@@ -106,7 +106,6 @@ int mgag200_i2c_init(struct mga_device *mdev, struct 
mga_i2c_chan *i2c)
i2c->data = BIT(info->i2c.data_bit);
i2c->clock = BIT(info->i2c.clock_bit);
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v3 RESEND 00/20] remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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

Signed-off-by: Heiner Kallweit 

---

 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |1 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 drivers/gpu/drm/gma500/cdv_intel_dp.c |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c  |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c|1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c   |1 -
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |1 -
 drivers/gpu/drm/i915/display/intel_gmbus.c|1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c |1 -
 drivers/gpu/drm/loongson/lsdc_i2c.c   |1 -
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |1 -
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c   |1 -
 drivers/gpu/drm/rockchip/inno_hdmi.c  |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c|1 -
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c|1 -
 drivers/video/fbdev/core/fb_ddc.c |1 -
 drivers/video/fbdev/cyber2000fb.c |1 -
 drivers/video/fbdev/i740fb.c  |1 -
 drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
 drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
 drivers/video/fbdev/s3fb.c|1 -
 drivers/video/fbdev/tdfxfb.c  |1 -
 drivers/video/fbdev/tridentfb.c   |1 -
 drivers/video/fbdev/via/via_i2c.c |1 -
 include/linux/i2c.h   |1 -
 31 files changed, 9 insertions(+), 47 deletions(-)


[PATCH v3 18/20] drivers/gpu/drm/gma500: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/gma500/cdv_intel_dp.c  |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c   |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c |1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c|1 -
 4 files changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c 
b/drivers/gpu/drm/gma500/cdv_intel_dp.c
index 8992a9507..dd1eb7e98 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
@@ -855,7 +855,6 @@ cdv_intel_dp_i2c_init(struct gma_connector *connector,
 
memset(_dp->adapter, '\0', sizeof (intel_dp->adapter));
intel_dp->adapter.owner = THIS_MODULE;
-   intel_dp->adapter.class = I2C_CLASS_DDC;
strncpy (intel_dp->adapter.name, name, sizeof(intel_dp->adapter.name) - 
1);
intel_dp->adapter.name[sizeof(intel_dp->adapter.name) - 1] = '\0';
intel_dp->adapter.algo_data = _dp->algo;
diff --git a/drivers/gpu/drm/gma500/intel_gmbus.c 
b/drivers/gpu/drm/gma500/intel_gmbus.c
index 09cedabf4..aa4550985 100644
--- a/drivers/gpu/drm/gma500/intel_gmbus.c
+++ b/drivers/gpu/drm/gma500/intel_gmbus.c
@@ -411,7 +411,6 @@ int gma_intel_setup_gmbus(struct drm_device *dev)
struct intel_gmbus *bus = _priv->gmbus[i];
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "gma500 gmbus %s",
diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 
b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
index fc9a34ed5..6daa6669e 100644
--- a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
+++ b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
@@ -168,7 +168,6 @@ static struct i2c_adapter oaktrail_hdmi_i2c_adapter = {
.name   = "oaktrail_hdmi_i2c",
.nr = 3,
.owner  = THIS_MODULE,
-   .class  = I2C_CLASS_DDC,
.algo   = _hdmi_i2c_algorithm,
 };
 
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c 
b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
index d6fd5d726..e4f914dec 100644
--- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
+++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
@@ -2426,7 +2426,6 @@ psb_intel_sdvo_init_ddc_proxy(struct psb_intel_sdvo *sdvo,
  struct drm_device *dev)
 {
sdvo->ddc.owner = THIS_MODULE;
-   sdvo->ddc.class = I2C_CLASS_DDC;
snprintf(sdvo->ddc.name, I2C_NAME_SIZE, "SDVO DDC proxy");
sdvo->ddc.dev.parent = dev->dev;
sdvo->ddc.algo_data = sdvo;



[PATCH v3 15/20] drivers/gpu/drm/i915/display: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Jani Nikula 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/i915/display/intel_gmbus.c |1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c  |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c 
b/drivers/gpu/drm/i915/display/intel_gmbus.c
index 40d7b6f3f..e9e4dcf34 100644
--- a/drivers/gpu/drm/i915/display/intel_gmbus.c
+++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
@@ -899,7 +899,6 @@ int intel_gmbus_setup(struct drm_i915_private *i915)
}
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "i915 gmbus %s", gmbus_pin->name);
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c 
b/drivers/gpu/drm/i915/display/intel_sdvo.c
index a636f42ce..5e64d1baf 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -3311,7 +3311,6 @@ intel_sdvo_init_ddc_proxy(struct intel_sdvo_ddc *ddc,
ddc->ddc_bus = ddc_bus;
 
ddc->ddc.owner = THIS_MODULE;
-   ddc->ddc.class = I2C_CLASS_DDC;
snprintf(ddc->ddc.name, I2C_NAME_SIZE, "SDVO %c DDC%d",
 port_name(sdvo->base.port), ddc_bus);
ddc->ddc.dev.parent = >dev;



[PATCH v3 19/20] drivers/gpu/drm/display: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_helper.c 
b/drivers/gpu/drm/display/drm_dp_helper.c
index f3680f4e6..ac901f4b4 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2102,7 +2102,6 @@ int drm_dp_aux_register(struct drm_dp_aux *aux)
if (!aux->ddc.algo)
drm_dp_aux_init(aux);
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
aux->ddc.dev.parent = aux->dev;
 
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c 
b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 0e0d0e76d..4376e2c1f 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -5803,7 +5803,6 @@ static int drm_dp_mst_register_i2c_bus(struct 
drm_dp_mst_port *port)
aux->ddc.algo_data = aux;
aux->ddc.retries = 3;
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
/* FIXME: set the kdev of the port's connector as parent */
aux->ddc.dev.parent = parent_dev;



[PATCH v3 16/20] drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
index 410bd019b..e6e48651c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
@@ -81,7 +81,6 @@ int hibmc_ddc_create(struct drm_device *drm_dev,
 struct hibmc_connector *connector)
 {
connector->adapter.owner = THIS_MODULE;
-   connector->adapter.class = I2C_CLASS_DDC;
snprintf(connector->adapter.name, I2C_NAME_SIZE, "HIS i2c bit bus");
connector->adapter.dev.parent = drm_dev->dev;
i2c_set_adapdata(>adapter, connector);



[PATCH v3 17/20] drivers/gpu/drm/ast/ast_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/ast/ast_i2c.c b/drivers/gpu/drm/ast/ast_i2c.c
index 0e845e7ac..e5d3f7121 100644
--- a/drivers/gpu/drm/ast/ast_i2c.c
+++ b/drivers/gpu/drm/ast/ast_i2c.c
@@ -120,7 +120,6 @@ struct ast_i2c_chan *ast_i2c_create(struct drm_device *dev)
return NULL;
 
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v3 12/20] drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c 
b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
index d675c954b..54e46e440 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
@@ -297,7 +297,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
 
strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
ddc->adap.owner = THIS_MODULE;
-   ddc->adap.class = I2C_CLASS_DDC;
ddc->adap.algo = _hdmi_ddc_algorithm;
ddc->adap.retries = 3;
ddc->adap.dev.of_node = dev->of_node;



[PATCH v3 14/20] drivers/gpu/drm/msm/hdmi/hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c 
b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
index de182c004..7aa500d24 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
@@ -249,7 +249,6 @@ struct i2c_adapter *msm_hdmi_i2c_init(struct hdmi *hdmi)
 
 
i2c->owner = THIS_MODULE;
-   i2c->class = I2C_CLASS_DDC;
snprintf(i2c->name, sizeof(i2c->name), "msm hdmi i2c");
i2c->dev.parent = >pdev->dev;
i2c->algo = _hdmi_i2c_algorithm;



[PATCH v3 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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 = >algo;
chan->adapter.dev.parent= >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, >output[i].ddc_bus, GPIOA,
- "CRTDDC_A", I2C_CLASS_DDC);
+   intelfb_setup_i2c_bus(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, >output[i].ddc_bus,
- GPIOD, "DVODDC_D", I2C_CLASS_DDC);
-   intelfb_setup_i2c_bus(dinfo, >output[i].i2c_bus,
- GPIOE, "DVOI2C_E", 0);
+   intelfb_setup_i2c_bus(dinfo, >output[i].ddc_bus, GPIOD, 
"DVODDC_D");
+   intelfb_setup_i2c_bus(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, >output[i].i2c_bus,
- GPIOE, "SDVOCTRL_E", 0);
+ GPIOE, "SDVOCTRL_E");
/* TODO: initialize the SDVO */
/* I830SDVOInit(pScrn, i, DVOB); */
i++;



[PATCH v3 11/20] drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 52d91a0df..aca5bb086 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -515,7 +515,6 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct 
dw_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->algo = _hdmi_algorithm;



[PATCH v3 09/20] drivers/video/fbdev/via/via_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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 = >dev;



[PATCH v3 10/20] drivers/video/fbdev/cyber2000fb.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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  = >ddc_algo;
cfb->ddc_adapter.dev.parent = cfb->fb.device;
cfb->ddc_algo.setsda= cyber2000fb_ddc_setsda;



[PATCH v3 03/20] drm/amd/display: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Harry Wentland 
Acked-by: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
v2:
- adjust tag in commit subject
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 6f99f6754..ae1edc6ab 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -7529,7 +7529,6 @@ create_i2c(struct ddc_service *ddc_service,
if (!i2c)
return NULL;
i2c->base.owner = THIS_MODULE;
-   i2c->base.class = I2C_CLASS_DDC;
i2c->base.dev.parent = >pdev->dev;
i2c->base.algo = _dm_i2c_algo;
snprintf(i2c->base.name, sizeof(i2c->base.name), "AMDGPU DM i2c hw bus 
%d", link_index);



[PATCH v3 01/20] drivers/gpu/drm/rockchip: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Heiko Stuebner 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/rockchip/inno_hdmi.c   |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c 
b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 6e5b922a1..a7739b27c 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -793,7 +793,6 @@ static struct i2c_adapter *inno_hdmi_i2c_adapter(struct 
inno_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c 
b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index fa6e592e0..7a3f71aa2 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -725,7 +725,6 @@ static struct i2c_adapter *rk3066_hdmi_i2c_adapter(struct 
rk3066_hdmi *hdmi)
init_completion(>cmpltn);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;



[PATCH v3 08/20] drivers/gpu/drm/loongson/lsdc_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/loongson/lsdc_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/loongson/lsdc_i2c.c 
b/drivers/gpu/drm/loongson/lsdc_i2c.c
index 9625d0b1d..ce90c2553 100644
--- a/drivers/gpu/drm/loongson/lsdc_i2c.c
+++ b/drivers/gpu/drm/loongson/lsdc_i2c.c
@@ -154,7 +154,6 @@ int lsdc_create_i2c_chan(struct drm_device *ddev,
adapter = >adapter;
adapter->algo_data = >bit;
adapter->owner = THIS_MODULE;
-   adapter->class = I2C_CLASS_DDC;
adapter->dev.parent = ddev->dev;
adapter->nr = -1;
 



[PATCH v3 07/20] drivers/gpu/drm: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
index 82608df43..d79cb13e1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
@@ -175,7 +175,6 @@ struct amdgpu_i2c_chan *amdgpu_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);
diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c 
b/drivers/gpu/drm/radeon/radeon_i2c.c
index 314d066e6..3d174390a 100644
--- a/drivers/gpu/drm/radeon/radeon_i2c.c
+++ b/drivers/gpu/drm/radeon/radeon_i2c.c
@@ -918,7 +918,6 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device 
*dev,
 
i2c->rec = *rec;
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v3 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 
---
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  = >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(>adapter, b);
-   b->adapter.class = class;
b->adapter.algo_data = >bac;
b->adapter.dev.parent = >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(>ddc1, minfo,
  DDC1B_DATA, DDC1B_CLK,
- "DDC:fb%u #0", I2C_CLASS_DDC);
+ "DDC:fb%u #0");
break;
default:
err = i2c_bus_reg(>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(>ddc2, minfo,
- DDC2_DATA, DDC2_CLK,
- "DDC:fb%u #1", I2C_CLASS_DDC);
+   err = i2c_bus_reg(>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(>maven, minfo,
- MAT_DATA, MAT_CLK, "MAVEN:fb%u", 0);
+   err = i2c_bus_reg(>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  = >ddc_algo;
par->ddc_adapter.dev.parent = info->device;
par->ddc_algo.setsda= s3fb_ddc_setsda;
diff --git

[PATCH v3 06/20] drivers/video/fbdev/core/fb_ddc.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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;
 }
 



[PATCH v3 04/20] drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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: Jernej Skrabec 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c 
b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
index d1a65a921..f5f62eb0e 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
@@ -302,7 +302,6 @@ int sun4i_hdmi_i2c_create(struct device *dev, struct 
sun4i_hdmi *hdmi)
return -ENOMEM;
 
adap->owner = THIS_MODULE;
-   adap->class = I2C_CLASS_DDC;
adap->algo = _hdmi_i2c_algorithm;
strscpy(adap->name, "sun4i_hdmi_i2c adapter", sizeof(adap->name));
i2c_set_adapdata(adap, hdmi);



[PATCH 00/20] remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---

 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |1 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |1 -
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 drivers/gpu/drm/gma500/cdv_intel_dp.c |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c  |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c|1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c   |1 -
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c   |1 -
 drivers/gpu/drm/i915/display/intel_gmbus.c|1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c |1 -
 drivers/gpu/drm/loongson/lsdc_i2c.c   |1 -
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c   |1 -
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c   |1 -
 drivers/gpu/drm/radeon/radeon_i2c.c   |1 -
 drivers/gpu/drm/rockchip/inno_hdmi.c  |1 -
 drivers/gpu/drm/rockchip/rk3066_hdmi.c|1 -
 drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c|1 -
 drivers/video/fbdev/core/fb_ddc.c |1 -
 drivers/video/fbdev/cyber2000fb.c |1 -
 drivers/video/fbdev/i740fb.c  |1 -
 drivers/video/fbdev/intelfb/intelfb_i2c.c |   15 +--
 drivers/video/fbdev/matrox/i2c-matroxfb.c |   12 
 drivers/video/fbdev/s3fb.c|1 -
 drivers/video/fbdev/tdfxfb.c  |1 -
 drivers/video/fbdev/tridentfb.c   |1 -
 drivers/video/fbdev/via/via_i2c.c |1 -
 include/linux/i2c.h   |1 -
 31 files changed, 9 insertions(+), 47 deletions(-)


[PATCH v3 02/20] drivers/gpu/drm/mgag200/mgag200_i2c.c: remove I2C_CLASS_DDC support

2023-11-19 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mgag200/mgag200_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_i2c.c 
b/drivers/gpu/drm/mgag200/mgag200_i2c.c
index 0c48bdf3e..423eb302b 100644
--- a/drivers/gpu/drm/mgag200/mgag200_i2c.c
+++ b/drivers/gpu/drm/mgag200/mgag200_i2c.c
@@ -106,7 +106,6 @@ int mgag200_i2c_init(struct mga_device *mdev, struct 
mga_i2c_chan *i2c)
i2c->data = BIT(info->i2c.data_bit);
i2c->clock = BIT(info->i2c.clock_bit);
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v2 19/20] drivers/gpu/drm/display: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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: Alex Deucher 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/display/drm_dp_helper.c   |1 -
 drivers/gpu/drm/display/drm_dp_mst_topology.c |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_helper.c 
b/drivers/gpu/drm/display/drm_dp_helper.c
index f3680f4e6..ac901f4b4 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2102,7 +2102,6 @@ int drm_dp_aux_register(struct drm_dp_aux *aux)
if (!aux->ddc.algo)
drm_dp_aux_init(aux);
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
aux->ddc.dev.parent = aux->dev;
 
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c 
b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 0e0d0e76d..4376e2c1f 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -5803,7 +5803,6 @@ static int drm_dp_mst_register_i2c_bus(struct 
drm_dp_mst_port *port)
aux->ddc.algo_data = aux;
aux->ddc.retries = 3;
 
-   aux->ddc.class = I2C_CLASS_DDC;
aux->ddc.owner = THIS_MODULE;
/* FIXME: set the kdev of the port's connector as parent */
aux->ddc.dev.parent = parent_dev;



[PATCH v2 15/20] drivers/gpu/drm/i915/display: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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: Jani Nikula 
Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/i915/display/intel_gmbus.c |1 -
 drivers/gpu/drm/i915/display/intel_sdvo.c  |1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c 
b/drivers/gpu/drm/i915/display/intel_gmbus.c
index 40d7b6f3f..e9e4dcf34 100644
--- a/drivers/gpu/drm/i915/display/intel_gmbus.c
+++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
@@ -899,7 +899,6 @@ int intel_gmbus_setup(struct drm_i915_private *i915)
}
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "i915 gmbus %s", gmbus_pin->name);
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c 
b/drivers/gpu/drm/i915/display/intel_sdvo.c
index a636f42ce..5e64d1baf 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -3311,7 +3311,6 @@ intel_sdvo_init_ddc_proxy(struct intel_sdvo_ddc *ddc,
ddc->ddc_bus = ddc_bus;
 
ddc->ddc.owner = THIS_MODULE;
-   ddc->ddc.class = I2C_CLASS_DDC;
snprintf(ddc->ddc.name, I2C_NAME_SIZE, "SDVO %c DDC%d",
 port_name(sdvo->base.port), ddc_bus);
ddc->ddc.dev.parent = >dev;



[PATCH v2 17/20] drivers/gpu/drm/ast/ast_i2c.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/ast/ast_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/ast/ast_i2c.c b/drivers/gpu/drm/ast/ast_i2c.c
index 0e845e7ac..e5d3f7121 100644
--- a/drivers/gpu/drm/ast/ast_i2c.c
+++ b/drivers/gpu/drm/ast/ast_i2c.c
@@ -120,7 +120,6 @@ struct ast_i2c_chan *ast_i2c_create(struct drm_device *dev)
return NULL;
 
i2c->adapter.owner = THIS_MODULE;
-   i2c->adapter.class = I2C_CLASS_DDC;
i2c->adapter.dev.parent = dev->dev;
i2c->dev = dev;
i2c_set_adapdata(>adapter, i2c);



[PATCH v2 18/20] drivers/gpu/drm/gma500: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/gma500/cdv_intel_dp.c  |1 -
 drivers/gpu/drm/gma500/intel_gmbus.c   |1 -
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c |1 -
 drivers/gpu/drm/gma500/psb_intel_sdvo.c|1 -
 4 files changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c 
b/drivers/gpu/drm/gma500/cdv_intel_dp.c
index 8992a9507..dd1eb7e98 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
@@ -855,7 +855,6 @@ cdv_intel_dp_i2c_init(struct gma_connector *connector,
 
memset(_dp->adapter, '\0', sizeof (intel_dp->adapter));
intel_dp->adapter.owner = THIS_MODULE;
-   intel_dp->adapter.class = I2C_CLASS_DDC;
strncpy (intel_dp->adapter.name, name, sizeof(intel_dp->adapter.name) - 
1);
intel_dp->adapter.name[sizeof(intel_dp->adapter.name) - 1] = '\0';
intel_dp->adapter.algo_data = _dp->algo;
diff --git a/drivers/gpu/drm/gma500/intel_gmbus.c 
b/drivers/gpu/drm/gma500/intel_gmbus.c
index 09cedabf4..aa4550985 100644
--- a/drivers/gpu/drm/gma500/intel_gmbus.c
+++ b/drivers/gpu/drm/gma500/intel_gmbus.c
@@ -411,7 +411,6 @@ int gma_intel_setup_gmbus(struct drm_device *dev)
struct intel_gmbus *bus = _priv->gmbus[i];
 
bus->adapter.owner = THIS_MODULE;
-   bus->adapter.class = I2C_CLASS_DDC;
snprintf(bus->adapter.name,
 sizeof(bus->adapter.name),
 "gma500 gmbus %s",
diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 
b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
index fc9a34ed5..6daa6669e 100644
--- a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
+++ b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
@@ -168,7 +168,6 @@ static struct i2c_adapter oaktrail_hdmi_i2c_adapter = {
.name   = "oaktrail_hdmi_i2c",
.nr = 3,
.owner  = THIS_MODULE,
-   .class  = I2C_CLASS_DDC,
.algo   = _hdmi_i2c_algorithm,
 };
 
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c 
b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
index d6fd5d726..e4f914dec 100644
--- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
+++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
@@ -2426,7 +2426,6 @@ psb_intel_sdvo_init_ddc_proxy(struct psb_intel_sdvo *sdvo,
  struct drm_device *dev)
 {
sdvo->ddc.owner = THIS_MODULE;
-   sdvo->ddc.class = I2C_CLASS_DDC;
snprintf(sdvo->ddc.name, I2C_NAME_SIZE, "SDVO DDC proxy");
sdvo->ddc.dev.parent = dev->dev;
sdvo->ddc.algo_data = sdvo;



[PATCH v2 12/20] drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c 
b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
index d675c954b..54e46e440 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
@@ -297,7 +297,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
 
strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
ddc->adap.owner = THIS_MODULE;
-   ddc->adap.class = I2C_CLASS_DDC;
ddc->adap.algo = _hdmi_ddc_algorithm;
ddc->adap.retries = 3;
ddc->adap.dev.of_node = dev->of_node;



[PATCH v2 13/20] drivers/video/fbdev/intelfb/intelfb_i2c.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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 = >algo;
chan->adapter.dev.parent= >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, >output[i].ddc_bus, GPIOA,
- "CRTDDC_A", I2C_CLASS_DDC);
+   intelfb_setup_i2c_bus(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, >output[i].ddc_bus,
- GPIOD, "DVODDC_D", I2C_CLASS_DDC);
-   intelfb_setup_i2c_bus(dinfo, >output[i].i2c_bus,
- GPIOE, "DVOI2C_E", 0);
+   intelfb_setup_i2c_bus(dinfo, >output[i].ddc_bus, GPIOD, 
"DVODDC_D");
+   intelfb_setup_i2c_bus(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, >output[i].i2c_bus,
- GPIOE, "SDVOCTRL_E", 0);
+ GPIOE, "SDVOCTRL_E");
/* TODO: initialize the SDVO */
/* I830SDVOInit(pScrn, i, DVOB); */
i++;



[PATCH v2 14/20] drivers/gpu/drm/msm/hdmi/hdmi_i2c.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c 
b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
index de182c004..7aa500d24 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
@@ -249,7 +249,6 @@ struct i2c_adapter *msm_hdmi_i2c_init(struct hdmi *hdmi)
 
 
i2c->owner = THIS_MODULE;
-   i2c->class = I2C_CLASS_DDC;
snprintf(i2c->name, sizeof(i2c->name), "msm hdmi i2c");
i2c->dev.parent = >pdev->dev;
i2c->algo = _hdmi_i2c_algorithm;



[PATCH v2 16/20] drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
index 410bd019b..e6e48651c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
@@ -81,7 +81,6 @@ int hibmc_ddc_create(struct drm_device *drm_dev,
 struct hibmc_connector *connector)
 {
connector->adapter.owner = THIS_MODULE;
-   connector->adapter.class = I2C_CLASS_DDC;
snprintf(connector->adapter.name, I2C_NAME_SIZE, "HIS i2c bit bus");
connector->adapter.dev.parent = drm_dev->dev;
i2c_set_adapdata(>adapter, connector);



[PATCH v2 11/20] drivers/gpu/drm/bridge/synopsys/dw-hdmi.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 52d91a0df..aca5bb086 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -515,7 +515,6 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct 
dw_hdmi *hdmi)
init_completion(>cmp);
 
adap = >adap;
-   adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->algo = _hdmi_algorithm;



[PATCH v2 06/20] drivers/video/fbdev/core/fb_ddc.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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;
 }
 



[PATCH v2 10/20] drivers/video/fbdev/cyber2000fb.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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  = >ddc_algo;
cfb->ddc_adapter.dev.parent = cfb->fb.device;
cfb->ddc_algo.setsda= cyber2000fb_ddc_setsda;



[PATCH v2 08/20] drivers/gpu/drm/loongson/lsdc_i2c.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 drivers/gpu/drm/loongson/lsdc_i2c.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/loongson/lsdc_i2c.c 
b/drivers/gpu/drm/loongson/lsdc_i2c.c
index 9625d0b1d..ce90c2553 100644
--- a/drivers/gpu/drm/loongson/lsdc_i2c.c
+++ b/drivers/gpu/drm/loongson/lsdc_i2c.c
@@ -154,7 +154,6 @@ int lsdc_create_i2c_chan(struct drm_device *ddev,
adapter = >adapter;
adapter->algo_data = >bit;
adapter->owner = THIS_MODULE;
-   adapter->class = I2C_CLASS_DDC;
adapter->dev.parent = ddev->dev;
adapter->nr = -1;
 



[PATCH v2 09/20] drivers/video/fbdev/via/via_i2c.c: remove I2C_CLASS_DDC support

2023-11-18 Thread Heiner Kallweit
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.

Signed-off-by: Heiner Kallweit 

---
 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 = >dev;



  1   2   >