All of lore.kernel.org
 help / color / mirror / Atom feed
* About the radio-si470x driver for I2C interface
@ 2009-03-06  3:13 Joonyoung Shim
  2009-03-06 10:46 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 17+ messages in thread
From: Joonyoung Shim @ 2009-03-06  3:13 UTC (permalink / raw)
  To: linux-media; +Cc: mchehab, tobias.lorenz, kyungmin.park

Hi all,

I have worked with Silicon Labs Si4709 chip using the I2C interface.
There is the radio-si470x driver in linux-kernel, but it uses usb interface.

First, i made a new file based on radio-si470x.c in driver/media/radio/ for
si4709 i2c driver and modified it to use i2c interface instead of usb
interface and could listen to FM radio station.

I think it can be to join two things together to one file because there isn't
the difference between the two except for the interface.
I am considering how to integrate them.

Please send your opinion.


-- 
- Joonyoung Shim

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
  2009-03-06  3:13 About the radio-si470x driver for I2C interface Joonyoung Shim
@ 2009-03-06 10:46 ` Mauro Carvalho Chehab
  2009-03-07 15:27   ` Problem with changeset 10837: causes "make all" not to build many modules Alain Kalker
       [not found]   ` <200903092333.38819.tobias.lorenz@gmx.net>
  0 siblings, 2 replies; 17+ messages in thread
From: Mauro Carvalho Chehab @ 2009-03-06 10:46 UTC (permalink / raw)
  To: Joonyoung Shim; +Cc: linux-media, tobias.lorenz, kyungmin.park

On Fri, 6 Mar 2009 12:13:05 +0900
Joonyoung Shim <dofmind@gmail.com> wrote:

> Hi all,
> 
> I have worked with Silicon Labs Si4709 chip using the I2C interface.
> There is the radio-si470x driver in linux-kernel, but it uses usb interface.
> 
> First, i made a new file based on radio-si470x.c in driver/media/radio/ for
> si4709 i2c driver and modified it to use i2c interface instead of usb
> interface and could listen to FM radio station.
> 
> I think it can be to join two things together to one file because there isn't
> the difference between the two except for the interface.
> I am considering how to integrate them.
> 
> Please send your opinion.
> 

The proper way is to break radio-si470x into two parts:

	- A i2c adapter driver (similar to what we have on cx88-i2c, for
	  example, plus the radio part of cx88-video);
	- A radio driver (similar to tea5767.c).

This way, the i2c driver can be used on designs that use a different i2c adapter.

Cheers,
Mauro

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Problem with changeset 10837: causes "make all" not to build many modules
  2009-03-06 10:46 ` Mauro Carvalho Chehab
