2023-11-18 17:43:11

by Heiner Kallweit

[permalink] [raw]
Subject: [PATCH 00/20] remove I2C_CLASS_DDC support

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 <[email protected]>

---

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(-)


2023-11-18 17:43:13

by Heiner Kallweit

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

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 <[email protected]>

---
drivers/video/fbdev/cyber2000fb.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/video/fbdev/cyber2000fb.c b/drivers/video/fbdev/cyber2000fb.c
index 52105dc1a..79775deda 100644
--- a/drivers/video/fbdev/cyber2000fb.c
+++ b/drivers/video/fbdev/cyber2000fb.c
@@ -1234,7 +1234,6 @@ static int cyber2000fb_setup_ddc_bus(struct cfb_info *cfb)
strscpy(cfb->ddc_adapter.name, cfb->fb.fix.id,
sizeof(cfb->ddc_adapter.name));
cfb->ddc_adapter.owner = THIS_MODULE;
- cfb->ddc_adapter.class = I2C_CLASS_DDC;
cfb->ddc_adapter.algo_data = &cfb->ddc_algo;
cfb->ddc_adapter.dev.parent = cfb->fb.device;
cfb->ddc_algo.setsda = cyber2000fb_ddc_setsda;

2023-11-18 17:43:18

by Heiner Kallweit

[permalink] [raw]
Subject: [PATCH v2 01/20] drivers/gpu/drm/rockchip: remove I2C_CLASS_DDC support

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 <[email protected]>
Signed-off-by: Heiner Kallweit <[email protected]>

---
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(&i2c->cmp);

adap = &i2c->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(&i2c->cmpltn);

adap = &i2c->adap;
- adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->dev.of_node = hdmi->dev->of_node;

2023-11-18 17:43:19

by Heiner Kallweit

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

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 <[email protected]>

---
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 = &mtk_hdmi_ddc_algorithm;
ddc->adap.retries = 3;
ddc->adap.dev.of_node = dev->of_node;

2023-11-18 17:43:20

by Heiner Kallweit

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

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 <[email protected]>

---
drivers/video/fbdev/intelfb/intelfb_i2c.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/video/fbdev/intelfb/intelfb_i2c.c b/drivers/video/fbdev/intelfb/intelfb_i2c.c
index 3300bd31d..f24c7cb4c 100644
--- a/drivers/video/fbdev/intelfb/intelfb_i2c.c
+++ b/drivers/video/fbdev/intelfb/intelfb_i2c.c
@@ -99,8 +99,7 @@ static int intelfb_gpio_getsda(void *data)

static int intelfb_setup_i2c_bus(struct intelfb_info *dinfo,
struct intelfb_i2c_chan *chan,
- const u32 reg, const char *name,
- int class)
+ const u32 reg, const char *name)
{
int rc;

@@ -108,7 +107,6 @@ static int intelfb_setup_i2c_bus(struct intelfb_info *dinfo,
chan->reg = reg;
snprintf(chan->adapter.name, sizeof(chan->adapter.name),
"intelfb %s", name);
- chan->adapter.class = class;
chan->adapter.owner = THIS_MODULE;
chan->adapter.algo_data = &chan->algo;
chan->adapter.dev.parent = &chan->dinfo->pdev->dev;
@@ -144,8 +142,7 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo)
dinfo->output[i].type = INTELFB_OUTPUT_ANALOG;

/* setup the DDC bus for analog output */
- intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOA,
- "CRTDDC_A", I2C_CLASS_DDC);
+ intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOA, "CRTDDC_A");
i++;

/* need to add the output busses for each device
@@ -159,10 +156,8 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo)
case INTEL_855GM:
case INTEL_865G:
dinfo->output[i].type = INTELFB_OUTPUT_DVO;
- intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus,
- GPIOD, "DVODDC_D", I2C_CLASS_DDC);
- intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus,
- GPIOE, "DVOI2C_E", 0);
+ intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOD, "DVODDC_D");
+ intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus, GPIOE, "DVOI2C_E");
i++;
break;
case INTEL_915G:
@@ -176,7 +171,7 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo)
/* SDVO ports have a single control bus - 2 devices */
dinfo->output[i].type = INTELFB_OUTPUT_SDVO;
intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus,
- GPIOE, "SDVOCTRL_E", 0);
+ GPIOE, "SDVOCTRL_E");
/* TODO: initialize the SDVO */
/* I830SDVOInit(pScrn, i, DVOB); */
i++;

2023-11-18 17:43:20

by Heiner Kallweit

[permalink] [raw]
Subject: [PATCH v2 02/20] drivers/gpu/drm/mgag200/mgag200_i2c.c: remove I2C_CLASS_DDC support

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 <[email protected]>

