rpms/kernel/devel linux-2.6-hdpvr-fix.patch, NONE, 1.1 config-generic, 1.252, 1.253 kernel.spec, 1.1388, 1.1389 linux-2.6-v4l-dvb-fixes.patch, 1.2, 1.3 linux-2.6-v4l-dvb-update.patch, 1.3, 1.4
Mauro Carvalho Chehab
mchehab at fedoraproject.org
Fri Mar 6 01:45:34 UTC 2009
- Previous message (by thread): rpms/anaconda/devel .cvsignore, 1.615, 1.616 anaconda.spec, 1.762, 1.763 sources, 1.749, 1.750 anaconda-11.5.0.23-efi-cds.patch, 1.1, NONE late.patch, 1.1, NONE
- Next message (by thread): rpms/gnucash/F-10 .cvsignore, 1.36, 1.37 gnucash.spec, 1.94, 1.95 sources, 1.38, 1.39
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mchehab
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5744
Modified Files:
config-generic kernel.spec linux-2.6-v4l-dvb-fixes.patch
linux-2.6-v4l-dvb-update.patch
Added Files:
linux-2.6-hdpvr-fix.patch
Log Message:
Updates to the latest linux-next tree and cleans config-generic vars for V4L/DVB
There were some changes on linux-next fixing a few bugs on Kconfig and on a few
drivers.
Adds a patch to fix a merge conflict with the out-of-tree hdpvr driver.
Also, config-generic were manually specifying the helper drivers. That's bad, since
it will compile some drivers that aren't used at all. Instead, let's enable
VIDEO_HELPER_CHIPS_AUTO and remove the manual settings.
This will disable a few drivers that don't make sense on fedora:
CONFIG_VIDEO_TLV320AIC23B
Never used by any driver. It was meant for a board that were never produced
CONFIG_VIDEO_OV7670
Only used on OLPC (autoselected when cafe-ccic driver is selected)
CONFIG_VIDEO_SAA7191
Only seen on Vino a driver specific for SGI architecture
CONFIG_VIDEO_TVP514X
CONFIG_VIDEO_TCM825X
Only seen on some embedded devices (OMAP platform)
linux-2.6-hdpvr-fix.patch:
--- NEW FILE linux-2.6-hdpvr-fix.patch ---
diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c
index b8f2be8..0e8bd98 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -547,7 +547,6 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 ste
case V4L2_CID_CONTRAST:
case V4L2_CID_SATURATION:
case V4L2_CID_HUE:
- case V4L2_CID_SHARPNESS:
qctrl->flags |= V4L2_CTRL_FLAG_SLIDER;
break;
}
@@ -585,8 +586,6 @@ int v4l2_ctrl_query_fill_std(struct v4l2_queryctrl *qctrl)
return v4l2_ctrl_query_fill(qctrl, 0, 127, 1, 64);
case V4L2_CID_HUE:
return v4l2_ctrl_query_fill(qctrl, -128, 127, 1, 0);
- case V4L2_CID_SHARPNESS:
- return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0);
/* MPEG controls */
case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.252
retrieving revision 1.253
diff -u -r1.252 -r1.253
--- config-generic 4 Mar 2009 20:58:11 -0000 1.252
+++ config-generic 6 Mar 2009 01:45:01 -0000 1.253
@@ -2194,7 +2194,7 @@
#
CONFIG_VIDEO_DEV=m
# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_V4L2=y
@@ -2209,14 +2209,9 @@
#
CONFIG_V4L_USB_DRIVERS=y
CONFIG_VIDEO_CAPTURE_DRIVERS=y
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_BWQCAM=m
# CONFIG_VIDEO_CAFE_CCIC is not set
CONFIG_VIDEO_CPIA=m
@@ -2224,10 +2219,6 @@
CONFIG_VIDEO_CPIA_USB=m
CONFIG_VIDEO_CPIA2=m
CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_CX25840=m
-CONFIG_VIDEO_CX2341X=m
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CX88=m
@@ -2242,12 +2233,9 @@
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_OVCAMCHIP=m
-CONFIG_VIDEO_OV7670=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2_ONAIR_CREATOR=y
CONFIG_VIDEO_PVRUSB2_ONAIR_USB2=y
@@ -2255,33 +2243,12 @@
CONFIG_VIDEO_SAA5246A=m
CONFIG_VIDEO_SAA5249=m
CONFIG_VIDEO_SAA6588=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA7111=m
-CONFIG_VIDEO_SAA7114=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_SAA7191=m
CONFIG_VIDEO_STRADIS=m
-CONFIG_VIDEO_TCM825X=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TDA9875=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_USBVISION=m
-CONFIG_VIDEO_VPX3220=m
CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
CONFIG_VIDEO_ZORAN_BUZ=m
@@ -2291,8 +2258,6 @@
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_ZR36060=m
CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_M52790=m
-CONFIG_VIDEO_VP27SMPX=m
CONFIG_TUNER_3036=m
# CONFIG_TUNER_TEA5761 is not set
@@ -2429,7 +2394,6 @@
CONFIG_VIDEO_PVRUSB2_29XXX=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_IR_I2C=m
#
# Graphics support
@@ -3925,7 +3889,6 @@
CONFIG_LIBFC=m
CONFIG_FCOE=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_VIDEO_TVP514X=m
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_LGDT3304=m
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1388
retrieving revision 1.1389
diff -u -r1.1388 -r1.1389
--- kernel.spec 6 Mar 2009 00:58:02 -0000 1.1388
+++ kernel.spec 6 Mar 2009 01:45:03 -0000 1.1389
@@ -638,7 +638,6 @@
Patch682: linux-2.6-ipw2x00-age-scan-results-on-resume.patch
Patch1515: linux-2.6.29-lirc.patch
-Patch1520: linux-2.6-hdpvr.patch
# Fix the return code CD accesses when the CDROM drive door is closed
# but the drive isn't yet ready.
@@ -671,7 +670,12 @@
# silence the ACPI blacklist code
Patch2802: linux-2.6-silence-acpi-blacklist.patch
+Patch2897: linux-2.6-hdpvr.patch
+
# Updates/Fixes on V4L/DVB to the latest development tree
+# hdpvr is patching a function that were removed on linux-next
+Patch2898: linux-2.6-hdpvr-fix.patch
+
Patch2899: linux-2.6-v4l-dvb-fixes.patch
Patch2900: linux-2.6-v4l-dvb-update.patch
@@ -1175,6 +1179,8 @@
ApplyPatch linux-2.6.29-lirc.patch
# http://hg.jannau.net/hdpvr/
ApplyPatch linux-2.6-hdpvr.patch
+# Revert a change on v4l2-common on a function that will be removed by V4L/DVB patches
+ApplyPatch linux-2.6-hdpvr-fix.patch
# Fix the return code CD accesses when the CDROM drive door is closed
# but the drive isn't yet ready.
@@ -1800,6 +1806,9 @@
# and build.
%changelog
+* Wed Mar 06 2009 Mauro Carvalho Chehab <mchehab at redhat.com>
+- drivers/media: Some fixes and a cleanup on F11 v4l/dvb config.generic
+
* Fri Mar 06 2009 Matthew Garrett <mjg at redhat.com>
- linux-2.6-input-fix-toshiba-hotkeys.patch: Avoid polling for hotkey events
on Toshibas
linux-2.6-v4l-dvb-fixes.patch:
Index: linux-2.6-v4l-dvb-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-fixes.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-v4l-dvb-fixes.patch 28 Feb 2009 15:35:26 -0000 1.2
+++ linux-2.6-v4l-dvb-fixes.patch 6 Mar 2009 01:45:03 -0000 1.3
@@ -1,20 +1,42 @@
-diff -upr drivers/media/video/v4l2-common.c /home/v4l/tokernel/wrk/linux-2.6/drivers/media/video/v4l2-common.c
---- a/drivers/media/video/v4l2-common.c 2009-02-27 22:44:26.000000000 -0300
-+++ b/drivers/media/video/v4l2-common.c 2009-01-06 22:29:51.000000000 -0200
-@@ -547,7 +547,6 @@ int v4l2_ctrl_query_fill(struct v4l2_que
- case V4L2_CID_CONTRAST:
- case V4L2_CID_SATURATION:
- case V4L2_CID_HUE:
-- case V4L2_CID_SHARPNESS:
- qctrl->flags |= V4L2_CTRL_FLAG_SLIDER;
- break;
+diff --git a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
+index e564a61..48892b5 100644
+--- a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
++++ b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
+@@ -102,7 +102,11 @@ int s5k4aa_probe(struct sd *sd)
}
-@@ -586,8 +585,6 @@ int v4l2_ctrl_query_fill_std(struct v4l2
- return v4l2_ctrl_query_fill(qctrl, 0, 127, 1, 64);
- case V4L2_CID_HUE:
- return v4l2_ctrl_query_fill(qctrl, -128, 127, 1, 0);
-- case V4L2_CID_SHARPNESS:
-- return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0);
- /* MPEG controls */
- case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
+ /* Test some registers, but we don't know their exact meaning yet */
+- if (m5602_read_sensor(sd, 0x00, prod_id, sizeof(prod_id)))
++ if (m5602_read_sensor(sd, 0x00, prod_id, 2))
++ return -ENODEV;
++ if (m5602_read_sensor(sd, 0x02, prod_id+2, 2))
++ return -ENODEV;
++ if (m5602_read_sensor(sd, 0x04, prod_id+4, 2))
+ return -ENODEV;
+
+ if (memcmp(prod_id, expected_prod_id, sizeof(prod_id)))
+diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
+index 5aeccb3..076ed5b 100644
+--- a/drivers/media/video/tvaudio.c
++++ b/drivers/media/video/tvaudio.c
+@@ -54,7 +54,7 @@ MODULE_LICENSE("GPL");
+ /* ---------------------------------------------------------------------- */
+ /* our structs */
+
+-#define MAXREGS 64
++#define MAXREGS 256
+
+ struct CHIPSTATE;
+ typedef int (*getvalue)(int);
+diff --git a/drivers/media/video/zoran/Kconfig b/drivers/media/video/zoran/Kconfig
+index 4ea5fa7..8666e19 100644
+--- a/drivers/media/video/zoran/Kconfig
++++ b/drivers/media/video/zoran/Kconfig
+@@ -68,6 +68,7 @@ config VIDEO_ZORAN_AVS6EYES
+ tristate "AverMedia 6 Eyes support (EXPERIMENTAL)"
+ depends on VIDEO_ZORAN_ZR36060 && EXPERIMENTAL && VIDEO_V4L1
+ select VIDEO_BT856 if VIDEO_HELPER_CHIPS_AUTO
++ select VIDEO_BT866 if VIDEO_HELPER_CHIPS_AUTO
+ select VIDEO_KS0127 if VIDEO_HELPER_CHIPS_AUTO
+ help
+ Support for the AverMedia 6 Eyes video surveillance card.
linux-2.6-v4l-dvb-update.patch:
Index: linux-2.6-v4l-dvb-update.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-update.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- linux-2.6-v4l-dvb-update.patch 4 Mar 2009 20:58:11 -0000 1.3
+++ linux-2.6-v4l-dvb-update.patch 6 Mar 2009 01:45:03 -0000 1.4
@@ -462,10 +462,10 @@
+
+#endif
diff --git a/arch/sh/boards/board-ap325rxa.c b/arch/sh/boards/board-ap325rxa.c
-index 7c35787..78a9395 100644
+index 72da416..3bdf199 100644
--- a/arch/sh/boards/board-ap325rxa.c
+++ b/arch/sh/boards/board-ap325rxa.c
-@@ -344,7 +344,8 @@ static struct ov772x_camera_info ov7725_info = {
+@@ -298,7 +298,8 @@ static struct platform_device camera_device = {
static struct sh_mobile_ceu_info sh_mobile_ceu_info = {
.flags = SOCAM_PCLK_SAMPLE_RISING | SOCAM_HSYNC_ACTIVE_HIGH |
@@ -4853,7 +4853,7 @@
}
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c
-index 635d30a..80744f4 100644
+index 635d30a..8877215 100644
--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
@@ -262,7 +262,12 @@ static int stk7700P2_frontend_attach(struct dvb_usb_adapter *adap)
@@ -4951,7 +4951,7 @@
{ NULL },
},
+ { "Yuan PD378S",
-+ { &dib0700_usb_id_table[44], NULL },
++ { &dib0700_usb_id_table[45], NULL },
+ { NULL },
+ },
},
@@ -32660,10 +32660,33 @@
return hwptr_done;
}
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
-index 3b3ca3f..f7c8177 100644
+index 3b3ca3f..650ccfd 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
-@@ -183,6 +183,25 @@ struct em28xx_board em28xx_boards[] = {
+@@ -122,6 +122,22 @@ static struct em28xx_reg_seq default_tuner_gpio[] = {
+ { -1, -1, -1, -1},
+ };
+
++/* Mute/unmute */
++static struct em28xx_reg_seq compro_unmute_tv_gpio[] = {
++ {EM28XX_R08_GPIO, 5, 7, 10},
++ { -1, -1, -1, -1},
++};
++
++static struct em28xx_reg_seq compro_unmute_svid_gpio[] = {
++ {EM28XX_R08_GPIO, 4, 7, 10},
++ { -1, -1, -1, -1},
++};
++
++static struct em28xx_reg_seq compro_mute_gpio[] = {
++ {EM28XX_R08_GPIO, 6, 7, 10},
++ { -1, -1, -1, -1},
++};
++
+ /*
+ * Board definitions
+ */
+@@ -183,6 +199,25 @@ struct em28xx_board em28xx_boards[] = {
.amux = EM28XX_AMUX_LINE_IN,
} },
},
@@ -32689,7 +32712,7 @@
[EM2820_BOARD_TERRATEC_CINERGY_250] = {
.name = "Terratec Cinergy 250 USB",
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
-@@ -225,7 +244,7 @@ struct em28xx_board em28xx_boards[] = {
+@@ -225,7 +260,7 @@ struct em28xx_board em28xx_boards[] = {
.name = "Hauppauge WinTV USB 2",
.tuner_type = TUNER_PHILIPS_FM1236_MK3,
.tda9887_conf = TDA9887_PRESENT |
@@ -32698,7 +32721,7 @@
TDA9887_PORT2_ACTIVE,
.decoder = EM28XX_TVP5150,
.has_msp34xx = 1,
-@@ -350,26 +369,6 @@ struct em28xx_board em28xx_boards[] = {
+@@ -350,26 +385,6 @@ struct em28xx_board em28xx_boards[] = {
.amux = EM28XX_AMUX_VIDEO,
} },
},
@@ -32725,7 +32748,7 @@
[EM2821_BOARD_SUPERCOMP_USB_2] = {
.name = "Supercomp USB 2.0 TV",
.valid = EM28XX_BOARD_NOT_VALIDATED,
-@@ -498,7 +497,7 @@ struct em28xx_board em28xx_boards[] = {
+@@ -498,7 +513,7 @@ struct em28xx_board em28xx_boards[] = {
},
[EM2861_BOARD_YAKUMO_MOVIE_MIXER] = {
.name = "Yakumo MovieMixer",
@@ -32734,7 +32757,7 @@
.decoder = EM28XX_TVP5150,
.input = { {
.type = EM28XX_VMUX_TELEVISION,
-@@ -842,11 +841,11 @@ struct em28xx_board em28xx_boards[] = {
+@@ -842,11 +857,11 @@ struct em28xx_board em28xx_boards[] = {
} },
},
[EM2800_BOARD_GRABBEEX_USB2800] = {
@@ -32751,7 +32774,7 @@
.type = EM28XX_VMUX_COMPOSITE1,
.vmux = SAA7115_COMPOSITE0,
.amux = EM28XX_AMUX_LINE_IN,
-@@ -897,7 +896,7 @@ struct em28xx_board em28xx_boards[] = {
+@@ -897,7 +912,7 @@ struct em28xx_board em28xx_boards[] = {
} },
},
[EM2820_BOARD_PINNACLE_DVC_90] = {
@@ -32760,7 +32783,7 @@
.tuner_type = TUNER_ABSENT, /* capture only board */
.decoder = EM28XX_SAA711X,
.input = { {
-@@ -952,7 +951,7 @@ struct em28xx_board em28xx_boards[] = {
+@@ -952,7 +967,7 @@ struct em28xx_board em28xx_boards[] = {
} },
},
[EM2820_BOARD_PROLINK_PLAYTV_USB2] = {
@@ -32769,7 +32792,7 @@
.has_snapshot_button = 1,
.tda9887_conf = TDA9887_PRESENT,
.tuner_type = TUNER_YMEC_TVF_5533MF,
-@@ -1198,7 +1197,9 @@ struct em28xx_board em28xx_boards[] = {
+@@ -1198,7 +1213,9 @@ struct em28xx_board em28xx_boards[] = {
.has_dvb = 1,
.dvb_gpio = kworld_330u_digital,
.xclk = EM28XX_XCLK_FREQUENCY_12MHZ,
@@ -32780,18 +32803,24 @@
.input = { {
.type = EM28XX_VMUX_TELEVISION,
.vmux = TVP5150_COMPOSITE0,
-@@ -1223,6 +1224,7 @@ struct em28xx_board em28xx_boards[] = {
+@@ -1223,21 +1240,88 @@ struct em28xx_board em28xx_boards[] = {
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.tda9887_conf = TDA9887_PRESENT,
.decoder = EM28XX_TVP5150,
+ .adecoder = EM28XX_TVAUDIO,
++ .mute_gpio = compro_mute_gpio,
.input = { {
.type = EM28XX_VMUX_TELEVISION,
.vmux = TVP5150_COMPOSITE0,
-@@ -1233,11 +1235,74 @@ struct em28xx_board em28xx_boards[] = {
- .amux = EM28XX_AMUX_LINE_IN,
- } },
- },
++ .amux = EM28XX_AMUX_VIDEO,
++ .gpio = compro_unmute_tv_gpio,
++ }, {
++ .type = EM28XX_VMUX_SVIDEO,
++ .vmux = TVP5150_SVIDEO,
++ .amux = EM28XX_AMUX_LINE_IN,
++ .gpio = compro_unmute_svid_gpio,
++ } },
++ },
+ [EM2860_BOARD_KAIOMY_TVNPC_U2] = {
+ .name = "Kaiomy TVnPC U2",
+ .vchannels = 3,
@@ -32809,12 +32838,12 @@
+ }, {
+ .type = EM28XX_VMUX_COMPOSITE1,
+ .vmux = TVP5150_COMPOSITE1,
-+ .amux = EM28XX_AMUX_LINE_IN,
-+ }, {
-+ .type = EM28XX_VMUX_SVIDEO,
-+ .vmux = TVP5150_SVIDEO,
-+ .amux = EM28XX_AMUX_LINE_IN,
-+ } },
+ .amux = EM28XX_AMUX_LINE_IN,
+ }, {
+ .type = EM28XX_VMUX_SVIDEO,
+ .vmux = TVP5150_SVIDEO,
+ .amux = EM28XX_AMUX_LINE_IN,
+ } },
+ .radio = {
+ .type = EM28XX_RADIO,
+ .amux = EM28XX_AMUX_LINE_IN,
@@ -32854,7 +32883,7 @@
+ .vmux = TVP5150_SVIDEO,
+ .amux = EM28XX_AMUX_VIDEO,
+ } },
-+ },
+ },
};
const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
@@ -32864,7 +32893,7 @@
{ USB_DEVICE(0xeb1a, 0x2750),
.driver_info = EM2750_BOARD_UNKNOWN },
{ USB_DEVICE(0xeb1a, 0x2751),
-@@ -1260,6 +1325,8 @@ struct usb_device_id em28xx_id_table [] = {
+@@ -1260,6 +1344,8 @@ struct usb_device_id em28xx_id_table [] = {
.driver_info = EM2820_BOARD_UNKNOWN },
{ USB_DEVICE(0xeb1a, 0xe300),
.driver_info = EM2861_BOARD_KWORLD_PVRTV_300U },
@@ -32873,7 +32902,7 @@
{ USB_DEVICE(0xeb1a, 0xe305),
.driver_info = EM2880_BOARD_KWORLD_DVB_305U },
{ USB_DEVICE(0xeb1a, 0xe310),
-@@ -1278,6 +1345,8 @@ struct usb_device_id em28xx_id_table [] = {
+@@ -1278,6 +1364,8 @@ struct usb_device_id em28xx_id_table [] = {
.driver_info = EM2800_BOARD_GRABBEEX_USB2800 },
{ USB_DEVICE(0xeb1a, 0xe357),
.driver_info = EM2870_BOARD_KWORLD_355U },
@@ -32882,7 +32911,7 @@
{ USB_DEVICE(0x0ccd, 0x0036),
.driver_info = EM2820_BOARD_TERRATEC_CINERGY_250 },
{ USB_DEVICE(0x0ccd, 0x004c),
-@@ -1330,6 +1399,8 @@ struct usb_device_id em28xx_id_table [] = {
+@@ -1330,6 +1418,8 @@ struct usb_device_id em28xx_id_table [] = {
.driver_info = EM2800_BOARD_LEADTEK_WINFAST_USBII },
{ USB_DEVICE(0x093b, 0xa005),
.driver_info = EM2861_BOARD_PLEXTOR_PX_TV100U },
@@ -32891,7 +32920,7 @@
{ },
};
MODULE_DEVICE_TABLE(usb, em28xx_id_table);
-@@ -1337,7 +1408,7 @@ MODULE_DEVICE_TABLE(usb, em28xx_id_table);
+@@ -1337,7 +1427,7 @@ MODULE_DEVICE_TABLE(usb, em28xx_id_table);
/*
* EEPROM hash table for devices with generic USB IDs
*/
@@ -32900,7 +32929,7 @@
/* P/N: SA 60002070465 Tuner: TVF7533-MF */
{0x6ce05a8f, EM2820_BOARD_PROLINK_PLAYTV_USB2, TUNER_YMEC_TVF_5533MF},
{0x72cc5a8b, EM2820_BOARD_PROLINK_PLAYTV_BOX4_USB2, TUNER_YMEC_TVF_5533MF},
-@@ -1349,6 +1420,7 @@ static struct em28xx_hash_table em28xx_i2c_hash[] = {
+@@ -1349,6 +1439,7 @@ static struct em28xx_hash_table em28xx_i2c_hash[] = {
{0xb06a32c3, EM2800_BOARD_TERRATEC_CINERGY_200, TUNER_LG_PAL_NEW_TAPC},
{0xf51200e3, EM2800_BOARD_VGEAR_POCKETTV, TUNER_LG_PAL_NEW_TAPC},
{0x1ba50080, EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA, TUNER_ABSENT},
@@ -32908,7 +32937,7 @@
};
int em28xx_tuner_callback(void *ptr, int component, int command, int arg)
-@@ -1368,7 +1440,7 @@ int em28xx_tuner_callback(void *ptr, int component, int command, int arg)
+@@ -1368,7 +1459,7 @@ int em28xx_tuner_callback(void *ptr, int component, int command, int arg)
}
EXPORT_SYMBOL_GPL(em28xx_tuner_callback);
@@ -32917,7 +32946,7 @@
{
memcpy(&dev->board, &em28xx_boards[dev->model], sizeof(dev->board));
-@@ -1504,6 +1576,34 @@ void em28xx_pre_card_setup(struct em28xx *dev)
+@@ -1504,6 +1595,34 @@ void em28xx_pre_card_setup(struct em28xx *dev)
/* enables audio for that devices */
em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xfd);
break;
@@ -32952,7 +32981,7 @@
}
em28xx_gpio_set(dev, dev->board.tuner_gpio);
-@@ -1610,7 +1710,7 @@ static int em28xx_hint_board(struct em28xx *dev)
+@@ -1610,7 +1729,7 @@ static int em28xx_hint_board(struct em28xx *dev)
em28xx_errdev("If the board were missdetected, "
"please email this log to:\n");
em28xx_errdev("\tV4L Mailing List "
@@ -32961,7 +32990,7 @@
em28xx_errdev("Board detected as %s\n",
em28xx_boards[dev->model].name);
-@@ -1642,7 +1742,7 @@ static int em28xx_hint_board(struct em28xx *dev)
+@@ -1642,7 +1761,7 @@ static int em28xx_hint_board(struct em28xx *dev)
em28xx_errdev("If the board were missdetected, "
"please email this log to:\n");
em28xx_errdev("\tV4L Mailing List "
@@ -32970,7 +32999,7 @@
em28xx_errdev("Board detected as %s\n",
em28xx_boards[dev->model].name);
-@@ -1655,7 +1755,7 @@ static int em28xx_hint_board(struct em28xx *dev)
+@@ -1655,7 +1774,7 @@ static int em28xx_hint_board(struct em28xx *dev)
em28xx_errdev("You may try to use card=<n> insmod option to "
"workaround that.\n");
em28xx_errdev("Please send an email with this log to:\n");
@@ -32979,7 +33008,7 @@
em28xx_errdev("Board eeprom hash is 0x%08lx\n", dev->hash);
em28xx_errdev("Board i2c devicelist hash is 0x%08lx\n", dev->i2c_hash);
-@@ -1800,6 +1900,8 @@ void em28xx_card_setup(struct em28xx *dev)
+@@ -1800,6 +1919,8 @@ void em28xx_card_setup(struct em28xx *dev)
request_module("tvp5150");
if (dev->board.tuner_type != TUNER_ABSENT)
request_module("tuner");
@@ -32989,7 +33018,7 @@
em28xx_config_tuner(dev);
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
-index 94fb1b6..eee8d01 100644
+index 94fb1b6..c896d24 100644
--- a/drivers/media/video/em28xx/em28xx-core.c
+++ b/drivers/media/video/em28xx/em28xx-core.c
@@ -33,8 +33,8 @@
@@ -33032,7 +33061,19 @@
"OUT: %02x %02x %02x %02x %02x %02x %02x %02x >>>",
pipe,
USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
-@@ -424,7 +424,7 @@ int em28xx_audio_analog_set(struct em28xx *dev)
+@@ -378,6 +378,11 @@ static int em28xx_set_audio_source(struct em28xx *dev)
+ }
+ }
+
++ if (dev->board.mute_gpio && dev->mute)
++ em28xx_gpio_set(dev, dev->board.mute_gpio);
++ else
++ em28xx_gpio_set(dev, INPUT(dev->ctl_input)->gpio);
++
+ ret = em28xx_write_reg_bits(dev, EM28XX_R0E_AUDIOSRC, input, 0xc0);
+ if (ret < 0)
+ return ret;
+@@ -424,7 +429,7 @@ int em28xx_audio_analog_set(struct em28xx *dev)
xclk = dev->board.xclk & 0x7f;
if (!dev->mute)
@@ -33041,7 +33082,7 @@
ret = em28xx_write_reg(dev, EM28XX_R0F_XCLK, xclk);
if (ret < 0)
-@@ -462,7 +462,8 @@ int em28xx_audio_analog_set(struct em28xx *dev)
+@@ -462,7 +467,8 @@ int em28xx_audio_analog_set(struct em28xx *dev)
if (dev->ctl_aoutput & EM28XX_AOUT_PCM_IN) {
int sel = ac97_return_record_select(dev->ctl_aoutput);
@@ -33051,7 +33092,7 @@
sel |= (sel << 8);
em28xx_write_ac97(dev, AC97_RECORD_SELECT, sel);
-@@ -698,7 +699,7 @@ static int em28xx_scaler_set(struct em28xx *dev, u16 h, u16 v)
+@@ -698,7 +704,7 @@ static int em28xx_scaler_set(struct em28xx *dev, u16 h, u16 v)
em28xx_write_regs(dev, EM28XX_R32_VSCALELOW, (char *)buf, 2);
/* it seems that both H and V scalers must be active
to work correctly */
@@ -33060,7 +33101,7 @@
}
return em28xx_write_reg_bits(dev, EM28XX_R26_COMPR, mode, 0x30);
}
-@@ -827,6 +828,19 @@ static void em28xx_irq_callback(struct urb *urb)
+@@ -827,6 +833,19 @@ static void em28xx_irq_callback(struct urb *urb)
struct em28xx *dev = container_of(dma_q, struct em28xx, vidq);
int rc, i;
@@ -33080,7 +33121,7 @@
/* Copy data from URB */
spin_lock(&dev->slock);
rc = dev->isoc_ctl.isoc_copy(dev, urb);
-@@ -945,7 +959,7 @@ int em28xx_init_isoc(struct em28xx *dev, int max_packets,
+@@ -945,7 +964,7 @@ int em28xx_init_isoc(struct em28xx *dev, int max_packets,
em28xx_err("unable to allocate %i bytes for transfer"
" buffer %i%s\n",
sb_size, i,
@@ -33090,7 +33131,7 @@
return -ENOMEM;
}
diff --git a/drivers/media/video/em28xx/em28xx-i2c.c b/drivers/media/video/em28xx/em28xx-i2c.c
-index d69f0ef..2dab43d 100644
+index d69f0ef..02c12fe 100644
--- a/drivers/media/video/em28xx/em28xx-i2c.c
+++ b/drivers/media/video/em28xx/em28xx-i2c.c
@@ -402,10 +402,12 @@ static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned char *eedata, int len)
@@ -33108,8 +33149,34 @@
break;
}
+@@ -508,12 +510,17 @@ static int attach_inform(struct i2c_client *client)
+ dprintk1(1, "attach_inform: tvp5150 detected.\n");
+ break;
+
++ case 0xb0:
++ dprintk1(1, "attach_inform: tda9874 detected\n");
++ break;
++
+ default:
+ if (!dev->tuner_addr)
+ dev->tuner_addr = client->addr;
+
+ dprintk1(1, "attach inform: detected I2C address %x\n",
+ client->addr << 1);
++ dprintk1(1, "driver id %d\n", client->driver->id);
+
+ }
+
+@@ -552,6 +559,7 @@ static char *i2c_devs[128] = {
+ [0x80 >> 1] = "msp34xx",
+ [0x88 >> 1] = "msp34xx",
+ [0xa0 >> 1] = "eeprom",
++ [0xb0 >> 1] = "tda9874",
+ [0xb8 >> 1] = "tvp5150a",
+ [0xba >> 1] = "tvp5150a",
+ [0xc0 >> 1] = "tuner (analog)",
diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
-index 8e61b2c..efd6415 100644
+index 8e61b2c..575472f 100644
--- a/drivers/media/video/em28xx/em28xx-video.c
+++ b/drivers/media/video/em28xx/em28xx-video.c
@@ -186,7 +186,8 @@ static void em28xx_copy_video(struct em28xx *dev,
@@ -33163,7 +33230,21 @@
struct em28xx_fh *fh = vq->priv_data;
struct em28xx *dev = (struct em28xx *)fh->dev;
-@@ -557,7 +563,7 @@ static int res_get(struct em28xx_fh *fh)
+@@ -534,6 +540,13 @@ static void video_mux(struct em28xx *dev, int index)
+ &route);
+ }
+
++ if (dev->board.adecoder != EM28XX_NOADECODER) {
++ route.input = dev->ctl_ainput;
++ route.output = dev->ctl_aoutput;
++ em28xx_i2c_call_clients(dev, VIDIOC_INT_S_AUDIO_ROUTING,
++ &route);
++ }
++
+ em28xx_audio_analog_set(dev);
+ }
+
+@@ -557,7 +570,7 @@ static int res_get(struct em28xx_fh *fh)
static int res_check(struct em28xx_fh *fh)
{
@@ -33172,7 +33253,7 @@
}
static void res_free(struct em28xx_fh *fh)
-@@ -791,7 +797,7 @@ out:
+@@ -791,7 +804,7 @@ out:
return rc;
}
@@ -33181,7 +33262,7 @@
{
struct em28xx_fh *fh = priv;
struct em28xx *dev = fh->dev;
-@@ -1008,8 +1014,13 @@ static int vidioc_g_ctrl(struct file *file, void *priv,
+@@ -1008,8 +1021,13 @@ static int vidioc_g_ctrl(struct file *file, void *priv,
if (dev->board.has_msp34xx)
em28xx_i2c_call_clients(dev, VIDIOC_G_CTRL, ctrl);
@@ -33196,7 +33277,7 @@
mutex_unlock(&dev->lock);
return rc;
-@@ -1345,7 +1356,7 @@ static int vidioc_querycap(struct file *file, void *priv,
+@@ -1345,7 +1363,7 @@ static int vidioc_querycap(struct file *file, void *priv,
strlcpy(cap->driver, "em28xx", sizeof(cap->driver));
strlcpy(cap->card, em28xx_boards[dev->model].name, sizeof(cap->card));
@@ -33205,7 +33286,7 @@
cap->version = EM28XX_VERSION_CODE;
-@@ -1431,7 +1442,7 @@ static int vidioc_reqbufs(struct file *file, void *priv,
+@@ -1431,7 +1449,7 @@ static int vidioc_reqbufs(struct file *file, void *priv,
if (rc < 0)
return rc;
@@ -33214,7 +33295,7 @@
}
static int vidioc_querybuf(struct file *file, void *priv,
-@@ -1445,7 +1456,7 @@ static int vidioc_querybuf(struct file *file, void *priv,
+@@ -1445,7 +1463,7 @@ static int vidioc_querybuf(struct file *file, void *priv,
if (rc < 0)
return rc;
@@ -33223,7 +33304,7 @@
}
static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *b)
-@@ -1458,7 +1469,7 @@ static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *b)
+@@ -1458,7 +1476,7 @@ static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *b)
if (rc < 0)
return rc;
@@ -33232,7 +33313,7 @@
}
static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *b)
-@@ -1471,8 +1482,7 @@ static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *b)
+@@ -1471,8 +1489,7 @@ static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *b)
if (rc < 0)
return rc;
@@ -33242,7 +33323,7 @@
}
#ifdef CONFIG_VIDEO_V4L1_COMPAT
-@@ -1496,7 +1506,7 @@ static int radio_querycap(struct file *file, void *priv,
+@@ -1496,7 +1513,7 @@ static int radio_querycap(struct file *file, void *priv,
strlcpy(cap->driver, "em28xx", sizeof(cap->driver));
strlcpy(cap->card, em28xx_boards[dev->model].name, sizeof(cap->card));
@@ -33251,7 +33332,7 @@
cap->version = EM28XX_VERSION_CODE;
cap->capabilities = V4L2_CAP_TUNER;
-@@ -1781,7 +1791,7 @@ em28xx_v4l2_read(struct file *filp, char __user *buf, size_t count,
+@@ -1781,7 +1798,7 @@ em28xx_v4l2_read(struct file *filp, char __user *buf, size_t count,
* em28xx_v4l2_poll()
* will allocate buffers when called for the first time
*/
@@ -33260,7 +33341,7 @@
{
struct em28xx_fh *fh = filp->private_data;
struct em28xx *dev = fh->dev;
-@@ -1934,8 +1944,8 @@ static struct video_device em28xx_radio_template = {
+@@ -1934,8 +1951,8 @@ static struct video_device em28xx_radio_template = {
static struct video_device *em28xx_vdev_init(struct em28xx *dev,
@@ -33271,7 +33352,7 @@
{
struct video_device *vfd;
-@@ -1984,8 +1994,9 @@ int em28xx_register_analog_devices(struct em28xx *dev)
+@@ -1984,8 +2001,9 @@ int em28xx_register_analog_devices(struct em28xx *dev)
/* enable vbi capturing */
/* em28xx_write_reg(dev, EM28XX_R0E_AUDIOSRC, 0xc0); audio register */
@@ -33283,7 +33364,7 @@
em28xx_write_reg(dev, EM28XX_R11_VINCTRL, 0x51);
em28xx_set_outfmt(dev);
-@@ -2020,7 +2031,8 @@ int em28xx_register_analog_devices(struct em28xx *dev)
+@@ -2020,7 +2038,8 @@ int em28xx_register_analog_devices(struct em28xx *dev)
}
if (em28xx_boards[dev->model].radio.type == EM28XX_RADIO) {
@@ -33294,7 +33375,7 @@
em28xx_errdev("cannot allocate video_device.\n");
return -ENODEV;
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
-index dd2cd36..57a4084 100644
+index dd2cd36..a33a58d 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -70,7 +70,6 @@
@@ -33349,7 +33430,15 @@
struct em28xx_board {
char *name;
int vchannels;
-@@ -373,6 +386,7 @@ struct em28xx_board {
+@@ -361,6 +374,7 @@ struct em28xx_board {
+ struct em28xx_reg_seq *dvb_gpio;
+ struct em28xx_reg_seq *suspend_gpio;
+ struct em28xx_reg_seq *tuner_gpio;
++ struct em28xx_reg_seq *mute_gpio;
+
+ unsigned int is_em2800:1;
+ unsigned int has_msp34xx:1;
+@@ -373,6 +387,7 @@ struct em28xx_board {
unsigned char xclk, i2c_speed;
enum em28xx_decoder decoder;
@@ -33357,7 +33446,7 @@
struct em28xx_input input[MAX_EM28XX_INPUT];
struct em28xx_input radio;
-@@ -420,7 +434,7 @@ struct em28xx_audio {
+@@ -420,7 +435,7 @@ struct em28xx_audio {
unsigned int hwptr_done_capture;
struct snd_card *sndcard;
@@ -33366,7 +33455,7 @@
enum em28xx_stream_state capture_stream;
spinlock_t slock;
};
-@@ -523,7 +537,8 @@ struct em28xx {
+@@ -523,7 +538,8 @@ struct em28xx {
int num_alt; /* Number of alternative settings */
unsigned int *alt_max_pkt_size; /* array of wMaxPacketSize */
struct urb *urb[EM28XX_NUM_BUFS]; /* urb for isoc transfers */
@@ -56213,7 +56302,7 @@
.probe = tlv320aic23b_probe,
.remove = tlv320aic23b_remove,
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
-index 5aeccb3..6f03d95 100644
+index 076ed5b..e8ab285 100644
--- a/drivers/media/video/tvaudio.c
+++ b/drivers/media/video/tvaudio.c
@@ -26,7 +26,7 @@
@@ -57577,7 +57666,7 @@
| USB_DEVICE_ID_MATCH_INT_INFO,
.idVendor = 0x174f,
diff --git a/drivers/media/video/uvc/uvc_status.c b/drivers/media/video/uvc/uvc_status.c
-index c1e4ae2..b20d0b9 100644
+index c705f24..21d8712 100644
--- a/drivers/media/video/uvc/uvc_status.c
+++ b/drivers/media/video/uvc/uvc_status.c
@@ -24,26 +24,19 @@
@@ -57610,7 +57699,7 @@
+ usb_to_input_id(dev->udev, &input->id);
input->dev.parent = &dev->intf->dev;
- set_bit(EV_KEY, input->evbit);
+ __set_bit(EV_KEY, input->evbit);
@@ -57,7 +50,6 @@ static int uvc_input_init(struct uvc_device *dev)
error:
@@ -60419,7 +60508,7 @@
/*****************************************************************************/
diff --git a/drivers/media/video/zoran/Kconfig b/drivers/media/video/zoran/Kconfig
-index 4ea5fa7..925fb51 100644
+index 8666e19..fd4120e 100644
--- a/drivers/media/video/zoran/Kconfig
+++ b/drivers/media/video/zoran/Kconfig
@@ -1,6 +1,6 @@
@@ -60455,8 +60544,8 @@
- depends on VIDEO_ZORAN_ZR36060 && EXPERIMENTAL && VIDEO_V4L1
+ depends on VIDEO_ZORAN_ZR36060 && EXPERIMENTAL
select VIDEO_BT856 if VIDEO_HELPER_CHIPS_AUTO
+ select VIDEO_BT866 if VIDEO_HELPER_CHIPS_AUTO
select VIDEO_KS0127 if VIDEO_HELPER_CHIPS_AUTO
- help
diff --git a/drivers/media/video/zoran/videocodec.h b/drivers/media/video/zoran/videocodec.h
index 97a3bbe..5c27b25 100644
--- a/drivers/media/video/zoran/videocodec.h
@@ -66443,10 +66532,10 @@
};
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
-index b97cdc5..e6bfd4d 100644
+index 106c3ba..d97133d 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
-@@ -157,7 +157,6 @@ header-y += un.h
+@@ -158,7 +158,6 @@ header-y += un.h
header-y += utime.h
header-y += veth.h
header-y += video_decoder.h
- Previous message (by thread): rpms/anaconda/devel .cvsignore, 1.615, 1.616 anaconda.spec, 1.762, 1.763 sources, 1.749, 1.750 anaconda-11.5.0.23-efi-cds.patch, 1.1, NONE late.patch, 1.1, NONE
- Next message (by thread): rpms/gnucash/F-10 .cvsignore, 1.36, 1.37 gnucash.spec, 1.94, 1.95 sources, 1.38, 1.39
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list