@ 2009-03-07 15:27   ` Alain Kalker
  2009-03-08 16:54     ` Mauro Carvalho Chehab
       [not found]   ` <200903092333.38819.tobias.lorenz@gmx.net>
  1 sibling, 1 reply; 17+ messages in thread
From: Alain Kalker @ 2009-03-07 15:27 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media

[-- Attachment #1: Type: text/plain, Size: 435 bytes --]

Mauro,

Your latest changeset causes many modules (100 in total!) not to be
built anymore when doing "make all", i.e. without doing any "make
xconfig"/"make gconfig".

I think this is related to the config variables for the frontend drivers
no longer being defined when DVB_FE_CUSTOMISE=n , so the card drivers
cannot depend on them anymore.

I've attached a diff between v4l/.config from current revision and
parent.

Regards,

Alain

[-- Attachment #2: dot.config.diff.6f1afb4c6fab-6bd427caa0cb --]
[-- Type: text/x-patch, Size: 11954 bytes --]

--- v4l-dvb/v4l/.config	2009-03-07 15:22:26.000000000 +0100
+++ v4l-dvb-tip/v4l/.config	2009-03-07 16:02:55.000000000 +0100
@@ -1,28 +1,28 @@
 CONFIG_MEDIA_TUNER_TDA18271=m
 CONFIG_USB_DSBR=m
-CONFIG_VIDEO_CX88_VP3054=m
+# CONFIG_VIDEO_CX88_VP3054 is not set
 CONFIG_DAB=y
 CONFIG_DVB_USB=m
-CONFIG_DVB_DUMMY_FE=m
+# CONFIG_DVB_DUMMY_FE is not set
 CONFIG_USB_GSPCA_OV534=m
 CONFIG_USB_STKWEBCAM=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_CX22700=m
+# CONFIG_DVB_S5H1420 is not set
+# CONFIG_DVB_CX22700 is not set
 CONFIG_SOC_CAMERA=m
 CONFIG_VIDEO_CX88_BLACKBIRD=m
 CONFIG_USB_VICAM=m
 CONFIG_VIDEO_USBVISION=m
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_BUDGET_AV=m
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_BUDGET_AV is not set
 CONFIG_MEDIA_TUNER=m
-CONFIG_DVB_TUNER_DIB0070=m
+# CONFIG_DVB_TUNER_DIB0070 is not set
 CONFIG_VIDEO_VPX3220=m
 CONFIG_MEDIA_TUNER_TDA827X=m
 CONFIG_USB_GSPCA_SPCA561=m
 # CONFIG_USB_STV06XX is not set
 CONFIG_VIDEO_SAA7110=m
 CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_DVB_BT8XX=m
+# CONFIG_DVB_BT8XX is not set
 CONFIG_VIDEO_SAA7127=m
 CONFIG_DVB_USB_AF9005=m
 CONFIG_USB_GSPCA_PAC7311=m
@@ -30,40 +30,40 @@
 CONFIG_VIDEO_WM8739=m
 CONFIG_RADIO_MAESTRO=m
 CONFIG_VIDEO_CPIA=m
-CONFIG_DVB_CX22702=m
+# CONFIG_DVB_CX22702 is not set
 CONFIG_VIDEOBUF_GEN=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI is not set
 CONFIG_RADIO_AZTECH=m
 CONFIG_VIDEO_BT848=m
 CONFIG_VIDEO_VIVI=m
-CONFIG_DVB_USB_CXUSB=m
+# CONFIG_DVB_USB_CXUSB is not set
 CONFIG_USB_GSPCA_FINEPIX=m
 CONFIG_SOC_CAMERA_MT9V022=m
 CONFIG_SND_FM801=m
 CONFIG_RADIO_SF16FMI=m
 # CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_DVB_ISL6405=m
+# CONFIG_DVB_ISL6405 is not set
 CONFIG_DVB_USB_VP702X=m
 CONFIG_DVB_USB_DEBUG=y
 CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_DVB_USB_ANYSEE=m
+# CONFIG_DVB_USB_ANYSEE is not set
 CONFIG_VIDEO_BT856=m
 CONFIG_RADIO_CADET=m
 CONFIG_USB_M5602=m
 CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
 CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
-CONFIG_DVB_DRX397XD=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+# CONFIG_DVB_DRX397XD is not set
 CONFIG_VIDEO_CX25840=m
 CONFIG_VIDEO_VP27SMPX=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_USB is not set
 CONFIG_VIDEO_TVP5150=m
 CONFIG_VIDEO_SAA5246A=m
 CONFIG_MEDIA_TUNER_SIMPLE=m
 CONFIG_VIDEO_TEA6415C=m
-CONFIG_DVB_OR51211=m
+# CONFIG_DVB_OR51211 is not set
 CONFIG_VIDEO_OVCAMCHIP=m
-CONFIG_DVB_AV7110_OSD=y
+# CONFIG_DVB_AV7110_OSD is not set
 CONFIG_VIDEO_ZORAN_LML33=m
 CONFIG_USB_PWC_INPUT_EVDEV=y
 CONFIG_SOC_CAMERA_MT9M111=m
@@ -72,115 +72,115 @@
 CONFIG_SOC_CAMERA_OV772X=m
 CONFIG_VIDEO_CX88=m
 CONFIG_VIDEO_W9966=m
-CONFIG_DVB_S5H1411=m
+# CONFIG_DVB_S5H1411 is not set
 CONFIG_VIDEO_TCM825X=m
 CONFIG_USB_S2255=m
 CONFIG_RADIO_ZOLTRIX=m
-CONFIG_DVB_PLL=m
-CONFIG_DVB_LGDT330X=m
+# CONFIG_DVB_PLL is not set
+# CONFIG_DVB_LGDT330X is not set
 CONFIG_RADIO_TYPHOON_PROC_FS=y
-CONFIG_DVB_STB0899=m
+# CONFIG_DVB_STB0899 is not set
 CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_B2C2_FLEXCOP=m
+# CONFIG_DVB_LNBP21 is not set
+# CONFIG_DVB_B2C2_FLEXCOP is not set
 CONFIG_USB_GSPCA_SONIXB=m
 CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_BT848_DVB=y
+# CONFIG_VIDEO_BT848_DVB is not set
 CONFIG_VIDEO_ZORAN_DC10=m
 CONFIG_DVB_USB_CINERGY_T2=m
 CONFIG_RADIO_TERRATEC=m
 CONFIG_VIDEO_KS0127=m
-CONFIG_DVB_VES1820=m
-CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_DVB_VES1820 is not set
+# CONFIG_VIDEO_PVRUSB2_DVB is not set
 CONFIG_VIDEO_DEV=m
 CONFIG_VIDEO_SAA717X=m
 CONFIG_RADIO_TEA5764=m
 CONFIG_MT9M001_PCA9536_SWITCH=y
 CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_VIDEO_CX23885=m
+# CONFIG_VIDEO_CX23885 is not set
 CONFIG_USB_DABUSB=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_VES1X93=m
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_VES1X93 is not set
 CONFIG_VIDEO_ALLOW_V4L1=y
 CONFIG_VIDEO_CS5345=m
 # CONFIG_RADIO_GEMTEK_PROBE is not set
 CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_DVB_ISL6421=m
+# CONFIG_DVB_ISL6421 is not set
 CONFIG_USB_GSPCA_PAC207=m
-CONFIG_DVB_NXT6000=m
+# CONFIG_DVB_NXT6000 is not set
 CONFIG_DVB_TTUSB_DEC=m
 CONFIG_SND_FM801_TEA575X=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
+# CONFIG_DVB_USB_NOVA_T_USB2 is not set
 CONFIG_MEDIA_TUNER_XC5000=m
 CONFIG_RADIO_MAXIRADIO=m
-CONFIG_DVB_TDA10048=m
+# CONFIG_DVB_TDA10048 is not set
 CONFIG_MEDIA_TUNER_MXL5005S=m
 CONFIG_MEDIA_TUNER_TEA5761=m
 CONFIG_VIDEO_TDA7432=m
 CONFIG_VIDEOBUF_DMA_SG=m
 CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_VIDEO_CX18=m
-CONFIG_DVB_TDA1004X=m
+# CONFIG_VIDEO_CX18 is not set
+# CONFIG_DVB_TDA1004X is not set
 CONFIG_VIDEO_MXB=m
-CONFIG_DVB_STV6110=m
+# CONFIG_DVB_STV6110 is not set
 CONFIG_VIDEO_ADV7170=m
 CONFIG_DVB_DYNAMIC_MINORS=y
 CONFIG_SOC_CAMERA_PLATFORM=m
 CONFIG_VIDEO_TDA9840=m
 # CONFIG_VIDEO_PXA27x is not set
-CONFIG_DVB_TDA10023=m
+# CONFIG_DVB_TDA10023 is not set
 CONFIG_VIDEO_V4L2=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_S5H1409 is not set
+# CONFIG_DVB_USB_DIBUSB_MB is not set
 CONFIG_VIDEO_SAA7134_ALSA=m
 CONFIG_VIDEO_IR_I2C=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
+# CONFIG_DVB_USB_AF9015 is not set
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
 CONFIG_VIDEO_SAA6588=m
 # CONFIG_VIDEO_MX3 is not set
 CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_DVB_L64781=m
+# CONFIG_DVB_L64781 is not set
 CONFIG_DVB_CAPTURE_DRIVERS=y
 CONFIG_USB_GSPCA_TV8532=m
-CONFIG_DVB_LGDT3304=m
+# CONFIG_DVB_LGDT3304 is not set
 CONFIG_RADIO_ADAPTERS=y
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_MT352=m
+# CONFIG_DVB_USB_OPERA1 is not set
+# CONFIG_DVB_MT352 is not set
 CONFIG_RADIO_GEMTEK_PCI=m
-CONFIG_DVB_USB_M920X=m
+# CONFIG_DVB_USB_M920X is not set
 CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_DVB_USB_DIGITV=m
+# CONFIG_DVB_USB_DIGITV is not set
 CONFIG_VIDEO_MSP3400=m
 CONFIG_VIDEO_BWQCAM=m
-CONFIG_DVB_USB_UMT_010=m
+# CONFIG_DVB_USB_UMT_010 is not set
 CONFIG_USB_GSPCA_SUNPLUS=m
 CONFIG_SOC_CAMERA_TW9910=m
 CONFIG_USB_W9968CF=m
 CONFIG_MEDIA_TUNER_MXL5007T=m
 CONFIG_USB_SN9C102=m
 CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_DVB_DIB3000MB=m
+# CONFIG_DVB_DIB3000MB is not set
 CONFIG_RADIO_GEMTEK=m
 CONFIG_VIDEO_CQCAM=m
-CONFIG_DVB_LGS8GL5=m
+# CONFIG_DVB_LGS8GL5 is not set
 CONFIG_RADIO_RTRACK2=m
 CONFIG_VIDEO_TUNER=m
 CONFIG_USB_GSPCA_OV519=m
-CONFIG_DVB_USB_DIBUSB_MC=m
+# CONFIG_DVB_USB_DIBUSB_MC is not set
 CONFIG_VIDEO_PMS=m
 # CONFIG_DVB_FE_CUSTOMISE is not set
 CONFIG_USB_OV511=m
 CONFIG_MT9V022_PCA9536_SWITCH=y
 CONFIG_VIDEO_CAPTURE_DRIVERS=y
 CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_DVB_AF9013=m
+# CONFIG_DVB_AF9013 is not set
 CONFIG_VIDEO_ADV_DEBUG=y
 CONFIG_VIDEO_SAA711X=m
-CONFIG_DVB_MT312=m
+# CONFIG_DVB_MT312 is not set
 CONFIG_VIDEO_CX88_ALSA=m
 # CONFIG_VIDEO_OMAP2 is not set
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_USB_DW2102=m
+# CONFIG_DVB_CX24116 is not set
+# CONFIG_DVB_USB_DW2102 is not set
 CONFIG_SND_BT87X=m
 CONFIG_VIDEO_MEDIA=m
 CONFIG_VIDEO_EM28XX=m
@@ -192,76 +192,76 @@
 CONFIG_VIDEO_STRADIS=m
 CONFIG_USB_ZC0301=m
 CONFIG_USB_SI470X=m
-CONFIG_DVB_OR51132=m
+# CONFIG_DVB_OR51132 is not set
 CONFIG_VIDEO_TDA9875=m
-CONFIG_VIDEO_CX88_DVB=m
+# CONFIG_VIDEO_CX88_DVB is not set
 CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
 CONFIG_USB_GSPCA_SPCA501=m
 CONFIG_USB_GSPCA_SPCA508=m
 CONFIG_USB_GSPCA_SPCA505=m
 CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_DVB_AU8522=m
+# CONFIG_DVB_AU8522 is not set
 CONFIG_RADIO_TYPHOON=m
 CONFIG_VIDEO_CS53L32A=m
-CONFIG_DVB_BUDGET_PATCH=m
+# CONFIG_DVB_BUDGET_PATCH is not set
 CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_CX24110=m
+# CONFIG_DVB_ZL10353 is not set
+# CONFIG_DVB_CX24110 is not set
 # CONFIG_DVB_AV7110_FIRMWARE is not set
 CONFIG_USB_GSPCA=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_VIDEO_SAA7134_DVB=m
+# CONFIG_DVB_DIB7000M is not set
+# CONFIG_VIDEO_SAA7134_DVB is not set
 CONFIG_USB_GSPCA_VC032X=m
 CONFIG_DVB_SIANO_SMS1XXX=m
 CONFIG_VIDEO_ADV7175=m
 CONFIG_VIDEO_EM28XX_ALSA=m
 CONFIG_VIDEO_USBVIDEO=m
-CONFIG_DVB_DIB3000MC=m
+# CONFIG_DVB_DIB3000MC is not set
 CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_DVB_TDA8261=m
+# CONFIG_DVB_TDA8261 is not set
 CONFIG_VIDEO_MEYE=m
 CONFIG_VIDEO_CX88_MPEG=m
 CONFIG_USB_QUICKCAM_MESSENGER=m
 CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA8083 is not set
 CONFIG_VIDEO_CX2341X=m
 # CONFIG_VIDEO_SH_MOBILE_CEU is not set
 CONFIG_DVB_CORE=m
 CONFIG_VIDEO_IVTV=m
 CONFIG_USB_GSPCA_SQ905=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_AV7110=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_DVB_STV0299=m
+# CONFIG_DVB_TUNER_CX24113 is not set
+# CONFIG_DVB_STB6100 is not set
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_VIDEO_EM28XX_DVB is not set
+# CONFIG_DVB_STV0299 is not set
 CONFIG_MEDIA_TUNER_QT1010=m
 # CONFIG_VIDEO_M32R_AR is not set
 CONFIG_VIDEO_CPIA2=m
 CONFIG_VIDEO_SAA7146_VV=m
 CONFIG_USB_KONICAWC=m
-CONFIG_DVB_USB_DIB0700=m
+# CONFIG_DVB_USB_DIB0700 is not set
 CONFIG_VIDEO_PVRUSB2=m
 CONFIG_VIDEO_SAA7134=m
 CONFIG_VIDEO_TVP514X=m
-CONFIG_DVB_TUA6100=m
+# CONFIG_DVB_TUA6100 is not set
 CONFIG_VIDEO_CAFE_CCIC=m
 CONFIG_USB_PWC_DEBUG=y
 CONFIG_USB_GSPCA_SPCA500=m
 CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_NXT200X=m
+# CONFIG_DVB_NXT200X is not set
 CONFIG_VIDEO_ZORAN_ZR36060=m
 CONFIG_MEDIA_TUNER_TDA8290=m
 CONFIG_VIDEO_SAA7185=m
 CONFIG_USB_STV680=m
 CONFIG_VIDEO_TEA6420=m
-CONFIG_DVB_STV0297=m
+# CONFIG_DVB_STV0297 is not set
 CONFIG_RADIO_SF16FMR2=m
 CONFIG_USB_ZR364XX=m
 CONFIG_VIDEOBUF_VMALLOC=m
 CONFIG_VIDEO_CPIA_USB=m
 CONFIG_USB_PWC=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_DM1105=m
+# CONFIG_DVB_USB_DTV5100 is not set
+# CONFIG_DVB_DM1105 is not set
 # CONFIG_RADIO_TEA5764_XTAL is not set
 CONFIG_DVB_USB_DTT200U=m
 CONFIG_VIDEO_TVEEPROM=m
@@ -269,31 +269,31 @@
 CONFIG_VIDEO_HEXIUM_GEMINI=m
 CONFIG_VIDEO_ZORAN_LML33R10=m
 CONFIG_VIDEO_CPIA_PP=m
-CONFIG_DVB_TDA10021=m
+# CONFIG_DVB_TDA10021 is not set
 CONFIG_VIDEO_ZORAN_AVS6EYES=m
 CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_DVB_USB_AU6610=m
+# CONFIG_DVB_USB_AU6610 is not set
 CONFIG_VIDEO_SAA7191=m
 CONFIG_MEDIA_ATTACH=y
 CONFIG_RADIO_TRUST=m
-CONFIG_DVB_USB_GL861=m
+# CONFIG_DVB_USB_GL861 is not set
 CONFIG_USB_GSPCA_ETOMS=m
 CONFIG_VIDEO_FB_IVTV=m
 CONFIG_VIDEO_BT819=m
 CONFIG_VIDEO_SAA7146=m
-CONFIG_DVB_TUNER_ITD1000=m
+# CONFIG_DVB_TUNER_ITD1000 is not set
 CONFIG_VIDEO_BTCX=m
 CONFIG_VIDEO_V4L1_COMPAT=y
 CONFIG_VIDEOBUF_DVB=m
-CONFIG_DVB_S921=m
+# CONFIG_DVB_S921 is not set
 # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
 CONFIG_DVB_USB_VP7045=m
 CONFIG_VIDEO_ZORAN=m
-CONFIG_DVB_CX24123=m
+# CONFIG_DVB_CX24123 is not set
 CONFIG_RADIO_RTRACK=m
 CONFIG_USB_MR800=m
 CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_DVB_STV0288=m
+# CONFIG_DVB_STV0288 is not set
 CONFIG_MEDIA_TUNER_CUSTOMIZE=y
 CONFIG_USB_VIDEO_CLASS=m
 CONFIG_VIDEO_HEXIUM_ORION=m
@@ -301,34 +301,34 @@
 CONFIG_USB_GSPCA_MR97310A=m
 CONFIG_VIDEO_UPD64031A=m
 CONFIG_VIDEO_TVAUDIO=m
-CONFIG_DVB_PLUTO2=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_BUDGET_CI=m
+# CONFIG_DVB_PLUTO2 is not set
+# CONFIG_DVB_STB6000 is not set
+# CONFIG_DVB_BUDGET_CI is not set
 CONFIG_DVB_USB_GP8PSK=m
 CONFIG_USB_IBMCAM=m
 CONFIG_SND_BT87X_OVERCLOCK=y
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TTUSB_BUDGET=m
+# CONFIG_DVB_USB_TTUSB2 is not set
+# CONFIG_DVB_TDA826X is not set
+# CONFIG_DVB_TDA10086 is not set
+# CONFIG_DVB_TTUSB_BUDGET is not set
 CONFIG_VIDEO_TLV320AIC23B=m
 CONFIG_VIDEO_WM8775=m
 # CONFIG_VIDEO_VINO is not set
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_DIB7000P=m
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_DIB7000P is not set
 CONFIG_USB_GSPCA_CONEX=m
 CONFIG_USB_ET61X251=m
 CONFIG_VIDEO_V4L1=m
 # CONFIG_VIDEO_M32R_AR_M64278 is not set
 CONFIG_USB_SE401=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_STV0900=m
+# CONFIG_DVB_SI21XX is not set
+# CONFIG_DVB_ZL10036 is not set
+# CONFIG_DVB_BCM3510 is not set
+# CONFIG_DVB_STV0900 is not set
 CONFIG_VIDEO_SAA5249=m
 CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_VIDEO_AU0828=m
+# CONFIG_VIDEO_AU0828 is not set
 CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_DVB_USB_A800=m
+# CONFIG_DVB_USB_A800 is not set
 CONFIG_V4L_USB_DRIVERS=y
 CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Problem with changeset 10837: causes "make all" not to build many modules
  2009-03-07 15:27   ` Problem with changeset 10837: causes "make all" not to build many modules Alain Kalker