---
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(&i2c->adapter, i2c);

2023-11-18 17:43:25

by Heiner Kallweit

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

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 <[email protected]>

---
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 = &hdmi->pdev->dev;
i2c->algo = &msm_hdmi_i2c_algorithm;

2023-11-18 17:43:25

by Heiner Kallweit

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

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 <[email protected]>
Signed-off-by: Heiner Kallweit <[email protected]>

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

2023-11-18 17:43:28

by Heiner Kallweit

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

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 <[email protected]>

---
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(&connector->adapter, connector);

2023-11-18 17:43:29

by Heiner Kallweit

[permalink] [raw]
Subject: [PATCH v2 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support

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 <[email protected]>

---
drivers/video/fbdev/i740fb.c | 1 -
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 -
5 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/video/fbdev/i740fb.c b/drivers/video/fbdev/i740fb.c
index 1897e65ab..9b74dae71 100644
--- a/drivers/video/fbdev/i740fb.c
+++ b/drivers/video/fbdev/i740fb.c
@@ -163,7 +163,6 @@ static int i740fb_setup_ddc_bus(struct fb_info *info)
strscpy(par->ddc_adapter.name, info->fix.id,
sizeof(par->ddc_adapter.name));
par->ddc_adapter.owner = THIS_MODULE;
- par->ddc_adapter.class = I2C_CLASS_DDC;
par->ddc_adapter.algo_data = &par->ddc_algo;
par->ddc_adapter.dev.parent = info->device;
par->ddc_algo.setsda = i740fb_ddc_setsda;
diff --git a/drivers/video/fbdev/matrox/i2c-matroxfb.c b/drivers/video/fbdev/matrox/i2c-matroxfb.c
index e2e4705e3..fa07e1e5c 100644
--- a/drivers/video/fbdev/matrox/i2c-matroxfb.c
+++ b/drivers/video/fbdev/matrox/i2c-matroxfb.c
@@ -100,8 +100,7 @@ static const struct i2c_algo_bit_data matrox_i2c_algo_template =
};

