Re: [linuxtv-media:master 483/499] m88ds3103.c:undefined reference to `i2c_del_mux_adapter'

2013-12-21 Thread Mauro Carvalho Chehab
Em Sat, 21 Dec 2013 10:27:44 +0800
kbuild test robot fengguang...@intel.com escreveu:

 tree:   git://linuxtv.org/media_tree.git master
 head:   c57f87e62368c33ebda11a4993380c8e5a19a5c5
 commit: 44b9055b4b058d7b02bf0380158627f9be79b9e5 [483/499] [media] m88ds3103: 
 use I2C mux for tuner I2C adapter
 config: i386-randconfig-x0-12210941 (attached as .config)
 
 All error/warnings:
 
 warning: (VIDEO_EM28XX_DVB) selects DVB_M88DS3103 which has unmet direct 
 dependencies (MEDIA_SUPPORT  DVB_CORE  I2C  I2C_MUX)
drivers/built-in.o: In function `m88ds3103_release':
  m88ds3103.c:(.text+0x1ab1af): undefined reference to `i2c_del_mux_adapter'
drivers/built-in.o: In function `m88ds3103_attach':
  (.text+0x1ab342): undefined reference to `i2c_add_mux_adapter'
 
 ---
 0-DAY kernel build testing backend  Open Source Technology Center
 http://lists.01.org/mailman/listinfo/kbuild Intel Corporation

Not sure what's the best fix for this. I can see 3 alternatives:

1) make em28xx dependent on I2C_MUX.

That sounds wrong, as the em28xx bridge doesn't have i2c muxes on it,
and just one frontend has.

Well, we may eventually convert all i2c gate stuff into i2c mux support,
with makes sense, but it takes time and lots of effort.

2) we may make MEDIA_SUBDRV_AUTOSELECT dependent of I2C and I2C_MUX.

That means that users will need to manually enable I2C_MUX on some
distributions. Not sure about others, but, on Fedora, this option is
disabled.

So, we'll end by receiving a number of complains from users, until all
distros that ship media start adding I2C_MUX.

3) if MEDIA_SUBDRV_AUTOSELECT is selected, it will select I2C and I2C_MUX.

Of course, MEDIA_SUBDRV_AUTOSELECT will need to inherit all dependencies
that I2C and I2C_MUX have (only HAS_IOMEM).

The disadvantage is that, if new dependencies are added on I2C, they'll
also need to be added here.

As the hole idea of autoselect is to let the user not bother about whatever
frontend/tuner is used by a driver, IMHO, (3) is the better solution.

Patch for (3) is enclosed.

-- 

Cheers,
Mauro

From: Mauro Carvalho Chehab m.che...@samsung.com
Date: Sat, 21 Dec 2013 05:42:11 -0200
Subject: [PATCH] [media] subdev autoselect only works if I2C and I2C_MUX is 
selected

As reported by the kbuild test robot fengguang...@intel.com:

 warning: (VIDEO_EM28XX_DVB) selects DVB_M88DS3103 which has unmet direct 
 dependencies (MEDIA_SUPPORT  DVB_CORE  I2C  I2C_MUX)
drivers/built-in.o: In function `m88ds3103_release':
  m88ds3103.c:(.text+0x1ab1af): undefined reference to `i2c_del_mux_adapter'
drivers/built-in.o: In function `m88ds3103_attach':
  (.text+0x1ab342): undefined reference to `i2c_add_mux_adapter'

Reported-by: kbuild test robot fengguang...@intel.com
Signed-off-by: Mauro Carvalho Chehab m.che...@samsung.com

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 8270388e2a0d..1d0758aeb8e4 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -172,6 +172,9 @@ comment Media ancillary drivers (tuners, sensors, i2c, 
frontends)
 config MEDIA_SUBDRV_AUTOSELECT
bool Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || 
MEDIA_CAMERA_SUPPORT
+   depends on HAS_IOMEM
+   select I2C
+   select I2C_MUX
default y
help
  By default, a media driver auto-selects all possible ancillary
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linuxtv-media:master 483/499] m88ds3103.c:undefined reference to `i2c_del_mux_adapter'

2013-12-21 Thread Mauro Carvalho Chehab
Em Sat, 21 Dec 2013 08:50:48 -0200
Mauro Carvalho Chehab m.che...@samsung.com escreveu:

 From: Mauro Carvalho Chehab m.che...@samsung.com
 Date: Sat, 21 Dec 2013 05:42:11 -0200
 Subject: [PATCH] [media] subdev autoselect only works if I2C and I2C_MUX is 
 selected
 
 As reported by the kbuild test robot fengguang...@intel.com:
 
  warning: (VIDEO_EM28XX_DVB) selects DVB_M88DS3103 which has unmet direct 
  dependencies (MEDIA_SUPPORT  DVB_CORE  I2C  I2C_MUX)
 drivers/built-in.o: In function `m88ds3103_release':  
   m88ds3103.c:(.text+0x1ab1af): undefined reference to 
   `i2c_del_mux_adapter'  
 drivers/built-in.o: In function `m88ds3103_attach':  
   (.text+0x1ab342): undefined reference to `i2c_add_mux_adapter'  
 
 Reported-by: kbuild test robot fengguang...@intel.com
 Signed-off-by: Mauro Carvalho Chehab m.che...@samsung.com

It is the Christmas week. I don't think we'll have enough reviews for this,
as most are preparing themselves to properly celebrate the birth of our
Lord, or to just rest during Seasons.

Due to that, I'll likely just apply this patch with a better description,
as I intend to merge the pending patches at -next during this weekend,
and I don't want to spread compilation breakages there.

If we latter agree with some other solution, reverting this one while 
applying other changes should be trivial.

Happy Seasons!
Mauro

 
 diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
 index 8270388e2a0d..1d0758aeb8e4 100644
 --- a/drivers/media/Kconfig
 +++ b/drivers/media/Kconfig
 @@ -172,6 +172,9 @@ comment Media ancillary drivers (tuners, sensors, i2c, 
 frontends)
  config MEDIA_SUBDRV_AUTOSELECT
   bool Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
   depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || 
 MEDIA_CAMERA_SUPPORT
 + depends on HAS_IOMEM
 + select I2C
 + select I2C_MUX
   default y
   help
 By default, a media driver auto-selects all possible ancillary
 --


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html