@ 2009-03-08 16:54     ` Mauro Carvalho Chehab
  2009-03-09  2:17       ` Alain Kalker
  0 siblings, 1 reply; 17+ messages in thread
From: Mauro Carvalho Chehab @ 2009-03-08 16:54 UTC (permalink / raw)
  To: Alain Kalker; +Cc: Mauro Carvalho Chehab, linux-media

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2257 bytes --]

Hi Alain,

On Sat, 7 Mar 2009, Alain Kalker wrote:

> Mauro,
>
> Your latest changeset causes many modules (100 in total!) not to be
> built anymore when doing "make all", i.e. without doing any "make
> xconfig"/"make gconfig".
>
> I think this is related to the config variables for the frontend drivers
> no longer being defined when DVB_FE_CUSTOMISE=n , so the card drivers
> cannot depend on them anymore.

Thanks to warning me about that!

This seems to be yet another difference between the in-kernel and the 
out-of-tree building environment.

This is what I get when unsetting DVB_FE_CUSTOMISE at the -git tree, and 
selecting all dvb drivers with 'm':

$ grep -f /tmp/fe .config
# CONFIG_DVB_FE_CUSTOMISE is not set
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
CONFIG_DVB_ZL10036=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_STV6110=m
CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_LGS8GL5=m
CONFIG_DVB_AF9013=m