static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo,
- unsigned int data, unsigned int clock, const char *name,
- int class)
+ unsigned int data, unsigned int clock, const char *name)
{
int err;

@@ -112,7 +111,6 @@ static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo,
snprintf(b->adapter.name, sizeof(b->adapter.name), name,
minfo->fbcon.node);
i2c_set_adapdata(&b->adapter, b);
- b->adapter.class = class;
b->adapter.algo_data = &b->bac;
b->adapter.dev.parent = &minfo->pcidev->dev;
b->bac = matrox_i2c_algo_template;
@@ -160,20 +158,18 @@ static void* i2c_matroxfb_probe(struct matrox_fb_info* minfo) {
case MGA_2164:
err = i2c_bus_reg(&m2info->ddc1, minfo,
DDC1B_DATA, DDC1B_CLK,
- "DDC:fb%u #0", I2C_CLASS_DDC);
+ "DDC:fb%u #0");
break;
default:
err = i2c_bus_reg(&m2info->ddc1, minfo,
DDC1_DATA, DDC1_CLK,
- "DDC:fb%u #0", I2C_CLASS_DDC);
+ "DDC:fb%u #0");
break;
}
if (err)
goto fail_ddc1;
if (minfo->devflags.dualhead) {
- err = i2c_bus_reg(&m2info->ddc2, minfo,
- DDC2_DATA, DDC2_CLK,
- "DDC:fb%u #1", I2C_CLASS_DDC);
+ err = i2c_bus_reg(&m2info->ddc2, minfo, DDC2_DATA, DDC2_CLK, "DDC:fb%u #1");
if (err == -ENODEV) {
printk(KERN_INFO "i2c-matroxfb: VGA->TV plug detected, DDC unavailable.\n");
} else if (err)
diff --git a/drivers/video/fbdev/s3fb.c b/drivers/video/fbdev/s3fb.c
index 589b349cb..07722a5ea 100644
--- a/drivers/video/fbdev/s3fb.c
+++ b/drivers/video/fbdev/s3fb.c
@@ -252,7 +252,6 @@ static int s3fb_setup_ddc_bus(struct fb_info *info)
strscpy(par->ddc_adapter.name, info->fix.id,
sizeof(par->ddc_adapter.name));
par->ddc_adapter.owner = THIS_MODULE;
- par->ddc_adapter.class = I2C_CLASS_DDC;
par->ddc_adapter.algo_data = &par->ddc_algo;
par->ddc_adapter.dev.parent = info->device;
par->ddc_algo.setsda = s3fb_ddc_setsda;
diff --git a/drivers/video/fbdev/tdfxfb.c b/drivers/video/fbdev/tdfxfb.c
index 22aa95313..51ebe7835 100644
--- a/drivers/video/fbdev/tdfxfb.c
+++ b/drivers/video/fbdev/tdfxfb.c
@@ -1267,7 +1267,6 @@ static int tdfxfb_setup_ddc_bus(struct tdfxfb_i2c_chan *chan, const char *name,

strscpy(chan->adapter.name, name, sizeof(chan->adapter.name));
chan->adapter.owner = THIS_MODULE;
- chan->adapter.class = I2C_CLASS_DDC;
chan->adapter.algo_data = &chan->algo;
chan->adapter.dev.parent = dev;
chan->algo.setsda = tdfxfb_ddc_setsda;
diff --git a/drivers/video/fbdev/tridentfb.c b/drivers/video/fbdev/tridentfb.c
index 816d40b6f..516cf2a18 100644
--- a/drivers/video/fbdev/tridentfb.c
+++ b/drivers/video/fbdev/tridentfb.c
@@ -274,7 +274,6 @@ static int tridentfb_setup_ddc_bus(struct fb_info *info)
strscpy(par->ddc_adapter.name, info->fix.id,
sizeof(par->ddc_adapter.name));
par->ddc_adapter.owner = THIS_MODULE;
- par->ddc_adapter.class = I2C_CLASS_DDC;
par->ddc_adapter.algo_data = &par->ddc_algo;
par->ddc_adapter.dev.parent = info->device;
if (is_oldclock(par->chip_id)) { /* not sure if this check is OK */

2023-11-18 17:43:34

by Heiner Kallweit

[permalink] [raw]
Subject: [PATCH v2 07/20] drivers/gpu/drm: remove I2C_CLASS_DDC support

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 <[email protected]>
Signed-off-by: Heiner Kallweit <[email protected]>

---
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(&i2c->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(&i2c->adapter, i2c);

2023-11-18 17:43:44

by Heiner Kallweit

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

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 <[email protected]>

---
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 = &li2c->adapter;
adapter->algo_data = &li2c->bit;
adapter->owner = THIS_MODULE;
- adapter->class = I2C_CLASS_DDC;
adapter->dev.parent = ddev->dev;
adapter->nr = -1;


2023-11-18 17:44:25

by Heiner Kallweit

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

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 <[email protected]>

---
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(&i2c->adapter, i2c);

2023-11-18 17:44:40

by Heiner Kallweit

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

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 <[email protected]>

---
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(&intel_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 = &intel_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 = &dev_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 = &oaktrail_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;

2023-11-18 17:44:42

by Heiner Kallweit

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

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 <[email protected]>
Signed-off-by: Heiner Kallweit <[email protected]>

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

2023-11-18 17:44:43

by Heiner Kallweit

[permalink] [raw]
Subject: [PATCH v2 20/20] include/linux/i2c.h: remove I2C_CLASS_DDC support

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 <[email protected]>

---
include/linux/i2c.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 0dae9db27..d029aade3 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -850,7 +850,6 @@ static inline void i2c_mark_adapter_resumed(struct i2c_adapter *adap)

/* i2c adapter classes (bitmask) */
#define I2C_CLASS_HWMON (1<<0) /* lm_sensors, ... */
-#define I2C_CLASS_DDC (1<<3) /* DDC bus on graphics adapters */
#define I2C_CLASS_SPD (1<<7) /* Memory modules */
/* Warn users that the adapter doesn't support classes anymore */
#define I2C_CLASS_DEPRECATED (1<<8)

2023-11-18 17:44:53

by Heiner Kallweit

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

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 <[email protected]>

---
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(&i2c->cmp);

adap = &i2c->adap;
- adap->class = I2C_CLASS_DDC;
adap->owner = THIS_MODULE;
adap->dev.parent = hdmi->dev;
adap->algo = &dw_hdmi_algorithm;

2023-11-19 04:47:30

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v2 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support

Hi Heiner,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm-intel/for-linux-next drm-intel/for-linux-next-fixes sunxi/sunxi/for-next wsa/i2c/for-next drm-tip/drm-tip linus/master v6.7-rc1 next-20231117]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Heiner-Kallweit/drivers-gpu-drm-rockchip-remove-I2C_CLASS_DDC-support/20231119-014549
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231118174221.851-6-hkallweit1%40gmail.com
patch subject: [PATCH v2 05/20] drivers/video/fbdev: remove I2C_CLASS_DDC support
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20231119/[email protected]/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231119/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

drivers/video/fbdev/matrox/i2c-matroxfb.c: In function 'i2c_matroxfb_probe':
>> drivers/video/fbdev/matrox/i2c-matroxfb.c:178:23: error: too many arguments to function 'i2c_bus_reg'
178 | err = i2c_bus_reg(&m2info->maven, minfo,
| ^~~~~~~~~~~
drivers/video/fbdev/matrox/i2c-matroxfb.c:102:12: note: declared here
102 | static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo,
| ^~~~~~~~~~~


vim +/i2c_bus_reg +178 drivers/video/fbdev/matrox/i2c-matroxfb.c

^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 141
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 142 static void* i2c_matroxfb_probe(struct matrox_fb_info* minfo) {
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 143 int err;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 144 unsigned long flags;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 145 struct matroxfb_dh_maven_info* m2info;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 146
2fdbe5cf27aff9 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2007-02-12 147 m2info = kzalloc(sizeof(*m2info), GFP_KERNEL);
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 148 if (!m2info)
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 149 return NULL;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 150
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 151 matroxfb_DAC_lock_irqsave(flags);
316b4d644caceb drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2009-09-22 152 matroxfb_DAC_out(minfo, DAC_XGENIODATA, 0xFF);
316b4d644caceb drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2009-09-22 153 matroxfb_DAC_out(minfo, DAC_XGENIOCTRL, 0x00);
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 154 matroxfb_DAC_unlock_irqrestore(flags);
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 155
fc2d10ddfc8989 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2009-09-22 156 switch (minfo->chip) {
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 157 case MGA_2064:
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 158 case MGA_2164:
c1b6b4f2342d07 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-07-14 159 err = i2c_bus_reg(&m2info->ddc1, minfo,
c1b6b4f2342d07 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-07-14 160 DDC1B_DATA, DDC1B_CLK,
d0e2994db76d4c drivers/video/fbdev/matrox/i2c-matroxfb.c Heiner Kallweit 2023-11-18 161 "DDC:fb%u #0");
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 162 break;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 163 default:
c1b6b4f2342d07 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-07-14 164 err = i2c_bus_reg(&m2info->ddc1, minfo,
c1b6b4f2342d07 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-07-14 165 DDC1_DATA, DDC1_CLK,
d0e2994db76d4c drivers/video/fbdev/matrox/i2c-matroxfb.c Heiner Kallweit 2023-11-18 166 "DDC:fb%u #0");
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 167 break;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 168 }
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 169 if (err)
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 170 goto fail_ddc1;
fc2d10ddfc8989 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2009-09-22 171 if (minfo->devflags.dualhead) {
d0e2994db76d4c drivers/video/fbdev/matrox/i2c-matroxfb.c Heiner Kallweit 2023-11-18 172 err = i2c_bus_reg(&m2info->ddc2, minfo, DDC2_DATA, DDC2_CLK, "DDC:fb%u #1");
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 173 if (err == -ENODEV) {
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 174 printk(KERN_INFO "i2c-matroxfb: VGA->TV plug detected, DDC unavailable.\n");
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 175 } else if (err)
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 176 printk(KERN_INFO "i2c-matroxfb: Could not register secondary output i2c bus. Continuing anyway.\n");
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 177 /* Register maven bus even on G450/G550 */
c1b6b4f2342d07 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-07-14 @178 err = i2c_bus_reg(&m2info->maven, minfo,
c1b6b4f2342d07 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-07-14 179 MAT_DATA, MAT_CLK, "MAVEN:fb%u", 0);
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 180 if (err)
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 181 printk(KERN_INFO "i2c-matroxfb: Could not register Maven i2c bus. Continuing anyway.\n");
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 182 else {
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 183 struct i2c_board_info maven_info = {
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 184 I2C_BOARD_INFO("maven", 0x1b),
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 185 };
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 186 unsigned short const addr_list[2] = {
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 187 0x1b, I2C_CLIENT_END
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 188 };
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 189
a72e27f7a47069 drivers/video/fbdev/matrox/i2c-matroxfb.c Wolfram Sang 2019-11-06 190 i2c_new_scanned_device(&m2info->maven.adapter,
9a94241afcc9a4 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2010-08-11 191 &maven_info, addr_list, NULL);
10546355323e48 drivers/video/matrox/i2c-matroxfb.c Jean Delvare 2008-08-12 192 }
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 193 }
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 194 return m2info;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 195 fail_ddc1:;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 196 kfree(m2info);
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 197 printk(KERN_ERR "i2c-matroxfb: Could not register primary adapter DDC bus.\n");
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 198 return NULL;
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 199 }
^1da177e4c3f41 drivers/video/matrox/i2c-matroxfb.c Linus Torvalds 2005-04-16 200

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki