Message ID | 20231118174221.851-6-hkallweit1@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | remove I2C_CLASS_DDC support | expand |
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/202311191235.fdwRQUG6-lkp@intel.com/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/202311191235.fdwRQUG6-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311191235.fdwRQUG6-lkp@intel.com/
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
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 */
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 <hkallweit1@gmail.com> --- 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(-)