So, everything seems OK. The 4 unused frontends (lgdt3304, dvb_dummy_fe, 
s921 and drx397xD) weren't selected. Only the ones that are required by 
the selected drivers (in the above case, I've selected everything) are 
handled.

It seems that some fix is needed at our building system to solve this 
issue.

I'll try to identify what's happening.

Cheers,
Mauro

[-- Attachment #2: Type: TEXT/X-PATCH, Size: 12386 bytes --]

--- v4l-dvb/v4l/.config	2009-03-07 15:22:26.000000000 +0100

+++ v4l-dvb-tip/v4l/.config	2009-03-07 16:02:55.000000000 +0100

@@ -1,28 +1,28 @@

 CONFIG_MEDIA_TUNER_TDA18271=m

 CONFIG_USB_DSBR=m

-CONFIG_VIDEO_CX88_VP3054=m

+# CONFIG_VIDEO_CX88_VP3054 is not set

 CONFIG_DAB=y

 CONFIG_DVB_USB=m

-CONFIG_DVB_DUMMY_FE=m

+# CONFIG_DVB_DUMMY_FE is not set

 CONFIG_USB_GSPCA_OV534=m

 CONFIG_USB_STKWEBCAM=m

-CONFIG_DVB_S5H1420=m

-CONFIG_DVB_CX22700=m

+# CONFIG_DVB_S5H1420 is not set

+# CONFIG_DVB_CX22700 is not set

 CONFIG_SOC_CAMERA=m

 CONFIG_VIDEO_CX88_BLACKBIRD=m

 CONFIG_USB_VICAM=m

 CONFIG_VIDEO_USBVISION=m

-CONFIG_DVB_SP8870=m

-CONFIG_DVB_BUDGET_AV=m

+# CONFIG_DVB_SP8870 is not set

+# CONFIG_DVB_BUDGET_AV is not set

 CONFIG_MEDIA_TUNER=m

-CONFIG_DVB_TUNER_DIB0070=m

+# CONFIG_DVB_TUNER_DIB0070 is not set

 CONFIG_VIDEO_VPX3220=m

 CONFIG_MEDIA_TUNER_TDA827X=m

 CONFIG_USB_GSPCA_SPCA561=m

 # CONFIG_USB_STV06XX is not set

 CONFIG_VIDEO_SAA7110=m

 CONFIG_VIDEO_ZORAN_BUZ=m

-CONFIG_DVB_BT8XX=m

+# CONFIG_DVB_BT8XX is not set

 CONFIG_VIDEO_SAA7127=m

 CONFIG_DVB_USB_AF9005=m

 CONFIG_USB_GSPCA_PAC7311=m

@@ -30,40 +30,40 @@

 CONFIG_VIDEO_WM8739=m

 CONFIG_RADIO_MAESTRO=m

 CONFIG_VIDEO_CPIA=m

-CONFIG_DVB_CX22702=m

+# CONFIG_DVB_CX22702 is not set

 CONFIG_VIDEOBUF_GEN=m

-CONFIG_DVB_B2C2_FLEXCOP_PCI=m

+# CONFIG_DVB_B2C2_FLEXCOP_PCI is not set

 CONFIG_RADIO_AZTECH=m

 CONFIG_VIDEO_BT848=m

 CONFIG_VIDEO_VIVI=m

-CONFIG_DVB_USB_CXUSB=m

+# CONFIG_DVB_USB_CXUSB is not set

 CONFIG_USB_GSPCA_FINEPIX=m

 CONFIG_SOC_CAMERA_MT9V022=m

 CONFIG_SND_FM801=m

 CONFIG_RADIO_SF16FMI=m

 # CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set

-CONFIG_DVB_ISL6405=m

+# CONFIG_DVB_ISL6405 is not set

 CONFIG_DVB_USB_VP702X=m

 CONFIG_DVB_USB_DEBUG=y

 CONFIG_MEDIA_TUNER_XC2028=m

-CONFIG_DVB_USB_ANYSEE=m

+# CONFIG_DVB_USB_ANYSEE is not set

 CONFIG_VIDEO_BT856=m

 CONFIG_RADIO_CADET=m

 CONFIG_USB_M5602=m

 CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y

 CONFIG_USB_GSPCA_SONIXJ=m

-CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y

-CONFIG_DVB_DRX397XD=m

+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set

+# CONFIG_DVB_DRX397XD is not set

 CONFIG_VIDEO_CX25840=m

 CONFIG_VIDEO_VP27SMPX=m

-CONFIG_DVB_B2C2_FLEXCOP_USB=m

+# CONFIG_DVB_B2C2_FLEXCOP_USB is not set

 CONFIG_VIDEO_TVP5150=m

 CONFIG_VIDEO_SAA5246A=m

 CONFIG_MEDIA_TUNER_SIMPLE=m

 CONFIG_VIDEO_TEA6415C=m

-CONFIG_DVB_OR51211=m

+# CONFIG_DVB_OR51211 is not set

 CONFIG_VIDEO_OVCAMCHIP=m

-CONFIG_DVB_AV7110_OSD=y

+# CONFIG_DVB_AV7110_OSD is not set

 CONFIG_VIDEO_ZORAN_LML33=m

 CONFIG_USB_PWC_INPUT_EVDEV=y

 CONFIG_SOC_CAMERA_MT9M111=m

@@ -72,115 +72,115 @@

 CONFIG_SOC_CAMERA_OV772X=m

 CONFIG_VIDEO_CX88=m

 CONFIG_VIDEO_W9966=m

-CONFIG_DVB_S5H1411=m

+# CONFIG_DVB_S5H1411 is not set

 CONFIG_VIDEO_TCM825X=m

 CONFIG_USB_S2255=m

 CONFIG_RADIO_ZOLTRIX=m

-CONFIG_DVB_PLL=m

-CONFIG_DVB_LGDT330X=m

+# CONFIG_DVB_PLL is not set

+# CONFIG_DVB_LGDT330X is not set

 CONFIG_RADIO_TYPHOON_PROC_FS=y

-CONFIG_DVB_STB0899=m

+# CONFIG_DVB_STB0899 is not set

 CONFIG_SND_FM801_TEA575X_BOOL=y

-CONFIG_DVB_LNBP21=m

-CONFIG_DVB_B2C2_FLEXCOP=m

+# CONFIG_DVB_LNBP21 is not set

+# CONFIG_DVB_B2C2_FLEXCOP is not set

 CONFIG_USB_GSPCA_SONIXB=m

 CONFIG_USB_GSPCA_ZC3XX=m

-CONFIG_VIDEO_BT848_DVB=y

+# CONFIG_VIDEO_BT848_DVB is not set

 CONFIG_VIDEO_ZORAN_DC10=m

 CONFIG_DVB_USB_CINERGY_T2=m

 CONFIG_RADIO_TERRATEC=m

 CONFIG_VIDEO_KS0127=m

-CONFIG_DVB_VES1820=m

-CONFIG_VIDEO_PVRUSB2_DVB=y

+# CONFIG_DVB_VES1820 is not set

+# CONFIG_VIDEO_PVRUSB2_DVB is not set

 CONFIG_VIDEO_DEV=m

 CONFIG_VIDEO_SAA717X=m

 CONFIG_RADIO_TEA5764=m

 CONFIG_MT9M001_PCA9536_SWITCH=y

 CONFIG_MEDIA_TUNER_MT20XX=m

-CONFIG_VIDEO_CX23885=m

+# CONFIG_VIDEO_CX23885 is not set

 CONFIG_USB_DABUSB=m

-CONFIG_DVB_BUDGET=m

-CONFIG_DVB_VES1X93=m

+# CONFIG_DVB_BUDGET is not set

+# CONFIG_DVB_VES1X93 is not set

 CONFIG_VIDEO_ALLOW_V4L1=y

 CONFIG_VIDEO_CS5345=m

 # CONFIG_RADIO_GEMTEK_PROBE is not set

 CONFIG_USB_GSPCA_SPCA506=m

-CONFIG_DVB_ISL6421=m

+# CONFIG_DVB_ISL6421 is not set

 CONFIG_USB_GSPCA_PAC207=m

-CONFIG_DVB_NXT6000=m

+# CONFIG_DVB_NXT6000 is not set

 CONFIG_DVB_TTUSB_DEC=m

 CONFIG_SND_FM801_TEA575X=m

-CONFIG_DVB_USB_NOVA_T_USB2=m

+# CONFIG_DVB_USB_NOVA_T_USB2 is not set

 CONFIG_MEDIA_TUNER_XC5000=m

 CONFIG_RADIO_MAXIRADIO=m

-CONFIG_DVB_TDA10048=m

+# CONFIG_DVB_TDA10048 is not set

 CONFIG_MEDIA_TUNER_MXL5005S=m

 CONFIG_MEDIA_TUNER_TEA5761=m

 CONFIG_VIDEO_TDA7432=m

 CONFIG_VIDEOBUF_DMA_SG=m

 CONFIG_MEDIA_TUNER_MT2266=m

-CONFIG_VIDEO_CX18=m

-CONFIG_DVB_TDA1004X=m

+# CONFIG_VIDEO_CX18 is not set

+# CONFIG_DVB_TDA1004X is not set

 CONFIG_VIDEO_MXB=m

-CONFIG_DVB_STV6110=m

+# CONFIG_DVB_STV6110 is not set

 CONFIG_VIDEO_ADV7170=m

 CONFIG_DVB_DYNAMIC_MINORS=y

 CONFIG_SOC_CAMERA_PLATFORM=m

 CONFIG_VIDEO_TDA9840=m

 # CONFIG_VIDEO_PXA27x is not set

-CONFIG_DVB_TDA10023=m

+# CONFIG_DVB_TDA10023 is not set

 CONFIG_VIDEO_V4L2=m

-CONFIG_DVB_S5H1409=m

-CONFIG_DVB_USB_DIBUSB_MB=m

+# CONFIG_DVB_S5H1409 is not set

+# CONFIG_DVB_USB_DIBUSB_MB is not set

 CONFIG_VIDEO_SAA7134_ALSA=m

 CONFIG_VIDEO_IR_I2C=m

-CONFIG_DVB_USB_AF9015=m

-CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y

+# CONFIG_DVB_USB_AF9015 is not set

+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

 CONFIG_VIDEO_SAA6588=m

 # CONFIG_VIDEO_MX3 is not set

 CONFIG_MEDIA_TUNER_TEA5767=m

-CONFIG_DVB_L64781=m

+# CONFIG_DVB_L64781 is not set

 CONFIG_DVB_CAPTURE_DRIVERS=y

 CONFIG_USB_GSPCA_TV8532=m

-CONFIG_DVB_LGDT3304=m

+# CONFIG_DVB_LGDT3304 is not set

 CONFIG_RADIO_ADAPTERS=y

-CONFIG_DVB_USB_OPERA1=m

-CONFIG_DVB_MT352=m

+# CONFIG_DVB_USB_OPERA1 is not set

+# CONFIG_DVB_MT352 is not set

 CONFIG_RADIO_GEMTEK_PCI=m

-CONFIG_DVB_USB_M920X=m

+# CONFIG_DVB_USB_M920X is not set

 CONFIG_VIDEO_PVRUSB2_SYSFS=y

-CONFIG_DVB_USB_DIGITV=m

+# CONFIG_DVB_USB_DIGITV is not set

 CONFIG_VIDEO_MSP3400=m

 CONFIG_VIDEO_BWQCAM=m

-CONFIG_DVB_USB_UMT_010=m

+# CONFIG_DVB_USB_UMT_010 is not set

 CONFIG_USB_GSPCA_SUNPLUS=m

 CONFIG_SOC_CAMERA_TW9910=m

 CONFIG_USB_W9968CF=m

 CONFIG_MEDIA_TUNER_MXL5007T=m

 CONFIG_USB_SN9C102=m

 CONFIG_SOC_CAMERA_MT9M001=m

-CONFIG_DVB_DIB3000MB=m

+# CONFIG_DVB_DIB3000MB is not set

 CONFIG_RADIO_GEMTEK=m

 CONFIG_VIDEO_CQCAM=m

-CONFIG_DVB_LGS8GL5=m

+# CONFIG_DVB_LGS8GL5 is not set

 CONFIG_RADIO_RTRACK2=m

 CONFIG_VIDEO_TUNER=m

 CONFIG_USB_GSPCA_OV519=m

-CONFIG_DVB_USB_DIBUSB_MC=m

+# CONFIG_DVB_USB_DIBUSB_MC is not set

 CONFIG_VIDEO_PMS=m

 # CONFIG_DVB_FE_CUSTOMISE is not set

 CONFIG_USB_OV511=m

 CONFIG_MT9V022_PCA9536_SWITCH=y

 CONFIG_VIDEO_CAPTURE_DRIVERS=y

 CONFIG_VIDEOBUF_DMA_CONTIG=m

-CONFIG_DVB_AF9013=m

+# CONFIG_DVB_AF9013 is not set

 CONFIG_VIDEO_ADV_DEBUG=y

 CONFIG_VIDEO_SAA711X=m

-CONFIG_DVB_MT312=m

+# CONFIG_DVB_MT312 is not set

 CONFIG_VIDEO_CX88_ALSA=m

 # CONFIG_VIDEO_OMAP2 is not set

-CONFIG_DVB_CX24116=m

-CONFIG_DVB_USB_DW2102=m

+# CONFIG_DVB_CX24116 is not set

+# CONFIG_DVB_USB_DW2102 is not set

 CONFIG_SND_BT87X=m

 CONFIG_VIDEO_MEDIA=m

 CONFIG_VIDEO_EM28XX=m

@@ -192,76 +192,76 @@

 CONFIG_VIDEO_STRADIS=m

 CONFIG_USB_ZC0301=m

 CONFIG_USB_SI470X=m

-CONFIG_DVB_OR51132=m

+# CONFIG_DVB_OR51132 is not set

 CONFIG_VIDEO_TDA9875=m

-CONFIG_VIDEO_CX88_DVB=m

+# CONFIG_VIDEO_CX88_DVB is not set

 CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y

 CONFIG_USB_GSPCA_SPCA501=m

 CONFIG_USB_GSPCA_SPCA508=m

 CONFIG_USB_GSPCA_SPCA505=m

 CONFIG_MEDIA_TUNER_MT2060=m

-CONFIG_DVB_AU8522=m

+# CONFIG_DVB_AU8522 is not set

 CONFIG_RADIO_TYPHOON=m

 CONFIG_VIDEO_CS53L32A=m

-CONFIG_DVB_BUDGET_PATCH=m

+# CONFIG_DVB_BUDGET_PATCH is not set

 CONFIG_SOC_CAMERA_MT9T031=m

-CONFIG_DVB_ZL10353=m

-CONFIG_DVB_CX24110=m

+# CONFIG_DVB_ZL10353 is not set

+# CONFIG_DVB_CX24110 is not set

 # CONFIG_DVB_AV7110_FIRMWARE is not set

 CONFIG_USB_GSPCA=m

-CONFIG_DVB_DIB7000M=m

-CONFIG_VIDEO_SAA7134_DVB=m

+# CONFIG_DVB_DIB7000M is not set

+# CONFIG_VIDEO_SAA7134_DVB is not set

 CONFIG_USB_GSPCA_VC032X=m

 CONFIG_DVB_SIANO_SMS1XXX=m

 CONFIG_VIDEO_ADV7175=m

 CONFIG_VIDEO_EM28XX_ALSA=m

 CONFIG_VIDEO_USBVIDEO=m

-CONFIG_DVB_DIB3000MC=m

+# CONFIG_DVB_DIB3000MC is not set

 CONFIG_MEDIA_TUNER_MC44S803=m

-CONFIG_DVB_TDA8261=m

+# CONFIG_DVB_TDA8261 is not set

 CONFIG_VIDEO_MEYE=m

 CONFIG_VIDEO_CX88_MPEG=m

 CONFIG_USB_QUICKCAM_MESSENGER=m

 CONFIG_DVB_BUDGET_CORE=m

-CONFIG_DVB_TDA8083=m

+# CONFIG_DVB_TDA8083 is not set

 CONFIG_VIDEO_CX2341X=m

 # CONFIG_VIDEO_SH_MOBILE_CEU is not set

 CONFIG_DVB_CORE=m

 CONFIG_VIDEO_IVTV=m

 CONFIG_USB_GSPCA_SQ905=m

-CONFIG_DVB_TUNER_CX24113=m

-CONFIG_DVB_STB6100=m

-CONFIG_DVB_AV7110=m

-CONFIG_VIDEO_EM28XX_DVB=m

-CONFIG_DVB_STV0299=m

+# CONFIG_DVB_TUNER_CX24113 is not set

+# CONFIG_DVB_STB6100 is not set

+# CONFIG_DVB_AV7110 is not set

+# CONFIG_VIDEO_EM28XX_DVB is not set

+# CONFIG_DVB_STV0299 is not set

 CONFIG_MEDIA_TUNER_QT1010=m

 # CONFIG_VIDEO_M32R_AR is not set

 CONFIG_VIDEO_CPIA2=m

 CONFIG_VIDEO_SAA7146_VV=m

 CONFIG_USB_KONICAWC=m

-CONFIG_DVB_USB_DIB0700=m

+# CONFIG_DVB_USB_DIB0700 is not set

 CONFIG_VIDEO_PVRUSB2=m

 CONFIG_VIDEO_SAA7134=m

 CONFIG_VIDEO_TVP514X=m

-CONFIG_DVB_TUA6100=m

+# CONFIG_DVB_TUA6100 is not set

 CONFIG_VIDEO_CAFE_CCIC=m

 CONFIG_USB_PWC_DEBUG=y

 CONFIG_USB_GSPCA_SPCA500=m

 CONFIG_TTPCI_EEPROM=m

-CONFIG_DVB_NXT200X=m

+# CONFIG_DVB_NXT200X is not set

 CONFIG_VIDEO_ZORAN_ZR36060=m

 CONFIG_MEDIA_TUNER_TDA8290=m

 CONFIG_VIDEO_SAA7185=m

 CONFIG_USB_STV680=m

 CONFIG_VIDEO_TEA6420=m

-CONFIG_DVB_STV0297=m

+# CONFIG_DVB_STV0297 is not set

 CONFIG_RADIO_SF16FMR2=m

 CONFIG_USB_ZR364XX=m

 CONFIG_VIDEOBUF_VMALLOC=m

 CONFIG_VIDEO_CPIA_USB=m

 CONFIG_USB_PWC=m

-CONFIG_DVB_USB_DTV5100=m

-CONFIG_DVB_DM1105=m

+# CONFIG_DVB_USB_DTV5100 is not set

+# CONFIG_DVB_DM1105 is not set

 # CONFIG_RADIO_TEA5764_XTAL is not set

 CONFIG_DVB_USB_DTT200U=m

 CONFIG_VIDEO_TVEEPROM=m

@@ -269,31 +269,31 @@

 CONFIG_VIDEO_HEXIUM_GEMINI=m

 CONFIG_VIDEO_ZORAN_LML33R10=m

 CONFIG_VIDEO_CPIA_PP=m

-CONFIG_DVB_TDA10021=m

+# CONFIG_DVB_TDA10021 is not set

 CONFIG_VIDEO_ZORAN_AVS6EYES=m

 CONFIG_MEDIA_TUNER_TDA9887=m

-CONFIG_DVB_USB_AU6610=m

+# CONFIG_DVB_USB_AU6610 is not set

 CONFIG_VIDEO_SAA7191=m

 CONFIG_MEDIA_ATTACH=y

 CONFIG_RADIO_TRUST=m

-CONFIG_DVB_USB_GL861=m

+# CONFIG_DVB_USB_GL861 is not set

 CONFIG_USB_GSPCA_ETOMS=m

 CONFIG_VIDEO_FB_IVTV=m

 CONFIG_VIDEO_BT819=m

 CONFIG_VIDEO_SAA7146=m

-CONFIG_DVB_TUNER_ITD1000=m

+# CONFIG_DVB_TUNER_ITD1000 is not set

 CONFIG_VIDEO_BTCX=m

 CONFIG_VIDEO_V4L1_COMPAT=y

 CONFIG_VIDEOBUF_DVB=m

-CONFIG_DVB_S921=m

+# CONFIG_DVB_S921 is not set

 # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set

 CONFIG_DVB_USB_VP7045=m

 CONFIG_VIDEO_ZORAN=m

-CONFIG_DVB_CX24123=m

+# CONFIG_DVB_CX24123 is not set

 CONFIG_RADIO_RTRACK=m

 CONFIG_USB_MR800=m

 CONFIG_MEDIA_TUNER_MT2131=m

-CONFIG_DVB_STV0288=m

+# CONFIG_DVB_STV0288 is not set

 CONFIG_MEDIA_TUNER_CUSTOMIZE=y

 CONFIG_USB_VIDEO_CLASS=m

 CONFIG_VIDEO_HEXIUM_ORION=m

@@ -301,34 +301,34 @@

 CONFIG_USB_GSPCA_MR97310A=m

 CONFIG_VIDEO_UPD64031A=m

 CONFIG_VIDEO_TVAUDIO=m

-CONFIG_DVB_PLUTO2=m

-CONFIG_DVB_STB6000=m

-CONFIG_DVB_BUDGET_CI=m

+# CONFIG_DVB_PLUTO2 is not set

+# CONFIG_DVB_STB6000 is not set

+# CONFIG_DVB_BUDGET_CI is not set

 CONFIG_DVB_USB_GP8PSK=m

 CONFIG_USB_IBMCAM=m

 CONFIG_SND_BT87X_OVERCLOCK=y

-CONFIG_DVB_USB_TTUSB2=m

-CONFIG_DVB_TDA826X=m

-CONFIG_DVB_TDA10086=m

-CONFIG_DVB_TTUSB_BUDGET=m

+# CONFIG_DVB_USB_TTUSB2 is not set

+# CONFIG_DVB_TDA826X is not set

+# CONFIG_DVB_TDA10086 is not set

+# CONFIG_DVB_TTUSB_BUDGET is not set

 CONFIG_VIDEO_TLV320AIC23B=m

 CONFIG_VIDEO_WM8775=m

 # CONFIG_VIDEO_VINO is not set

-CONFIG_DVB_SP887X=m

-CONFIG_DVB_DIB7000P=m

+# CONFIG_DVB_SP887X is not set

+# CONFIG_DVB_DIB7000P is not set

 CONFIG_USB_GSPCA_CONEX=m

 CONFIG_USB_ET61X251=m

 CONFIG_VIDEO_V4L1=m

 # CONFIG_VIDEO_M32R_AR_M64278 is not set

 CONFIG_USB_SE401=m

-CONFIG_DVB_SI21XX=m

-CONFIG_DVB_ZL10036=m

-CONFIG_DVB_BCM3510=m

-CONFIG_DVB_STV0900=m

+# CONFIG_DVB_SI21XX is not set

+# CONFIG_DVB_ZL10036 is not set

+# CONFIG_DVB_BCM3510 is not set

+# CONFIG_DVB_STV0900 is not set

 CONFIG_VIDEO_SAA5249=m

 CONFIG_DVB_USB_AF9005_REMOTE=m

-CONFIG_VIDEO_AU0828=m

+# CONFIG_VIDEO_AU0828 is not set

 CONFIG_VIDEO_ZORAN_DC30=m

-CONFIG_DVB_USB_A800=m

+# CONFIG_DVB_USB_A800 is not set

 CONFIG_V4L_USB_DRIVERS=y

 CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Problem with changeset 10837: causes "make all" not to build many modules
  2009-03-08 16:54     ` Mauro Carvalho Chehab
@ 2009-03-09  2:17       ` Alain Kalker
  2009-03-09  4:30         ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 17+ messages in thread
From: Alain Kalker @ 2009-03-09  2:17 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media

Op zondag 08-03-2009 om 13:54 uur [tijdzone -0300], schreef Mauro
Carvalho Chehab:
> Hi Alain,
> 
> On Sat, 7 Mar 2009, Alain Kalker wrote:
> 
> > Mauro,
> >
> > Your latest changeset causes many modules (100 in total!) not to be
> > built anymore when doing "make all", i.e. without doing any "make
> > xconfig"/"make gconfig".
> >
> > I think this is related to the config variables for the frontend drivers
> > no longer being defined when DVB_FE_CUSTOMISE=n , so the card drivers
> > cannot depend on them anymore.
> 
> Thanks to warning me about that!
> 
> This seems to be yet another difference between the in-kernel and the 
> out-of-tree building environment.

If the problem doesn't manifest itself during in-kernel build, I believe
it must be with either v4l/Makefile or one of the scripts in scripts/*

As a matter of fact, I found out that commenting out
"disable_config('DVB_FE_CUSTOMISE');" in scripts/make_kconfig.pl line
588 and doing a "make distclean; make all" will cause all the undefined
config variables to be set to 'm' and the missing modules to be built
again.

Why is this disable_config() in there anyway? There is no corresponding
disable_config("MEDIA_TUNER_CUSTOMIZE"), which is used in the same way
in linux/drivers/media/common/tuners/Kconfig to hide a menu.

The only (aesthetic?) difference is that DVB_FE_CUSTOMISE ends up set to
'y' in the generated config (as has always been the case with
MEDIA_TUNER_CUSTOMIZE by the way), but that doesn't matter much at
module build time. A user should not configure _after_ building modules
anyway, so the menu showing up doesn't really matter.

Also note yet another -IZE / -ISE spelling issue :-)

Kind regards,

Alain


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Problem with changeset 10837: causes "make all" not to build many modules
  2009-03-09  2:17       ` Alain Kalker
@ 2009-03-09  4:30         ` Mauro Carvalho Chehab
  2009-03-09 13:57           ` Alain Kalker
  0 siblings, 1 reply; 17+ messages in thread
From: Mauro Carvalho Chehab @ 2009-03-09  4:30 UTC (permalink / raw)
  To: Alain Kalker; +Cc: linux-media

On Mon, 09 Mar 2009 03:17:44 +0100
Alain Kalker <miki@dds.nl> wrote:

> Op zondag 08-03-2009 om 13:54 uur [tijdzone -0300], schreef Mauro
> Carvalho Chehab:
> > Hi Alain,
> > 
> > On Sat, 7 Mar 2009, Alain Kalker wrote:
> > 
> > > Mauro,
> > >
> > > Your latest changeset causes many modules (100 in total!) not to be
> > > built anymore when doing "make all", i.e. without doing any "make
> > > xconfig"/"make gconfig".
> > >
> > > I think this is related to the config variables for the frontend drivers
> > > no longer being defined when DVB_FE_CUSTOMISE=n , so the card drivers
> > > cannot depend on them anymore.
> > 
> > Thanks to warning me about that!
> > 
> > This seems to be yet another difference between the in-kernel and the 
> > out-of-tree building environment.
> 
> If the problem doesn't manifest itself during in-kernel build, I believe
> it must be with either v4l/Makefile or one of the scripts in scripts/*
> 
> As a matter of fact, I found out that commenting out
> "disable_config('DVB_FE_CUSTOMISE');" in scripts/make_kconfig.pl line
> 588 and doing a "make distclean; make all" will cause all the undefined
> config variables to be set to 'm' and the missing modules to be built
> again.

Yes, I noticed the same, and already committed a patch removing this option
from the script.

> Why is this disable_config() in there anyway? There is no corresponding
> disable_config("MEDIA_TUNER_CUSTOMIZE"), which is used in the same way
> in linux/drivers/media/common/tuners/Kconfig to hide a menu.

The implementation of both options were different in the past. What changeset 10837 did
were to implement both with about same logic.

> The only (aesthetic?) difference is that DVB_FE_CUSTOMISE ends up set to
> 'y' in the generated config (as has always been the case with
> MEDIA_TUNER_CUSTOMIZE by the way), but that doesn't matter much at
> module build time. A user should not configure _after_ building modules
> anyway, so the menu showing up doesn't really matter.
> 
> Also note yet another -IZE / -ISE spelling issue :-)

The dvb option were added by Europeans (so, it ends with -ISE), while the media
were implemented by Americans (-IZE) ;)

I suspect that this is the reason why we had several DVB_FE_CUSTOMIZE with -IZE
in the past. IMO, we should decide if we will use the American or the Britain
way.

I'm not sure if Kernel has a default language convention for this. Probably, it
has, but I can't find anything on Documentation/*. Otherwise, I would vote for
using -ISE on both options.

Hmm... maybe we can just grep for both and see what happens most on Kernel:

$ git grep -i customise|wc
    256    1451   19677

$ git grep -i customize|wc
    115     733    9986

It seems that the Britain way is more popular.

Cheers,
Mauro

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Problem with changeset 10837: causes "make all" not to build many modules
  2009-03-09  4:30         ` Mauro Carvalho Chehab
@ 2009-03-09 13:57           ` Alain Kalker
  0 siblings, 0 replies; 17+ messages in thread
From: Alain Kalker @ 2009-03-09 13:57 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media

Op maandag 09-03-2009 om 01:30 uur [tijdzone -0300], schreef Mauro
Carvalho Chehab:
> I'm not sure if Kernel has a default language convention for this. Probably, it
> has, but I can't find anything on Documentation/*. Otherwise, I would vote for
> using -ISE on both options.
> 
> Hmm... maybe we can just grep for both and see what happens most on Kernel:
> 
> $ git grep -i customise|wc
>     256    1451   19677
> 
> $ git grep -i customize|wc
>     115     733    9986
> 
> It seems that the Britain way is more popular.

I would vote to stick with -ise also, since it is used most in the
kernel, and also to hono(u)r the fact that Linus, who started it all, is
European. No offen{c,s}e to the many people from the Americas who
contribute great and valuable work to it! :-)

Kind regards,

Alain


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
       [not found]   ` <200903092333.38819.tobias.lorenz@gmx.net>
@ 2009-03-09 23:20     ` Mauro Carvalho Chehab
  2009-03-31 22:54       ` Alexey Klimov
  0 siblings, 1 reply; 17+ messages in thread
From: Mauro Carvalho Chehab @ 2009-03-09 23:20 UTC (permalink / raw)
  To: Tobias Lorenz; +Cc: Joonyoung Shim, linux-media, kyungmin.park

On Mon, 9 Mar 2009 23:33:38 +0100
Tobias Lorenz <tobias.lorenz@gmx.net> wrote:

> Hi,
> 
> > The proper way is to break radio-si470x into two parts:
> > 
> > 	- A i2c adapter driver (similar to what we have on cx88-i2c, for
> > 	  example, plus the radio part of cx88-video);
> > 	- A radio driver (similar to tea5767.c).
> > 
> > This way, the i2c driver can be used on designs that use a different i2c adapter.
> 
> yes, this is why I already capsulated most of the USB functionality into own functions. I awaited that somewhen the si470x is used in the "usual" way by i2c.
> 
> I'm not sure, if we should split the driver into three files (generic/common, usb, i2c) or just implement the new functionality within the same file using macros/defines.

It is better to split. It will provide more flexibility.

Cheers,
Mauro

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
  2009-03-09 23:20     ` About the radio-si470x driver for I2C interface Mauro Carvalho Chehab
@ 2009-03-31 22:54       ` Alexey Klimov
       [not found]         ` <4e1455be0904011754l2c51cf2fi6336d07d591cbb71@mail.gmail.com>
  0 siblings, 1 reply; 17+ messages in thread
From: Alexey Klimov @ 2009-03-31 22:54 UTC (permalink / raw)
  To: Tobias Lorenz, Joonyoung Shim; +Cc: linux-media, kyungmin.park

Hello

On Tue, Mar 10, 2009 at 3:20 AM, Mauro Carvalho Chehab
<mchehab@infradead.org> wrote:
> On Mon, 9 Mar 2009 23:33:38 +0100
> Tobias Lorenz <tobias.lorenz@gmx.net> wrote:
>
>> Hi,
>>
>> > The proper way is to break radio-si470x into two parts:
>> >
>> >     - A i2c adapter driver (similar to what we have on cx88-i2c, for
>> >       example, plus the radio part of cx88-video);
>> >     - A radio driver (similar to tea5767.c).
>> >
>> > This way, the i2c driver can be used on designs that use a different i2c adapter.
>>
>> yes, this is why I already capsulated most of the USB functionality into own functions. I awaited that somewhen the si470x is used in the "usual" way by i2c.
>>
>> I'm not sure, if we should split the driver into three files (generic/common, usb, i2c) or just implement the new functionality within the same file using macros/defines.
>
> It is better to split. It will provide more flexibility.

Tobias, Joonyoung

Is there any success on this ?

-- 
Best regards, Klimov Alexey

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
       [not found]         ` <4e1455be0904011754l2c51cf2fi6336d07d591cbb71@mail.gmail.com>
@ 2009-04-02  1:42           ` Joonyoung Shim
       [not found]             ` <200904122256.12305.tobias.lorenz@gmx.net>
  0 siblings, 1 reply; 17+ messages in thread
From: Joonyoung Shim @ 2009-04-02  1:42 UTC (permalink / raw)
  To: klimov.linux; +Cc: linux-media, tobias.lorenz, kyungmin.park

> Hello
> 
> On Tue, Mar 10, 2009 at 3:20 AM, Mauro Carvalho Chehab
> <mchehab@infradead.org> wrote:
>> On Mon, 9 Mar 2009 23:33:38 +0100
>> Tobias Lorenz <tobias.lorenz@gmx.net> wrote:
>>
>>> Hi,
>>>
>>>> The proper way is to break radio-si470x into two parts:
>>>>
>>>>     - A i2c adapter driver (similar to what we have on cx88-i2c, for
>>>>       example, plus the radio part of cx88-video);
>>>>     - A radio driver (similar to tea5767.c).
>>>>
>>>> This way, the i2c driver can be used on designs that use a different i2c adapter.
>>> yes, this is why I already capsulated most of the USB functionality into own functions. I awaited that somewhen the si470x is used in the "usual" way by i2c.
>>>
>>> I'm not sure, if we should split the driver into three files (generic/common, usb, i2c) or just implement the new functionality within the same file using macros/defines.
>> It is better to split. It will provide more flexibility.
> 
> Tobias, Joonyoung
> 
> Is there any success on this ?

Hi,

I have tried, but could not do it yet.

Like radio-tea5764.c, radio-si470x driver for I2C interface also was
implemented as the I2C driver, but it has many redundant functions with
the existing radio-si470x for USB interface, so I tried to join two
interfaces but it was a difficult work. I have never seen the linux device
driver probing more than one interface optionally.

-- Joonyoung Shim

> 
> --
> Best regards, Klimov Alexey
> 
> 
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
       [not found]             ` <200904122256.12305.tobias.lorenz@gmx.net>
@ 2009-04-13  1:14               ` Alexey Klimov
  2009-04-13 11:06                 ` Hans Verkuil
  2009-04-13  1:46               ` Joonyoung Shim
  1 sibling, 1 reply; 17+ messages in thread
From: Alexey Klimov @ 2009-04-13  1:14 UTC (permalink / raw)
  To: Tobias Lorenz; +Cc: Joonyoung Shim, linux-media, kyungmin.park

Hello, Tobias

On Mon, Apr 13, 2009 at 12:56 AM, Tobias Lorenz <tobias.lorenz@gmx.net> wrote:
> Hi Joonyoung,
>
> Hi Alexey,
>
> I've split the driver into a couple of segments:
>
> - radio-si470x-common.c is for common functions
>
> - radio-si470x-usb.c are the usb support functions
>
> - radio-si470x-i2c.c is an untested prototyped file for your i2c support
> functions
>
> - radio-si470x.h is a header file with everything required by the c-files
>
> I hope this is a basis we can start on with i2c support. What do you think?
>
> The URL is:
>
> http://linuxtv.org/hg/~tlorenz/v4l-dvb
>
> Bye,
>
> Toby

Great! It's always interesting to see big changes.
I understand i2c interface not so good and have only general questions.

Many (most?) drivers in v4l tree were converted to use new v4l2-
framework. For example, dsbr100 was converted to v4l2_device
http://linuxtv.org/hg/v4l-dvb/rev/77f37ad5dd0c and em28xx was
converted to v4l2_subdev
http://linuxtv.org/hg/v4l-dvb/rev/00525b115901
As i remember, Hans Verkuil said that all v4l drivers should be
converted to new framework. Is it time to switch to this new interface
? Probably, there are a lot of code examples in current tree that can
help..

And second question. About lock/unlock_kernel in open functions.
Please, take a look at
http://www.spinics.net/lists/linux-media/msg04057.html
Well, is it time to do something with this?

Well, my questions about improving functionality, not about mistakes or bugs :)

-- 
Best regards, Klimov Alexey

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
       [not found]             ` <200904122256.12305.tobias.lorenz@gmx.net>
  2009-04-13  1:14               ` Alexey Klimov
@ 2009-04-13  1:46               ` Joonyoung Shim
  2009-04-13  5:30                 ` Joonyoung Shim
  1 sibling, 1 reply; 17+ messages in thread
From: Joonyoung Shim @ 2009-04-13  1:46 UTC (permalink / raw)
  To: Tobias Lorenz; +Cc: klimov.linux, linux-media, kyungmin.park

On 4/13/2009 5:56 AM, Tobias Lorenz wrote:
> Hi Joonyoung,
> 
> Hi Alexey,
> 
> I've split the driver into a couple of segments:
> 
> - radio-si470x-common.c is for common functions
> 
> - radio-si470x-usb.c are the usb support functions
> 
> - radio-si470x-i2c.c is an untested prototyped file for your i2c support
> functions
> 
> - radio-si470x.h is a header file with everything required by the c-files
> 
> I hope this is a basis we can start on with i2c support. What do you think?
> 
> The URL is:
> 
> http://linuxtv.org/hg/~tlorenz/v4l-dvb

It looks good, i will test with implementing the i2c functions.

Thanks.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
  2009-04-13  1:46               ` Joonyoung Shim
@ 2009-04-13  5:30                 ` Joonyoung Shim
       [not found]                   ` <200904131215.05703.tobias.lorenz@gmx.net>
  0 siblings, 1 reply; 17+ messages in thread
From: Joonyoung Shim @ 2009-04-13  5:30 UTC (permalink / raw)
  To: Tobias Lorenz; +Cc: klimov.linux, linux-media, kyungmin.park

On 4/13/2009 10:46 AM, Joonyoung Shim wrote:
> On 4/13/2009 5:56 AM, Tobias Lorenz wrote:
>> Hi Joonyoung,
>>
>> Hi Alexey,
>>
>> I've split the driver into a couple of segments:
>>
>> - radio-si470x-common.c is for common functions
>>
>> - radio-si470x-usb.c are the usb support functions
>>
>> - radio-si470x-i2c.c is an untested prototyped file for your i2c support
>> functions
>>
>> - radio-si470x.h is a header file with everything required by the c-files
>>
>> I hope this is a basis we can start on with i2c support. What do you think?
>>
>> The URL is:
>>
>> http://linuxtv.org/hg/~tlorenz/v4l-dvb
> 
> It looks good, i will test with implementing the i2c functions.

I compiled getting your source from above URL, but i could not compile because
of supporting only usb compilation at Makefile.
I suggest to modify at Kconfig and Makefile like following patch.
What do you think?


diff -r 43d455adb02c linux/drivers/media/radio/Makefile
--- a/linux/drivers/media/radio/Makefile	Sun Apr 12 22:51:40 2009 +0200
+++ b/linux/drivers/media/radio/Makefile	Mon Apr 13 14:31:05 2009 +0900
@@ -17,7 +17,7 @@
 obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
 obj-$(CONFIG_RADIO_MAESTRO) += radio-maestro.o
 obj-$(CONFIG_USB_DSBR) += dsbr100.o
-obj-$(CONFIG_USB_SI470X) += si470x/
+obj-$(CONFIG_RADIO_SI470X) += si470x/
 obj-$(CONFIG_USB_MR800) += radio-mr800.o
 obj-$(CONFIG_RADIO_TEA5764) += radio-tea5764.o
 
diff -r 43d455adb02c linux/drivers/media/radio/si470x/Kconfig
--- a/linux/drivers/media/radio/si470x/Kconfig	Sun Apr 12 22:51:40 2009 +0200
+++ b/linux/drivers/media/radio/si470x/Kconfig	Mon Apr 13 14:31:05 2009 +0900
@@ -1,6 +1,10 @@
+config RADIO_SI470X
+	tristate "Silicon Labs Si470x FM Radio Receiver support"
+	depends on VIDEO_V4L2
+
 config USB_SI470X
 	tristate "Silicon Labs Si470x FM Radio Receiver support with USB"
-	depends on USB && VIDEO_V4L2
+	depends on USB && RADIO_SI470X
 	---help---
 	  This is a driver for USB devices with the Silicon Labs SI470x
 	  chip. Currently these devices are known to work:
@@ -25,7 +29,7 @@
 
 config I2C_SI470X
 	tristate "Silicon Labs Si470x FM Radio Receiver support with I2C"
-	depends on I2C && VIDEO_V4L2
+	depends on I2C && RADIO_SI470X
 	---help---
 	  This is a driver for I2C devices with the Silicon Labs SI470x
 	  chip.
diff -r 43d455adb02c linux/drivers/media/radio/si470x/Makefile
--- a/linux/drivers/media/radio/si470x/Makefile	Sun Apr 12 22:51:40 2009 +0200
+++ b/linux/drivers/media/radio/si470x/Makefile	Mon Apr 13 14:31:05 2009 +0900
@@ -2,8 +2,8 @@
 # Makefile for radios with Silicon Labs Si470x FM Radio Receivers
 #
 
-radio-si470x-objs	:= radio-si470x-usb.o radio-si470x-common.o
-radio-si470x-i2c-objs	:= radio-si470x-i2c.o radio-si470x-common.o
+si470x-usb-objs	:= radio-si470x-usb.o radio-si470x-common.o
+si470x-i2c-objs	:= radio-si470x-i2c.o radio-si470x-common.o
 
-obj-$(CONFIG_USB_SI470X) += radio-si470x.o
-obj-$(CONFIG_I2C_SI470X) += radio-si470x-i2c.o
+obj-$(CONFIG_USB_SI470X) += si470x-usb.o
+obj-$(CONFIG_I2C_SI470X) += si470x-i2c.o


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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
       [not found]                   ` <200904131215.05703.tobias.lorenz@gmx.net>
@ 2009-04-13 10:31                     ` Joonyoung Shim
  2009-04-13 10:42                       ` Joonyoung Shim
  0 siblings, 1 reply; 17+ messages in thread
From: Joonyoung Shim @ 2009-04-13 10:31 UTC (permalink / raw)
  To: Tobias Lorenz; +Cc: klimov.linux, linux-media, kyungmin.park

> I'm not sure about the consequences in case of renaming the radio-si470x
> module. But it would be consequent to add the appendix -usb and -i2c to
> the current name.
> 
> I applied the patch as follows:

Okay, your patch is better.
Thanks.

I will post the i2c part soon after testing.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
  2009-04-13 10:31                     ` Joonyoung Shim
@ 2009-04-13 10:42                       ` Joonyoung Shim
       [not found]                         ` <200904132035.57419.tobias.lorenz@gmx.net>
  0 siblings, 1 reply; 17+ messages in thread
From: Joonyoung Shim @ 2009-04-13 10:42 UTC (permalink / raw)
  To: Tobias Lorenz; +Cc: klimov.linux, linux-media, kyungmin.park

On 4/13/2009 7:31 PM, Joonyoung Shim wrote:
>> I'm not sure about the consequences in case of renaming the radio-si470x
>> module. But it would be consequent to add the appendix -usb and -i2c to
>> the current name.
>>
>> I applied the patch as follows:
> 
> Okay, your patch is better.
> Thanks.
> 
> I will post the i2c part soon after testing.

I have some problem. There is codes for usb in radio-si470x-common.c file.
Hrm, if it cannot be removed, maybe it seems to seperate using ifdef.
What do you think about this?

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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
  2009-04-13  1:14               ` Alexey Klimov
@ 2009-04-13 11:06                 ` Hans Verkuil
  0 siblings, 0 replies; 17+ messages in thread
From: Hans Verkuil @ 2009-04-13 11:06 UTC (permalink / raw)
  To: Alexey Klimov; +Cc: Tobias Lorenz, Joonyoung Shim, linux-media, kyungmin.park

On Monday 13 April 2009 03:14:13 Alexey Klimov wrote:
> Hello, Tobias
>
> On Mon, Apr 13, 2009 at 12:56 AM, Tobias Lorenz <tobias.lorenz@gmx.net> 
wrote:
> > Hi Joonyoung,
> >
> > Hi Alexey,
> >
> > I've split the driver into a couple of segments:
> >
> > - radio-si470x-common.c is for common functions
> >
> > - radio-si470x-usb.c are the usb support functions
> >
> > - radio-si470x-i2c.c is an untested prototyped file for your i2c
> > support functions
> >
> > - radio-si470x.h is a header file with everything required by the
> > c-files
> >
> > I hope this is a basis we can start on with i2c support. What do you
> > think?
> >
> > The URL is:
> >
> > http://linuxtv.org/hg/~tlorenz/v4l-dvb
> >
> > Bye,
> >
> > Toby
>
> Great! It's always interesting to see big changes.
> I understand i2c interface not so good and have only general questions.
>
> Many (most?) drivers in v4l tree were converted to use new v4l2-
> framework. For example, dsbr100 was converted to v4l2_device
> http://linuxtv.org/hg/v4l-dvb/rev/77f37ad5dd0c and em28xx was
> converted to v4l2_subdev
> http://linuxtv.org/hg/v4l-dvb/rev/00525b115901
> As i remember, Hans Verkuil said that all v4l drivers should be
> converted to new framework. Is it time to switch to this new interface
> ? Probably, there are a lot of code examples in current tree that can
> help..

Any new v4l2 i2c driver must use v4l2_subdev in order to be reusable by v4l2 
drivers. All 'legacy' i2c drivers are now converted and only soc-camera and 
v4l2-int-device.h based drivers remain unconverted, although I expect that 
those will also be moved to v4l2_subdev in 2.6.31.

What complicates matters here is that the si470x is a radio tuner, and as 
such should be implemented as a tuner device (common/tuners) which have 
their own framework. But if memory serves the si470x can also do RDS for 
which there is no support in the tuner framework.

I'm leaning towards implementing this i2c driver as a normal v4l2_subdev 
driver, rather than making it part of the tuner driver/framework.

Actually, I suspect that the tuner driver/framework can be substantially 
simplified with this new framework: much of the complexity there is related 
to the autoprobing crap, and that no longer applies. This is an interesting 
future research topic :-)

> And second question. About lock/unlock_kernel in open functions.
> Please, take a look at
> http://www.spinics.net/lists/linux-media/msg04057.html
> Well, is it time to do something with this?

Yes, please remove/replace these calls.

Regards,

	Hans

> Well, my questions about improving functionality, not about mistakes or
> bugs :)



-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: About the radio-si470x driver for I2C interface
       [not found]                         ` <200904132035.57419.tobias.lorenz@gmx.net>
@ 2009-04-14  5:29                           ` Joonyoung Shim
  0 siblings, 0 replies; 17+ messages in thread
From: Joonyoung Shim @ 2009-04-14  5:29 UTC (permalink / raw)
  To: Tobias Lorenz; +Cc: klimov.linux, linux-media, kyungmin.park

On 4/14/2009 3:35 AM, Tobias Lorenz wrote:
> Hi Joonyoung,
> 
>> I have some problem. There is codes for usb in radio-si470x-common.c file.
> 
>> Hrm, if it cannot be removed, maybe it seems to seperate using ifdef.
> 
>> What do you think about this?
> 
> I moved some more functions from radio-si470x-common.c file to
> radio-si470x-usb.c:
> 
> - si470x_start
> 
> - si470x_stop
> 
> - si470x_fops_open
> 
> - si470x_fops_release
> 
> Now the common file should be free of any USB specific components.
> 
> Please have a look at
> 
> http://linuxtv.org/hg/~tlorenz/v4l-dvb/
> 
> Maybe we can move something back later for optimization. But for now, it
> should be okay.
> 
> Bye,
> 
> Toby
> 

Hi Tobias,

I have some questions.

The i2c device is connected always unlike the usb device, so it doesn't
use disconnected and disconnect_lock of struct si470x_device, these are
usb specific.

Unlike you say, si470x_start and si470x_stop functions exist yet in
radio-si470x-common.c. 

I know from datasheet that software should wait for the powerup time(110ms)
after power up, and i verified it at the si4709 device using i2c interface,
but there is not at your implementation.

I wonder above things, and i send you the patch to fix make warning and build
errors, and for easy work.

=============================================================================
Fix compile warnings and errors of radio-si470x-i2c

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
---
 linux/drivers/media/radio/si470x/Kconfig           |    2 +-
 linux/drivers/media/radio/si470x/Makefile          |    4 +-
 .../drivers/media/radio/si470x/radio-si470x-i2c.c  |  153 +++++++++-----------
 linux/drivers/media/radio/si470x/radio-si470x.h    |    5 +-
 4 files changed, 74 insertions(+), 90 deletions(-)

diff --git a/linux/drivers/media/radio/si470x/Kconfig b/linux/drivers/media/radio/si470x/Kconfig
index 3172e1a..07ac2d3 100644
--- a/linux/drivers/media/radio/si470x/Kconfig
+++ b/linux/drivers/media/radio/si470x/Kconfig
@@ -34,4 +34,4 @@ config I2C_SI470X
 	  computer's I2C port.
 
 	  To compile this driver as a module, choose M here: the
-	  module will be called radio-si470x-i2c.
+	  module will be called radio-i2c-si470x.
diff --git a/linux/drivers/media/radio/si470x/Makefile b/linux/drivers/media/radio/si470x/Makefile
index 945e7b1..a4bba94 100644
--- a/linux/drivers/media/radio/si470x/Makefile
+++ b/linux/drivers/media/radio/si470x/Makefile
@@ -3,7 +3,7 @@
 #
 
 radio-si470x-objs	:= radio-si470x-usb.o radio-si470x-common.o
-radio-si470x-i2c-objs	:= radio-si470x-i2c.o radio-si470x-common.o
+radio-i2c-si470x-objs	:= radio-si470x-i2c.o radio-si470x-common.o
 
 obj-$(CONFIG_USB_SI470X) += radio-si470x.o
-obj-$(CONFIG_I2C_SI470X) += radio-si470x-i2c.o
+obj-$(CONFIG_I2C_SI470X) += radio-i2c-si470x.o
diff --git a/linux/drivers/media/radio/si470x/radio-si470x-i2c.c b/linux/drivers/media/radio/si470x/radio-si470x-i2c.c
index 7058b84..27a0691 100644
--- a/linux/drivers/media/radio/si470x/radio-si470x-i2c.c
+++ b/linux/drivers/media/radio/si470x/radio-si470x-i2c.c
@@ -57,14 +57,9 @@ MODULE_PARM_DESC(radio_nr, "Radio Nr");
  */
 int si470x_get_register(struct si470x_device *radio, int regnr)
 {
-	int retval;
+	/* TODO */
 
-	retval = 0; /* TODO */
-
-	if (retval >= 0)
-		radio->registers[regnr] = 0; /* TODO */
-
-	return (retval < 0) ? -EINVAL : 0;
+	return 0;
 }
 
 
@@ -73,13 +68,9 @@ int si470x_get_register(struct si470x_device *radio, int regnr)
  */
 int si470x_set_register(struct si470x_device *radio, int regnr)
 {
-	int retval;
-
-	radio->registers[regnr] = 0; /* TODO */
+	/* TODO */
 
-	retval = 0; /* TODO */
-
-	return (retval < 0) ? -EINVAL : 0;
+	return 0;
 }
 
 
@@ -88,16 +79,9 @@ int si470x_set_register(struct si470x_device *radio, int regnr)
  */
 int si470x_get_all_registers(struct si470x_device *radio)
 {
-	int retval;
-	unsigned char regnr;
-
-	retval = 0; /* TODO */
+	/* TODO */
 
-	if (retval >= 0)
-		for (regnr = 0; regnr < RADIO_REGISTER_NUM; regnr++)
-			radio->registers[regnr] = 0; /* TODO */
-
-	return (retval < 0) ? -EINVAL : 0;
+	return 0;
 }
 
 
@@ -106,17 +90,9 @@ int si470x_get_all_registers(struct si470x_device *radio)
  */
 int si470x_get_rds_registers(struct si470x_device *radio)
 {
-	int retval;
-	int size;
-	unsigned char regnr;
-
-	retval = /* TODO */
+	/* TODO */
 
-	if (retval >= 0)
-		for (regnr = 0; regnr < RDS_REGISTER_NUM; regnr++)
-			radio->registers[STATUSRSSI + regnr] = 0; /* TODO */
-
-	return (retval < 0) ? -EINVAL : 0;
+	return 0;
 }
 
 
@@ -131,26 +107,15 @@ int si470x_get_rds_registers(struct si470x_device *radio)
 int si470x_fops_open(struct file *file)
 {
 	struct si470x_device *radio = video_drvdata(file);
-	int retval;
+	int retval = 0;
 
 	lock_kernel();
 	radio->users++;
 
-//	retval = usb_autopm_get_interface(radio->intf);
-//	if (retval < 0) {
-//		radio->users--;
-//		retval = -EIO;
-//		goto done;
-//	}
-//
-	if (radio->users == 1) {
+	if (radio->users == 1)
 		/* start radio */
 		retval = si470x_start(radio);
-		if (retval < 0)
-			usb_autopm_put_interface(radio->intf);
-	}
 
-done:
 	unlock_kernel();
 	return retval;
 }
@@ -170,16 +135,8 @@ int si470x_fops_release(struct file *file)
 		goto done;
 	}
 
-	mutex_lock(&radio->disconnect_lock);
 	radio->users--;
 	if (radio->users == 0) {
-		if (radio->disconnected) {
-			video_unregister_device(radio->videodev);
-			kfree(radio->buffer);
-			kfree(radio);
-			goto unlock;
-		}
-
 		/* stop rds reception */
 		cancel_delayed_work_sync(&radio->work);
 
@@ -188,12 +145,8 @@ int si470x_fops_release(struct file *file)
 
 		/* stop radio */
 		retval = si470x_stop(radio);
-//		usb_autopm_put_interface(radio->intf);
 	}
 
-unlock:
-	mutex_unlock(&radio->disconnect_lock);
-
 done:
 	return retval;
 }
