rpms/em8300-kmod/devel em8300-adv7170-wss.patch, NONE, 1.1 em8300-kmod-2617.patch, NONE, 1.1 em8300-kmod.spec, NONE, 1.1 kmodtool, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Ville Skytta (scop)
fedora-extras-commits at redhat.com
Sat Jul 22 20:16:26 UTC 2006
Author: scop
Update of /cvs/extras/rpms/em8300-kmod/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19818/devel
Modified Files:
.cvsignore sources
Added Files:
em8300-adv7170-wss.patch em8300-kmod-2617.patch
em8300-kmod.spec kmodtool
Log Message:
auto-import em8300-kmod-0.15.3-6.2.6.17_1.2145_FC5 on branch devel from em8300-kmod-0.15.3-6.2.6.17_1.2145_FC5.src.rpm
Initial import (#189400).
em8300-adv7170-wss.patch:
--- NEW FILE em8300-adv7170-wss.patch ---
http://sourceforge.net/mailarchive/forum.php?thread_id=6061108&forum_id=7173
Updated to apply as of 0.15.3+cvs20060626.
Index: em8300setup/em8300setup.c
===================================================================
RCS file: /cvsroot/dxr3/em8300/em8300setup/em8300setup.c,v
retrieving revision 1.5
diff -u -r1.5 em8300setup.c
--- em8300setup/em8300setup.c 19 Oct 2005 22:15:16 -0000 1.5
+++ em8300setup/em8300setup.c 26 Jun 2006 13:44:47 -0000
@@ -114,7 +114,7 @@
char ucode_file[200]; // bad hardcoded value ;-)
/* Vars to hold desired setings - init to -1 so we can see which were requested to be set explicitly by the user and which should be left alone */
- int tvmode=-1, aspect=-1, audio=-1, spu=-1, upload=0, display_only=0;
+ int tvmode=-1, aspect=-1, audio=-1, spu=-1, upload=0, display_only=0, wssmode=-1;
char * devs[] = {"/dev/em8300-0","/dev/em8300-1","/dev/em8300-2","/dev/em8300-3"};
@@ -177,12 +177,45 @@
upload=1;
printf("Using microcode file %s\n",ucode_file);
break;
+ case 'z':
+ switch (opt[2]) {
+ case '0':
+ wssmode = EM8300_WSS_OFF;
+ break;
+ case '1':
+ wssmode = EM8300_WSS_4_3;
+ break;
+ case '2':
+ wssmode = EM8300_WSS_14_9;
+ if (opt[3]=='l') wssmode = EM8300_WSS_14_9_LETTERBOX;
+ if (opt[3]=='t') wssmode = EM8300_WSS_14_9_LETTERBOX_TOP;
+ break;
+ case '3':
+ wssmode = EM8300_WSS_16_9;
+ if (opt[3]=='l') wssmode = EM8300_WSS_16_9_LETTERBOX;
+ if (opt[3]=='t') wssmode = EM8300_WSS_16_9_LETTERBOX_TOP;
+ if (opt[3]=='p') wssmode = EM8300_WSS_16P_9_LETTERBOX;
+ break;
+ default:
+ printf("Unknown option -z%c\n\n",opt[2]);;
+ exit(1);
+ }
+ break;
default:
printf("Unknown option -%c \n\n",opt[1]);
printf("Usage: em8300setup [-q]|[all other options]\n\nWhere options are one of the following (latter options will override previously\nspecified options for the same control):\n\n");
printf(" -p, -p6, -n\tSet display mode to pal, pal60, ntsc\n");
printf(" -a, -d, -3\tSet audio mode to analog, digitalpcm, digital ac3\n");
printf(" -o, -w\tSet aspect ratio to normal[4:3], widescreen[16:9]\n");
+ printf(" -z0\t\tSet WSS to disabled\n");
+ printf(" -z1\t\tSet WSS to 4:3\n");
+ printf(" -z2\t\tSet WSS to 14:9\n");
+ printf(" -z2l\t\tSet WSS to 14:9 letterbox\n");
+ printf(" -z2t\t\tSet WSS to 14:9 letterbox top\n");
+ printf(" -z3\t\tSet WSS to 16:9\n");
+ printf(" -z3l\t\tSet WSS to 16:9 letterbox\n");
+ printf(" -z3t\t\tSet WSS to 16:9 letterbox top\n");
+ printf(" -z3p\t\tSet WSS to >16:9 letterbox\n");
printf(" -S, -s\tSet spu mode On(S), Off(s)\n");
printf(" -f <filename>\tSpecify alternate location of microcode\n\t\t(Defaults to " FIRMWARE_DIR "/em8300.bin)\n");
printf(" -q\t\tQuery the current settings for all of the above and\n\t\texit without making any changes\n");
@@ -272,6 +305,12 @@
if(ioctl(DEV, EM8300_IOCTL_SET_ASPECTRATIO, &aspect) == -1)
check_errno("Unable to set aspect ratio");
}
+ if(wssmode!=-1) {
+ printf("Setting WSS = %i\n",wssmode);
+ if(ioctl(DEV, EM8300_IOCTL_SET_WSS, &wssmode) == -1)
+ check_errno("Unable to set wss");
+ }
+
if(audio!=-1) {
printf("Setting audio = %i\n",audio);
if(ioctl(DEV, EM8300_IOCTL_SET_AUDIOMODE, &audio) == -1)
Index: include/linux/em8300.h
===================================================================
RCS file: /cvsroot/dxr3/em8300/include/linux/em8300.h,v
retrieving revision 1.41
diff -u -r1.41 em8300.h
--- include/linux/em8300.h 10 Apr 2006 22:31:14 -0000 1.41
+++ include/linux/em8300.h 26 Jun 2006 13:44:48 -0000
@@ -80,6 +80,7 @@
#define EM8300_IOCTL_SCR_SETSPEED _IOW('C',17,unsigned)
#define EM8300_IOCTL_FLUSH _IOW('C',18,int)
#define EM8300_IOCTL_VBI _IOW('C',19,struct timeval)
+#define EM8300_IOCTL_SET_WSS _IOW('C',20,int)
#define EM8300_OVERLAY_SIGNAL_ONLY 1
#define EM8300_OVERLAY_SIGNAL_WITH_VGA 2
@@ -97,6 +98,16 @@
#define EM8300_ASPECTRATIO_16_9 1
#define EM8300_ASPECTRATIO_LAST 1
+#define EM8300_WSS_OFF 0
+#define EM8300_WSS_4_3 8
+#define EM8300_WSS_14_9_LETTERBOX 1
+#define EM8300_WSS_14_9_LETTERBOX_TOP 2
+#define EM8300_WSS_16_9_LETTERBOX 11
+#define EM8300_WSS_16_9_LETTERBOX_TOP 4
+#define EM8300_WSS_16P_9_LETTERBOX 13
+#define EM8300_WSS_14_9 14
+#define EM8300_WSS_16_9 7
+
#define EM8300_VIDEOMODE_PAL 0
#define EM8300_VIDEOMODE_PAL60 1
#define EM8300_VIDEOMODE_NTSC 2
@@ -467,6 +478,7 @@
int em8300_control_ioctl(struct em8300_s *em, int cmd, unsigned long arg);
int em8300_ioctl_setvideomode(struct em8300_s *em, int mode);
int em8300_ioctl_setaspectratio(struct em8300_s *em, int ratio);
+int em8300_ioctl_setwss(struct em8300_s *em, int wsscode);
int em8300_ioctl_getstatus(struct em8300_s *em, char *usermsg);
int em8300_ioctl_init(struct em8300_s *em, em8300_microcode_t *useruc);
void em8300_ioctl_enable_videoout(struct em8300_s *em, int mode);
Index: modules/adv717x.c
===================================================================
RCS file: /cvsroot/dxr3/em8300/modules/adv717x.c,v
retrieving revision 1.53
diff -u -r1.53 adv717x.c
--- modules/adv717x.c 12 May 2006 22:04:56 -0000 1.53
+++ modules/adv717x.c 26 Jun 2006 13:44:48 -0000
@@ -219,6 +219,7 @@
int pp_ntsc;
int pd_adj_pal;
int pd_adj_ntsc;
+ int wsscode;
unsigned char config[32];
int configlen;
@@ -431,6 +432,63 @@
/* ADV7170/1 RGB sync: MR42 (register 4, bit 2) */
SET_REG(tmpconfig[ADV7170_REG_MR4], 2,
mode_info[data->out_mode].conf.sync_all);
+
+ switch (data->wsscode) {
+ case 0x08:
+ /* 4:3 full */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x08;
+ break;
+ case 0x01:
+ /* 14:9 letterbox center */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x01;
+ break;
+ case 0x02:
+ /* 14:9 letterbox top */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x02;
+ break;
+ case 0x0b:
+ /* 16:9 letterbox center */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x0b;
+ break;
+ case 0x04:
+ /* 16:9 letterbox top */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x04;
+ break;
+ case 0x0d:
+ /* >16:9 letterbox center */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x0d;
+ break;
+ case 0x0e:
+ /* 14:9 full */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x0e;
+ break;
+ case 0x07:
+ /* 16:9 full */
+ tmpconfig[22] = 0x80;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x07;
+ break;
+ default:
+ tmpconfig[22] = 0x00;
+ tmpconfig[23] = 0x00;
+ tmpconfig[24] = 0x00;
+ break;
+ }
+
break;
}
/* ADV7170/1/5A/6A non-interlace: MR10 (register 1, bit 0) */
@@ -592,6 +650,7 @@
data->out_mode = output_mode_nr[em->card_nr];
if (data->out_mode < 0 || data->out_mode >= MODE_MAX)
data->out_mode = 0;
+ data->wsscode = 0;
adv717x_setmode(ENCODER_MODE_PAL60, client);
@@ -697,6 +756,42 @@
data->enableoutput = (long int) arg;
adv717x_update(client);
break;
+ case ENCODER_CMD_WSS_4_3:
+ data->wsscode = 8;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_14_9_LETTERBOX:
+ data->wsscode = 1;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_14_9_LETTERBOX_TOP:
+ data->wsscode = 2;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_16_9_LETTERBOX:
+ data->wsscode = 11;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_16_9_LETTERBOX_TOP:
+ data->wsscode = 4;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_16P_9_LETTERBOX:
+ data->wsscode = 13;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_14_9:
+ data->wsscode = 14;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_16_9:
+ data->wsscode = 7;
+ adv717x_update(client);
+ break;
+ case ENCODER_CMD_WSS_OFF:
+ data->wsscode = 0;
+ adv717x_update(client);
+ break;
default:
return -EINVAL;
break;
Index: modules/em8300_ioctl.c
===================================================================
RCS file: /cvsroot/dxr3/em8300/modules/em8300_ioctl.c,v
retrieving revision 1.50
diff -u -r1.50 em8300_ioctl.c
--- modules/em8300_ioctl.c 10 Apr 2006 22:31:14 -0000 1.50
+++ modules/em8300_ioctl.c 26 Jun 2006 13:44:48 -0000
@@ -203,4 +203,17 @@
return -EFAULT;
}
break;
+ case _IOC_NR(EM8300_IOCTL_SET_WSS):
+ em8300_require_ucode(em);
+
+ if (!em->ucodeloaded) {
+ return -ENOTTY;
+ }
+
+ if (_IOC_DIR(cmd) & _IOC_WRITE) {
+ get_user(val, (int *) arg);
+ em8300_ioctl_setwss(em, val);
+ }
+
+ break;
@@ -604,6 +619,52 @@
return 0;
}
+int em8300_ioctl_setwss(struct em8300_s *em, int wsscode)
+{
+ int wsscmd;
+
+ switch (wsscode) {
+ case EM8300_WSS_OFF:
+ wsscmd = ENCODER_CMD_WSS_OFF;
+ break;
+ case EM8300_WSS_4_3:
+ wsscmd = ENCODER_CMD_WSS_4_3;
+ break;
+ case EM8300_WSS_14_9_LETTERBOX:
+ wsscmd = ENCODER_CMD_WSS_14_9_LETTERBOX;
+ break;
+ case EM8300_WSS_14_9_LETTERBOX_TOP:
+ wsscmd = ENCODER_CMD_WSS_14_9_LETTERBOX_TOP;
+ break;
+ case EM8300_WSS_16_9_LETTERBOX:
+ wsscmd = ENCODER_CMD_WSS_16_9_LETTERBOX;
+ break;
+ case EM8300_WSS_16_9_LETTERBOX_TOP:
+ wsscmd = ENCODER_CMD_WSS_16_9_LETTERBOX_TOP;
+ break;
+ case EM8300_WSS_16P_9_LETTERBOX:
+ wsscmd = ENCODER_CMD_WSS_16P_9_LETTERBOX;
+ break;
+ case EM8300_WSS_14_9:
+ wsscmd = ENCODER_CMD_WSS_14_9;
+ break;
+ case EM8300_WSS_16_9:
+ wsscmd = ENCODER_CMD_WSS_16_9;
+ break;
+ default:
+ return -1;
+ }
+
+ em8300_dicom_disable(em);
+ if (em->encoder) {
+ em->encoder->driver->command(em->encoder, wsscmd, (void *) 0 );
+ }
+
+ em8300_dicom_enable(em);
+ em8300_dicom_update(em);
+ return 0;
+}
+
int em8300_ioctl_setplaymode(struct em8300_s *em, int mode)
{
switch (mode) {
Index: modules/encoder.h
===================================================================
RCS file: /cvsroot/dxr3/em8300/modules/encoder.h,v
retrieving revision 1.8
diff -u -r1.8 encoder.h
--- modules/encoder.h 14 Jan 2002 21:41:31 -0000 1.8
+++ modules/encoder.h 26 Jun 2006 13:44:48 -0000
@@ -13,6 +13,15 @@
#define ENCODER_CMD_SETMODE 1
#define ENCODER_CMD_ENABLEOUTPUT 2
+#define ENCODER_CMD_WSS_4_3 3
+#define ENCODER_CMD_WSS_14_9_LETTERBOX 4
+#define ENCODER_CMD_WSS_14_9_LETTERBOX_TOP 5
+#define ENCODER_CMD_WSS_16_9_LETTERBOX 6
+#define ENCODER_CMD_WSS_16_9_LETTERBOX_TOP 7
+#define ENCODER_CMD_WSS_16P_9_LETTERBOX 8
+#define ENCODER_CMD_WSS_14_9 9
+#define ENCODER_CMD_WSS_16_9 10
+#define ENCODER_CMD_WSS_OFF 11
#endif
Index: em8300setup/em8300setup.1
===================================================================
RCS file: /cvsroot/dxr3/em8300/em8300setup/em8300setup.1,v
retrieving revision 1.3
diff -u -r1.3 em8300setup.1
--- em8300setup/em8300setup.1 19 Oct 2005 22:15:16 -0000 1.3
+++ em8300setup/em8300setup.1 26 Jun 2006 13:44:47 -0000
@@ -26,6 +26,33 @@
\fB-o\fR, \fB-w\fR
Set aspect ratio to respectively normal (4:3) or wide-screen (16:9).
.TP
+\fB-z0\fR
+Set WSS to disabled.
+.TP
+\fB-z1\fR
+Set WSS to 4:3.
+.TP
+\fB-z2\fR
+Set WSS to 14:9.
+.TP
+\fB-z2l\fR
+Set WSS to 14:9 letterbox.
+.TP
+\fB-z2t\fR
+Set WSS to 14:9 letterbox top.
+.TP
+\fB-z3\fR
+Set WSS to 16:9.
+.TP
+\fB-z3l\fR
+Set WSS to 16:9 letterbox.
+.TP
+\fB-z3t\fR
+Set WSS to 16:9 letterbox top.
+.TP
+\fB-z3p\fR
+Set WSS to >16:9 letterbox.
+.TP
\fB-S\fR, \fB-s\fR
Set sub-pictures respectively on or off.
.TP
em8300-kmod-2617.patch:
--- NEW FILE em8300-kmod-2617.patch ---
---------------------
PatchSet 500
Date: 2006/05/13 01:04:56
Author: nboullis
Branch: HEAD
Tag: (none)
Log:
Convert the module arguments declarations from the old MODULE_PARM
interface to the (not so) new module_param one. The old interface should
not be supported anymore with 2.6.17 kernels.
Members:
ChangeLog:1.267->1.268
modules/adv717x.c:1.52->1.53
modules/bt865.c:1.42->1.43
modules/em8300_main.c:1.113->1.114
modules/encoder_output_mode.h:INITIAL->1.1
Index: em8300/ChangeLog
diff -u em8300/ChangeLog:1.267 em8300/ChangeLog:1.268
--- em8300/ChangeLog:1.267 Mon Apr 24 10:27:55 2006
+++ em8300/ChangeLog Fri May 12 15:04:56 2006
@@ -1,0 +1,9 @@
+2006-05-12 Nicolas Boullis <nboullis at debian.org>
+ * modules/adv717x.c,
+ modules/bt865.c,
+ modules/em8300_main.c,
+ modules/encoder_output_mode.h:
+ Convert the module arguments declarations from the old MODULE_PARM
+ interface to the (not so) new module_param one. The old interface
+ should not be supported anymore with 2.6.17 kernels.
+
Index: em8300/modules/adv717x.c
diff -u em8300/modules/adv717x.c:1.52 em8300/modules/adv717x.c:1.53
--- em8300/modules/adv717x.c:1.52 Tue Apr 4 15:30:32 2006
+++ em8300/modules/adv717x.c Fri May 12 15:04:56 2006
@@ -18,7 +18,11 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <linux/config.h>
+#include <linux/version.h>
#include <linux/module.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+#include <linux/moduleparam.h>
+#endif
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/errno.h>
@@ -36,7 +40,6 @@
#include <linux/types.h>
#include <linux/videodev.h>
-#include <linux/version.h>
#include <asm/uaccess.h>
#include <linux/i2c.h>
@@ -63,7 +66,11 @@
#else
int pixelport_16bit[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(pixelport_16bit, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(pixelport_16bit, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(pixelport_16bit, "Changes how the ADV717x expects its input data to be formatted. If the colours on the TV appear green, try changing this. Defaults to 1.");
#ifdef CONFIG_ADV717X_PIXELPORTPAL
@@ -71,25 +78,71 @@
#else
int pixelport_other_pal[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(pixelport_other_pal, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(pixelport_other_pal, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(pixelport_other_pal, "If this is set to 1, then the pixelport setting is swapped for PAL from the setting given with pixelport_16bit. Defaults to 1.");
int pixeldata_adjust_ntsc[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 1 };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(pixeldata_adjust_ntsc, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(pixeldata_adjust_ntsc, int, NULL, 0444);
+#endif
MODULE_PARM_DESC(pixeldata_adjust_ntsc, "If your red and blue colours are swapped in NTSC, try setting this to 0,1,2 or 3. Defaults to 1.");
int pixeldata_adjust_pal[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 1 };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(pixeldata_adjust_pal, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(pixeldata_adjust_pal, int, NULL, 0444);
+#endif
MODULE_PARM_DESC(pixeldata_adjust_pal, "If your red and blue colours are swapped in PAL, try setting this to 0,1,2 or 3. Defaults to 1.");
-
static int color_bars[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(color_bars, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(color_bars, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(color_bars, "If you set this to 1 a set of color bars will be displayed on your screen (used for testing if the chip is working). Defaults to 0.");
-static int output_mode_nr[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
+typedef enum {
+ MODE_COMPOSITE_SVIDEO,
+ MODE_SVIDEO,
+ MODE_COMPOSITE,
+ MODE_COMPOSITE_PSEUDO_SVIDEO,
+ MODE_PSEUDO_SVIDEO,
+ MODE_COMPOSITE_OVER_SVIDEO,
+ MODE_YUV,
+ MODE_RGB,
+ MODE_RGB_NOSYNC,
+ MODE_MAX
+} output_mode_t;
+
+struct output_conf_s {
+ int component;
+ int yuv;
+ int euroscart;
+ int progressive;
+ int sync_all;
+ int dacA;
+ int dacB;
+ int dacC;
+ int dacD;
+};
+
+#include "encoder_output_mode.h"
+
+static output_mode_t output_mode_nr[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = MODE_COMPOSITE_SVIDEO };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
static char *output_mode[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = NULL };
MODULE_PARM(output_mode, "1-" __MODULE_STRING(EM8300_MAX) "s");
+#else
+module_param_array_named(output_mode, output_mode_nr, output_mode_t, NULL, 0444);
+#endif
MODULE_PARM_DESC(output_mode, "Specifies the output mode to use for the ADV717x video encoder. See the README-modoptions file for the list of mode names to use. Default is SVideo + composite (\"comp+svideo\").");
@@ -141,42 +194,16 @@
int adv717x_detach_client(struct i2c_client *client);
int adv717x_command(struct i2c_client *client, unsigned int cmd, void *arg);
-typedef enum {
- MODE_COMPOSITE_SVIDEO,
- MODE_SVIDEO,
- MODE_COMPOSITE,
- MODE_COMPOSITE_PSEUDO_SVIDEO,
- MODE_PSEUDO_SVIDEO,
- MODE_COMPOSITE_OVER_SVIDEO,
- MODE_YUV,
- MODE_RGB,
- MODE_RGB_NOSYNC,
- MODE_MAX
-} OutputModes;
-
-typedef struct {
- char const * name;
- int component;
- int yuv;
- int euroscart;
- int progressive;
- int sync_all;
- int dacA;
- int dacB;
- int dacC;
- int dacD;
-} OutputModeInfo;
-
-OutputModeInfo ModeInfo[] = {
- [ MODE_COMPOSITE_SVIDEO ] = { "comp+svideo" , 0, 0, 0, 0, 0, 1, 0, 0, 0 },
- [ MODE_SVIDEO ] = { "svideo" , 0, 0, 0, 0, 0, 1, 1, 0, 0 },
- [ MODE_COMPOSITE ] = { "comp" , 0, 0, 0, 0, 0, 1, 0, 1, 1 },
- [ MODE_COMPOSITE_PSEUDO_SVIDEO ] = { "comp+psvideo", 0, 0, 1, 0, 0, 1, 0, 0, 0 },
- [ MODE_PSEUDO_SVIDEO ] = { "psvideo" , 0, 0, 1, 0, 0, 1, 1, 0, 0 },
- [ MODE_COMPOSITE_OVER_SVIDEO ] = { "composvideo" , 0, 0, 1, 0, 0, 1, 1, 1, 0 },
- [ MODE_YUV ] = { "yuv" , 1, 1, 0, 0, 0, 1, 0, 0, 0 },
- [ MODE_RGB ] = { "rgbs" , 1, 0, 0, 0, 1, 0, 0, 0, 0 },
- [ MODE_RGB_NOSYNC ] = { "rgb" , 1, 0, 0, 0, 0, 0, 0, 0, 0 },
+static const mode_info_t mode_info[] = {
+ [ MODE_COMPOSITE_SVIDEO ] = { "comp+svideo" , { 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+ [ MODE_SVIDEO ] = { "svideo" , { 0, 0, 0, 0, 0, 1, 1, 0, 0 } },
+ [ MODE_COMPOSITE ] = { "comp" , { 0, 0, 0, 0, 0, 1, 0, 1, 1 } },
+ [ MODE_COMPOSITE_PSEUDO_SVIDEO ] = { "comp+psvideo", { 0, 0, 1, 0, 0, 1, 0, 0, 0 } },
+ [ MODE_PSEUDO_SVIDEO ] = { "psvideo" , { 0, 0, 1, 0, 0, 1, 1, 0, 0 } },
+ [ MODE_COMPOSITE_OVER_SVIDEO ] = { "composvideo" , { 0, 0, 1, 0, 0, 1, 1, 1, 0 } },
+ [ MODE_YUV ] = { "yuv" , { 1, 1, 0, 0, 0, 1, 0, 0, 0 } },
+ [ MODE_RGB ] = { "rgbs" , { 1, 0, 0, 0, 1, 0, 0, 0, 0 } },
+ [ MODE_RGB_NOSYNC ] = { "rgb" , { 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
};
#define CHIP_ADV7175A 1
@@ -187,7 +214,7 @@
int mode;
int bars;
int enableoutput;
- OutputModes out_mode;
+ output_mode_t out_mode;
int pp_pal;
int pp_ntsc;
int pd_adj_pal;
@@ -380,43 +407,43 @@
case CHIP_ADV7175A:
/* ADV7175/6A component out: MR06 (register 0, bit 6) */
SET_REG(tmpconfig[ADV717X_REG_MR0], 6,
- ModeInfo[data->out_mode].component);
+ mode_info[data->out_mode].conf.component);
/* ADV7175/6A YUV out: MR26 (register 13, bit 6) */
SET_REG(tmpconfig[ADV7175_REG_MR2], 6,
- ModeInfo[data->out_mode].yuv);
+ mode_info[data->out_mode].conf.yuv);
/* ADV7175/6A EuroSCART: MR37 (register 18, bit 7) */
SET_REG(tmpconfig[ADV7175_REG_MR3], 7,
- ModeInfo[data->out_mode].euroscart);
+ mode_info[data->out_mode].conf.euroscart);
/* ADV7175/6A RGB sync: MR05 (register 0, bit 5) */
SET_REG(tmpconfig[ADV717X_REG_MR0], 5,
- ModeInfo[data->out_mode].sync_all);
+ mode_info[data->out_mode].conf.sync_all);
break;
case CHIP_ADV7170:
/* ADV7170/1 component out: MR40 (register 4, bit 0) */
SET_REG(tmpconfig[ADV7170_REG_MR4], 0,
- ModeInfo[data->out_mode].component);
+ mode_info[data->out_mode].conf.component);
/* ADV7170/1 YUV out: MR41 (register 4, bit 1) */
SET_REG(tmpconfig[ADV7170_REG_MR4], 1,
- ModeInfo[data->out_mode].yuv);
+ mode_info[data->out_mode].conf.yuv);
/* ADV7170/1 EuroSCART: MR33 (register 3, bit 3) */
SET_REG(tmpconfig[ADV7170_REG_MR3], 3,
- ModeInfo[data->out_mode].euroscart);
+ mode_info[data->out_mode].conf.euroscart);
/* ADV7170/1 RGB sync: MR42 (register 4, bit 2) */
SET_REG(tmpconfig[ADV7170_REG_MR4], 2,
- ModeInfo[data->out_mode].sync_all);
+ mode_info[data->out_mode].conf.sync_all);
break;
}
/* ADV7170/1/5A/6A non-interlace: MR10 (register 1, bit 0) */
SET_REG(tmpconfig[ADV717X_REG_MR1], 0,
- ModeInfo[data->out_mode].progressive);
+ mode_info[data->out_mode].conf.progressive);
/* ADV7170/1/5A/6A DAC A control: MR16 (register 1, bit 6) */
- SET_REG(tmpconfig[ADV717X_REG_MR1], 6, ModeInfo[data->out_mode].dacA);
+ SET_REG(tmpconfig[ADV717X_REG_MR1], 6, mode_info[data->out_mode].conf.dacA);
/* ADV7170/1/5A/6A DAC B control: MR15 (register 1, bit 5) */
- SET_REG(tmpconfig[ADV717X_REG_MR1], 5, ModeInfo[data->out_mode].dacB);
+ SET_REG(tmpconfig[ADV717X_REG_MR1], 5, mode_info[data->out_mode].conf.dacB);
/* ADV7170/1/5A/6A DAC C control: MR13 (register 1, bit 3) */
- SET_REG(tmpconfig[ADV717X_REG_MR1], 3, ModeInfo[data->out_mode].dacC);
+ SET_REG(tmpconfig[ADV717X_REG_MR1], 3, mode_info[data->out_mode].conf.dacC);
/* ADV7170/1/5A/6A DAC D control: MR14 (register 1, bit 4) */
- SET_REG(tmpconfig[ADV717X_REG_MR1], 4, ModeInfo[data->out_mode].dacD);
+ SET_REG(tmpconfig[ADV717X_REG_MR1], 4, mode_info[data->out_mode].conf.dacD);
if (!data->enableoutput) {
tmpconfig[ADV717X_REG_MR1] |= 0x7f;
@@ -683,18 +710,20 @@
int __init adv717x_init(void)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
int i;
for (i=0; i < EM8300_MAX; i++)
if ((output_mode[i]) && (output_mode[i][0])) {
int j;
for (j=0; j < MODE_MAX; j++)
- if (strcmp(output_mode[i], ModeInfo[j].name) == 0) {
+ if (strcmp(output_mode[i], mode_info[j].name) == 0) {
output_mode_nr[i] = j;
break;
}
if (j == MODE_MAX)
printk(KERN_WARNING "adv717x.o: Unknown output mode: %s\n", output_mode[i]);
}
+#endif /* ! CONFIG_MODULEPARAM */
//request_module("i2c-algo-bit");
return i2c_add_driver(&adv717x_driver);
}
Index: em8300/modules/bt865.c
diff -u em8300/modules/bt865.c:1.42 em8300/modules/bt865.c:1.43
--- em8300/modules/bt865.c:1.42 Tue Apr 4 15:30:32 2006
+++ em8300/modules/bt865.c Fri May 12 15:04:56 2006
@@ -22,7 +22,11 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <linux/version.h>
#include <linux/module.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+#include <linux/moduleparam.h>
+#endif
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/errno.h>
@@ -40,7 +44,6 @@
#include <linux/types.h>
#include <linux/videodev.h>
-#include <linux/version.h>
#include <asm/uaccess.h>
#include <linux/i2c.h>
@@ -60,23 +63,44 @@
EXPORT_NO_SYMBOLS;
static int color_bars[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(color_bars, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(color_bars, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(color_bars, "If you set this to 1 a set of color bars will be displayed on your screen (used for testing if the chip is working). Defaults to 0.");
-static int rgb_mode[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
-MODULE_PARM(rgb_mode, "1-" __MODULE_STRING(EM8300_MAX) "i");
-MODULE_PARM_DESC(rgb_mode, "Deprecated, use output_mode instead.");
+typedef enum {
+ MODE_COMPOSITE_SVIDEO,
+ MODE_RGB,
+ MODE_MAX
+} output_mode_t;
+
+struct output_conf_s {
+};
+
+#include "encoder_output_mode.h"
+
+static output_mode_t output_mode_nr[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = MODE_COMPOSITE_SVIDEO };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
static char *output_mode[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = NULL };
MODULE_PARM(output_mode, "1-" __MODULE_STRING(EM8300_MAX) "s");
+#else
+module_param_array_named(output_mode, output_mode_nr, output_mode_t, NULL, 0444);
+#endif
MODULE_PARM_DESC(output_mode, "Specifies the output mode to use for the BT865 video encoder. See the README-modoptions file for the list of mode names to use. Default is SVideo + composite (\"comp+svideo\").");
-
static int bt865_attach_adapter(struct i2c_adapter *adapter);
int bt865_detach_client(struct i2c_client *client);
int bt865_command(struct i2c_client *client, unsigned int cmd, void *arg);
static int bt865_setup(struct i2c_client *client);
+static const mode_info_t mode_info[] = {
+ [ MODE_COMPOSITE_SVIDEO ] = { "comp+svideo" , { } },
+ [ MODE_RGB ] = { "rgb" , { } },
+};
+
struct bt865_data_s {
int chiptype;
int mode;
@@ -853,7 +877,7 @@
}
data->bars = color_bars[em->card_nr];
- data->rgbmode = rgb_mode[em->card_nr];
+ data->rgbmode = output_mode_nr[em->card_nr] == MODE_RGB;
data->enableoutput = 0;
if (EM8300_VIDEOMODE_DEFAULT == EM8300_VIDEOMODE_PAL) {
@@ -980,17 +1004,20 @@
int __init bt865_init(void)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
int i;
for (i=0; i < EM8300_MAX; i++)
if ((output_mode[i]) && (output_mode[i][0])) {
- if (strcmp(output_mode[i], "comp+svideo") == 0) {
- rgb_mode[i] = 0;
- } else if (strcmp(output_mode[i], "rgb") == 0) {
- rgb_mode[i] = 1;
- } else {
+ int j;
+ for (j=0; j < MODE_MAX; j++)
+ if (strcmp(output_mode[i], mode_info[j].name) == 0) {
+ output_mode_nr[i] = j;
+ break;
+ }
+ if (j == MODE_MAX)
printk(KERN_WARNING "bt865: Unknown output mode: %s\n", output_mode[i]);
- }
}
+#endif /* ! CONFIG_MODULEPARAM */
//request_module("i2c-algo-bit");
return i2c_add_driver(&bt865_driver);
}
Index: em8300/modules/em8300_main.c
diff -u em8300/modules/em8300_main.c:1.113 em8300/modules/em8300_main.c:1.114
--- em8300/modules/em8300_main.c:1.113 Mon Apr 10 15:31:14 2006
+++ em8300/modules/em8300_main.c Fri May 12 15:04:56 2006
@@ -20,6 +20,9 @@
#include <linux/config.h>
#include <linux/version.h>
#include <linux/module.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+#include <linux/moduleparam.h>
+#endif
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/errno.h>
@@ -78,8 +81,12 @@
EXPORT_NO_SYMBOLS;
-static unsigned int use_bt865[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
+static int use_bt865[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(use_bt865, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(use_bt865, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(use_bt865, "Set this to 1 if you have a bt865. It changes some internal register values. Defaults to 0.");
/*
@@ -90,7 +97,11 @@
#else
int dicom_other_pal[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(dicom_other_pal, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(dicom_other_pal, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(dicom_other_pal, "If this is set, then some internal register values are swapped for PAL and NTSC. Defaults to 1.");
#ifdef CONFIG_EM8300_DICOMFIX
@@ -98,7 +109,11 @@
#else
int dicom_fix[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(dicom_fix, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(dicom_fix, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(dicom_fix, "If this is set then some internal register values are changed. Fixes green screen problems for some. Defaults to 1.");
#ifdef CONFIG_EM8300_DICOMCTRL
@@ -106,7 +121,11 @@
#else
int dicom_control[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(dicom_control, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(dicom_control, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(dicom_control, "If this is set then some internal register values are changed. Fixes green screen problems for some. Defaults to 1.");
#ifdef CONFIG_EM8300_UCODETIMEOUT
@@ -114,7 +133,11 @@
#else
int bt865_ucode_timeout[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(bt865_ucode_timeout, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(bt865_ucode_timeout, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(bt865_ucode_timeout, "Set this to 1 if you have a bt865 and get timeouts when uploading the microcode. Defaults to 0.");
#ifdef CONFIG_EM8300_LOOPBACK
@@ -122,11 +145,19 @@
#else
int activate_loopback[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = 0 };
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(activate_loopback, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(activate_loopback, bool, NULL, 0444);
+#endif
MODULE_PARM_DESC(activate_loopback, "If you lose video after loading the modules or uploading the microcode set this to 1. Defaults to 0.");
int major = EM8300_MAJOR;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(major, "i");
+#else
+module_param(major, int, 0444);
+#endif
MODULE_PARM_DESC(major, "Major number used for the devices. "
"0 means automatically assigned. "
"Defaults to " __MODULE_STRING(EM8300_MAJOR) ".");
@@ -137,7 +168,11 @@
#ifdef CONFIG_EM8300_AUDIO_OSS
int dsp_num[EM8300_MAX] = { [ 0 ... EM8300_MAX-1 ] = -1 };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
MODULE_PARM(dsp_num, "1-" __MODULE_STRING(EM8300_MAX) "i");
+#else
+module_param_array(dsp_num, int, NULL, 0444);
+#endif
MODULE_PARM_DESC(dsp_num, "The /dev/dsp number to assign to the card. -1 for automatic (this is the default).");
static int dsp_num_table[16];
--- /dev/null 2006-06-26 16:01:27.644585500 +0300
+++ em8300/modules/encoder_output_mode.h 2006-06-26 16:26:19.279900000 +0300
@@ -0,0 +1,28 @@
+typedef struct {
+ char const * name;
+ struct output_conf_s conf;
+} mode_info_t;
+
+static const mode_info_t mode_info[];
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+static int param_set_output_mode_t(const char *val, struct kernel_param *kp)
+{
+ if (val) {
+ int i;
+ for (i=0; i < MODE_MAX; i++)
+ if (strcmp(val, mode_info[i].name) == 0) {
+ *(output_mode_t *)kp->arg = i;
+ return 0;
+ }
+ }
+ printk(KERN_ERR "%s: output_mode parameter expected\n",
+ kp->name);
+ return -EINVAL;
+}
+
+static int param_get_output_mode_t(char *buffer, struct kernel_param *kp)
+{
+ return sprintf(buffer, "%s", mode_info[*(output_mode_t *)kp->arg].name);
+}
+#endif
--- NEW FILE em8300-kmod.spec ---
# stuff to be implemented externally:
Source10: kmodtool
%define kmodtool bash %{SOURCE10}
# end stuff to be ...
# hardcode for now:
%{!?kversion: %define kversion 2.6.17-1.2145_FC5}
%define kmod_name em8300
%define kverrel %(%{kmodtool} verrel %{?kversion} 2>/dev/null)
%define upvar ""
%ifarch i686 ppc
%define smpvar smp
%endif
%ifarch i686 x86_64
%define xenvar xen0
%define kdumpvar kdump
%endif
%{!?kvariants: %define kvariants %{?upvar} %{?smpvar} %{?xenvar} %{?kdumpvar}}
Name: %{kmod_name}-kmod
Summary: Kernel modules for DXR3/Hollywood Plus MPEG decoder cards
Version: 0.15.3
Release: 6.%(echo %{kverrel} | tr - _)
Group: System Environment/Kernel
License: GPL
URL: http://dxr3.sourceforge.net/
Source0: http://dl.sf.net/dxr3/%{kmod_name}-nofirmware-%{version}.tar.gz
Patch0: http://cachalot.mine.nu/src/dxr3/em8300-adv7170-wss.patch
Patch1: %{name}-2617.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: sed >= 3.95
ExclusiveArch: i586 i686 x86_64 ppc
%description
%{summary}.
%{expand:%(%{kmodtool} rpmtemplate %{kmod_name} %{kverrel} %{kvariants} 2>/dev/null)}
%prep
%setup -q -c
cd %{kmod_name}-%{version}
%patch1 -p1
%patch0 -p0
sed -i -e s/2,6,16/2,6,15/ modules/*.c # FC5 pre-2.6.16 marked as 2.6.15 hack
cd ..
for kvariant in %{kvariants} ; do
cp -a %{kmod_name}-%{version} _kmod_build_$kvariant
done
%build
for kvariant in %{kvariants} ; do
ks=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
cd _kmod_build_$kvariant/modules && \
make %{?_smp_mflags} V=1 KERNEL_LOCATION=$ks && \
cd ../..
done
%install
rm -rf $RPM_BUILD_ROOT
for kvariant in %{kvariants} ; do
ks=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
make -C _kmod_build_$kvariant/modules install DESTDIR=$RPM_BUILD_ROOT \
KERNEL_LOCATION=$ks MODINST=extra/%{kmod_name}
done
%clean
rm -rf $RPM_BUILD_ROOT
%changelog
* Tue Jul 11 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.3-6
- Enable PPC SMP builds (#189400).
- Use firmwareless tarball (#189400).
- Untabify specfile (#189400).
* Mon Jun 26 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.3-5
- Apply upstream patch to fix build with kernel 2.6.17, rediff WSS patch.
* Sun Jun 11 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.3-4
- Invoke kmodtool with bash instead of sh.
* Sun May 14 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.3-3
- Require version >= of em8300-kmod-common.
- Provide em8300-kmod instead of kmod-em8300 to fix upgrade woes (#970).
* Thu Apr 27 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.3-2
- Provide "kernel-modules" instead of "kernel-module" to match yum's config.
* Mon Apr 10 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.3-1
- 0.15.3.
* Sun Mar 26 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.3-0.1.rc1
- 0.15.3-rc1.
* Sat Mar 25 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.2-6.cvs20060325
- CVS snapshot from today, I2C patches no longer needed, should fix #839.
- Allow passing --define kversion and --define kvariants to the build again.
- Update kmodtool to 0.10.6.
* Sat Mar 18 2006 <fedora[AT]leemhuis.info> - 0.15.2-5
- xenU does not build and was probably a bad idea idea in any case
* Sat Mar 18 2006 <fedora[AT]leemhuis.info> - 0.15.2-4
- drop 0.lvn
- hardcode kernel and variants
- add ExclusiveArch until we have something better
* Sun Jan 29 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.2-0.lvn.4
- Adapt to FE kernel module packaging conventions.
- Add upstream patch to fix build with 2.6.16-rc1+ kernels.
* Sat Jan 21 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.2-0.lvn.3
- Don't run autoreconf in modules-only builds (#736).
* Fri Jan 13 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.2-0.lvn.2
- Split GUI utilities into -utils subpackage, build them with GTK2.
- Drop no longer needed -fPIC tweak on x86_64.
- Fix Group tag of main package.
* Thu Nov 24 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.2-0.lvn.1
- 0.15.2.
- Make the actual microcode to load a symlink; additional local microcodes
can now be installed in /lib/firmware, and /lib/firmware/em8300.bin
symlinked to the one to actually use.
* Sat Nov 19 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.2-0.lvn.0.1.rc2
- 0.15.2-rc2, most desktop entry fixups applied upstream.
- Add icon for DXR3view menu entry.
* Sat Nov 5 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.2-0.lvn.0.1.rc1
- 0.15.2-rc1, includes microcode autoload capabilities.
- Include icon for dhc, remove invalid desktop entry categories.
- Update README-modprobe.conf.
* Tue Sep 6 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.1-0.lvn.1
- 0.15.1.
* Wed Aug 31 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.1-0.lvn.0.1.rc1
- 0.15.1-rc1, drop udev patch.
* Mon Jul 25 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.5
- Drop libdxr3, nothing uses it and it'll be removed in next upstream release.
* Fri Jul 8 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.4
- Install modules into extra/em8300.
* Sat Jun 18 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.3
- Use udev rules.d snippet for device permissions.
* Sun Jun 12 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.2
- Add "--with 2612" rpmbuild option to enable building with 2.6.12-pre
kernels that report themselves as 2.6.11, such as early FC4 ones.
* Wed Jun 1 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.1
- 0.15.0.
* Sun May 29 2005 Thorsten Leemhuis <fedora at leemhuis.info> - 0.15.0-0.lvn.0.15.rc4
- Build userspace with -fPIC on x86_64 to fix build error
* Tue May 24 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.14.rc4
- 0.15.0rc4, memset patch applied upstream.
* Fri May 13 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.13.rc3
- Improve optional rpmbuild options:
--without modules: do not build the kernel modules
--without userland: do not build the userland stuff
* Fri Apr 29 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.12.rc3
- 0.15.0.rc3.
* Sun Apr 10 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.12.rc2
- 0.15.0.rc2.
- Drop unused Provides: kernel-module.
- Move video group creation from main to kernel module package(s).
* Sat Apr 2 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.12.cvs20050331
- Add FC4 kernel-devel and new kernel-module-devel compatibility.
* Thu Mar 31 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.11.cvs20050331
- Update to upstream CVS HEAD as of now, many patches applied upstream.
* Sat Mar 26 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.11.cvs20050326
- Update to upstream CVS HEAD as of now.
- Revert microcode location to upstream default (/usr/share/misc/em8300.uc).
* Tue Mar 8 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.11.cvs20050308
- Update to upstream CVS HEAD as of now.
* Sun Feb 27 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.10.cvs20050227
- Update tarball naming and modprobe.conf README, no upstream changes.
* Mon Feb 7 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.15.0-0.lvn.0.10.cvs20041117
- Use my pre-rolled/patched tarball.
- Remove unnecessary Epochs.
* Tue Jan 25 2005 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.9.cvs20041117
- URLize patches and extra sources.
* Fri Jan 7 2005 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.8.cvs20041117
- Remove "manual" device node creation, let udev handle all of it.
- Add console.perms README.
* Mon Dec 6 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.7.cvs20041117
- Apply ADV7170 WSS patch from Seppo Ingalsuo.
- Include upstream ALSA patch, but don't apply it just yet.
- Fix em8300setup usage message.
- Get rid of acconfig.h to appease newer autotools.
- Make "--with(out) kmod" conditional sections smaller in the specfile.
* Sun Dec 5 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.6.cvs20041117
- Create the video group in the correct place.
* Sun Nov 28 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.5.cvs20041117
- Adjust setup for udev.
- Create/use the video group.
- Avoid creating /usr/include/linux twice during build.
* Wed Nov 17 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.4.cvs20041117
- Update to 20041117, most patches applied upstream.
* Wed Nov 3 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.4.cvs20041101
- Update to 20041101 + upstream patches.
* Sat Oct 9 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.4.cvs20040907
- Fix module directory permissions.
* Mon Sep 13 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.3.cvs20040907
- Install modules into /lib/modules/$uname/updates/em8300.
- Add URL to tarball.
* Sat Sep 11 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.2.cvs20040907
- Reset mode of installed modules to 644.
* Tue Sep 7 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.1.cvs20040907
- Update to 0.15.0.cvs20040907.
- Disable dependency tracking to speed up the build.
* Sun Aug 29 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.1.cvs20040827
- Update to 0.15.0.cvs20040827.
* Fri Jul 30 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.lvn.0.1.cvs20040730
- Reorganize packaging, introduce libdxr3* as real subpackages.
- Add "--without kmod" rpmbuild option for skipping the kernel module build
and "--with kmod" for building only the kernel modules.
- s/fdr/lvn/ due to non open source microcode.
* Sat Jul 3 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.fdr.0.1.cvs20040702
- Update to 0.15.0.cvs20040702.
* Wed Mar 17 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.14.0-0.fdr.1
- Update to 0.14.0.
* Fri Feb 20 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.13.0-0.fdr.3.cvs20040220
- Update to CVS 20040220.
* Mon Feb 9 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.13.0-0.fdr.3.cvs20040107
- Update to kmodhelper 0.9.8.
* Sat Jan 31 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.13.0-0.fdr.2.cvs20040107
- Drop release from the dependency between the kernel module and main package.
- Update kmodhelper to 0.9.7.
- Use MAKEDEV for creating the device nodes.
- Spec file cleanups.
* Tue Jan 6 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.13.0-0.fdr.1.cvs20040107
- First build.
--- NEW FILE kmodtool ---
#!/bin/bash
# kmodtool - Helper script for building kernel module RPMs
# Copyright (c) 2003-2006 Ville Skyttä <ville.skytta at iki.fi>,
# Thorsten Leemhuis <fedora at leemhuis.info>
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
myprog="kmodtool"
myver="0.10.9"
knownvariants='\(BOOT\|\(big\|huge\)mem\|debug\|enterprise\|kdump\|smp\|uml\|xen[0U]\)'
kmod_name=
kver=
verrel=
variant=
get_verrel ()
{
verrel="$(echo "${1-$(uname -r)}" | sed 's/'${knownvariants}'$//')"
}
print_verrel ()
{
get_verrel $@ || return $?
echo "${verrel}"
}
get_variant ()
{
variant="$(echo "${1-$(uname -r)}" | sed 's/^.*'${knownvariants}'$/\1/')"
[ "${variant}" != "${1-$(uname -r)}" ] || variant='""'
}
print_variant ()
{
get_variant $@ || return $?
echo "${variant}"
}
get_rpmtemplate ()
{
local variant="${1}"
local dashvariant="${variant:+-${variant}}"
case "$verrel" in
*.EL*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;;
*) kdep="kernel-%{_target_cpu} = ${verrel}${variant}" ;;
esac
cat <<EOF
%package -n kmod-${kmod_name}${dashvariant}
Summary: ${kmod_name} kernel module(s)
Group: System Environment/Kernel
Provides: kernel-modules = ${verrel}${variant}
Provides: ${kmod_name}-kmod = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: ${kdep}
Requires: ${kmod_name}-kmod-common >= %{?epoch:%{epoch}:}%{version}
Requires(post): /sbin/depmod
Requires(postun): /sbin/depmod
BuildRequires: kernel${dashvariant}-devel-%{_target_cpu} = ${verrel}
%description -n kmod-${kmod_name}${dashvariant}
This package provides the ${kmod_name} kernel modules built for the Linux
kernel ${verrel}${variant} for the %{_target_cpu} family of processors.
%post -n kmod-${kmod_name}${dashvariant}
/sbin/depmod -aeF /boot/System.map-${verrel}${variant} ${verrel}${variant} > /dev/null || :
%postun -n kmod-${kmod_name}${dashvariant}
/sbin/depmod -aF /boot/System.map-${verrel}${variant} ${verrel}${variant} &> /dev/null || :
%files -n kmod-${kmod_name}${dashvariant}
%defattr(644,root,root,755)
/lib/modules/${verrel}${variant}/extra/${kmod_name}/
EOF
}
print_rpmtemplate ()
{
kmod_name="${1}"
shift
kver="${1}"
get_verrel "${1}"
shift
if [ -z "${kmod_name}" ] ; then
echo "Please provide the kmodule-name as first parameter." >&2
exit 2
elif [ -z "${kver}" ] ; then
echo "Please provide the kver as second parameter." >&2
exit 2
elif [ -z "${verrel}" ] ; then
echo "Couldn't find out the verrel." >&2
exit 2
fi
for variant in "$@" ; do
get_rpmtemplate "${variant}"
done
}
usage ()
{
cat <<EOF
You called: ${invocation}
Usage: ${myprog} <command> <option>+
Commands:
verrel <uname>
- Get "base" version-release.
variant <uname>
- Get variant from uname.
rpmtemplate <mainpgkname> <uname> <variants>
- Return a template for
version
- Output version number and exit.
EOF
}
invocation="$(basename ${0}) $@"
while [ "${1}" ] ; do
case "${1}" in
verrel)
shift
print_verrel $@
exit $?
;;
variant)
shift
print_variant $@
exit $?
;;
rpmtemplate)
shift
print_rpmtemplate "$@"
exit $?
;;
version)
echo "${myprog} ${myver}"
exit 0
;;
*)
echo "Error: Unknown option '${1}'." >&2
usage >&2
exit 2
;;
esac
done
# Local variables:
# mode: sh
# sh-indentation: 2
# indent-tabs-mode: nil
# End:
# ex: ts=2 sw=2 et
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/em8300-kmod/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 22 Jul 2006 20:15:37 -0000 1.1
+++ .cvsignore 22 Jul 2006 20:16:26 -0000 1.2
@@ -0,0 +1 @@
+em8300-nofirmware-0.15.3.tar.gz
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/em8300-kmod/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 22 Jul 2006 20:15:37 -0000 1.1
+++ sources 22 Jul 2006 20:16:26 -0000 1.2
@@ -0,0 +1 @@
+7e19428a267f645e7d9023f4d2c24a2c em8300-nofirmware-0.15.3.tar.gz
More information about the fedora-extras-commits
mailing list