@@ -210,11 +163,8 @@ done:
 int si470x_vidioc_querycap(struct file *file, void *priv,
 		struct v4l2_capability *capability)
 {
-	struct si470x_device *radio = video_drvdata(file);
-
 	strlcpy(capability->driver, DRIVER_NAME, sizeof(capability->driver));
 	strlcpy(capability->card, DRIVER_CARD, sizeof(capability->card));
-//	usb_make_path(radio->usbdev, capability->bus_info, sizeof(capability->bus_info));
 	capability->version = DRIVER_KERNEL_VERSION;
 	capability->capabilities = V4L2_CAP_HW_FREQ_SEEK |
 		V4L2_CAP_TUNER | V4L2_CAP_RADIO;
@@ -231,7 +181,8 @@ int si470x_vidioc_querycap(struct file *file, void *priv,
 /*
  * si470x_i2c_driver_probe - probe for the device
  */
-static int si470x_i2c_driver_probe()
+static int si470x_i2c_driver_probe(struct i2c_client *client,
+		const struct i2c_device_id *id)
 {
 	struct si470x_device *radio;
 	int retval = 0;
@@ -243,10 +194,6 @@ static int si470x_i2c_driver_probe()
 		goto err_initial;
 	}
 	radio->users = 0;
-	radio->disconnected = 0;
-//	radio->usbdev = interface_to_usbdev(intf);
-	radio->intf = intf;
-	mutex_init(&radio->disconnect_lock);
 	mutex_init(&radio->lock);
 
 	/* video device allocation and initialization */
@@ -267,22 +214,6 @@ static int si470x_i2c_driver_probe()
 	printk(KERN_INFO DRIVER_NAME ": DeviceID=0x%4.4hx ChipID=0x%4.4hx\n",
 			radio->registers[DEVICEID], radio->registers[CHIPID]);
 
-	/* check if device and firmware is current */
-	if ((radio->registers[CHIPID] & CHIPID_FIRMWARE)
-			< RADIO_SW_VERSION_CURRENT) {
-		printk(KERN_WARNING DRIVER_NAME
-			": This driver is known to work with "
-			"firmware version %hu,\n", RADIO_SW_VERSION_CURRENT);
-		printk(KERN_WARNING DRIVER_NAME
-			": but the device has firmware version %hu.\n",
-			radio->registers[CHIPID] & CHIPID_FIRMWARE);
-		printk(KERN_WARNING DRIVER_NAME
-			": If you have some trouble using this driver,\n");
-		printk(KERN_WARNING DRIVER_NAME
-			": please report to V4L ML at "
-			"linux-media@vger.kernel.org\n");
-	}
-
 	/* set initial frequency */
 	si470x_set_freq(radio, 87.5 * FREQ_MUL); /* available in all regions */
 
@@ -309,7 +240,6 @@ static int si470x_i2c_driver_probe()
 				": Could not register video device\n");
 		goto err_all;
 	}
-//	usb_set_intfdata(intf, radio);
 
 	return 0;
 err_all:
@@ -322,6 +252,60 @@ err_initial:
 	return retval;
 }
 
+/*
+ * si470x_i2c_driver_remove - remove the device
+ */
+static int si470x_i2c_driver_remove(struct i2c_client *client)
+{
+	/* TODO */
+
+	return 0;
+}
+
+#ifdef CONFIG_PM
+/*
+ * si470x_i2c_driver_suspend - suspend the device
+ */
+static int si470x_i2c_driver_suspend(struct i2c_client *client,
+		pm_message_t mesg)
+{
+	/* TODO */
+
+	return 0;
+}
+
+/*
+ * si470x_i2c_driver_resume - resume the device
+ */
+static int si470x_i2c_driver_resume(struct i2c_client *client)
+{
+	/* TODO */
+
+	return 0;
+}
+
+#else
+#define si470x_i2c_driver_suspend		NULL
+#define si470x_i2c_driver_resume		NULL
+#endif
+
+static const struct i2c_device_id si470x_i2c_driver_id[] = {
+	{ DRIVER_NAME, 0 },
+	{ }
+};
+MODULE_DEVICE_TABLE(i2c, si470x_i2c_driver_id);
+
+static struct i2c_driver si470x_i2c_driver = {
+	.driver = {
+		.name = DRIVER_NAME
+	},
+	.probe		= si470x_i2c_driver_probe,
+	.remove		= si470x_i2c_driver_remove,
+	.suspend	= si470x_i2c_driver_suspend,
+	.resume		= si470x_i2c_driver_resume,
+	.id_table	= si470x_i2c_driver_id,
+};
+
 
 
 /**************************************************************************
@@ -333,8 +317,7 @@ err_initial:
  */
 static int __init si470x_module_init(void)
 {
-	printk(KERN_INFO DRIVER_DESC ", Version " DRIVER_VERSION "\n");
-	return 0; /* TODO i2c_register */
+	return i2c_add_driver(&si470x_i2c_driver);
 }
 
 
@@ -343,7 +326,7 @@ static int __init si470x_module_init(void)
  */
 static void __exit si470x_module_exit(void)
 {
-	/* TODO i2c_deregister */
+	i2c_del_driver(&si470x_i2c_driver);
 }
 
 
diff --git a/linux/drivers/media/radio/si470x/radio-si470x.h b/linux/drivers/media/radio/si470x/radio-si470x.h
index 771300e..3953bce 100644
--- a/linux/drivers/media/radio/si470x/radio-si470x.h
+++ b/linux/drivers/media/radio/si470x/radio-si470x.h
@@ -41,6 +41,7 @@
 #include <linux/version.h>
 #include <linux/videodev2.h>
 #include <linux/mutex.h>
+#include <linux/i2c.h>
 #include <media/v4l2-common.h>
 #include <media/v4l2-ioctl.h>
 #include <media/rds.h>
@@ -155,9 +156,9 @@ struct si470x_device {
 	struct usb_interface *intf;
 #endif
 
-#ifdef CONFIG_I2C_SI470X_MODULE
+#if defined (CONFIG_I2C_SI470X) || (CONFIG_I2C_SI470X_MODULE)
 	/* reference to I2C device */
-	/* TODO */
+	struct i2c_client *client;
 #endif
 
 	/* reference to video device */
-- 
1.5.6.3

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2009-04-14  5:29 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-06  3:13 About the radio-si470x driver for I2C interface Joonyoung Shim
2009-03-06 10:46 ` Mauro Carvalho Chehab
2009-03-07 15:27   ` Problem with changeset 10837: causes "make all" not to build many modules Alain Kalker
2009-03-08 16:54     ` Mauro Carvalho Chehab
2009-03-09  2:17       ` Alain Kalker
2009-03-09  4:30         ` Mauro Carvalho Chehab
2009-03-09 13:57           ` Alain Kalker
     [not found]   ` <200903092333.38819.tobias.lorenz@gmx.net>
2009-03-09 23:20     ` About the radio-si470x driver for I2C interface Mauro Carvalho Chehab
2009-03-31 22:54       ` Alexey Klimov
     [not found]         ` <4e1455be0904011754l2c51cf2fi6336d07d591cbb71@mail.gmail.com>
2009-04-02  1:42           ` Joonyoung Shim
     [not found]             ` <200904122256.12305.tobias.lorenz@gmx.net>
2009-04-13  1:14               ` Alexey Klimov
2009-04-13 11:06                 ` Hans Verkuil
2009-04-13  1:46               ` Joonyoung Shim
2009-04-13  5:30                 ` Joonyoung Shim
     [not found]                   ` <200904131215.05703.tobias.lorenz@gmx.net>
2009-04-13 10:31                     ` Joonyoung Shim
2009-04-13 10:42                       ` Joonyoung Shim
     [not found]                         ` <200904132035.57419.tobias.lorenz@gmx.net>
2009-04-14  5:29                           ` Joonyoung Shim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.