You can subscribe to this list here.
2001 |
Jan
|
Feb
(4) |
Mar
(47) |
Apr
(27) |
May
(113) |
Jun
|
Jul
|
Aug
(1) |
Sep
(15) |
Oct
(25) |
Nov
|
Dec
(34) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(17) |
Feb
(5) |
Mar
(5) |
Apr
(2) |
May
(16) |
Jun
|
Jul
|
Aug
(15) |
Sep
(28) |
Oct
(78) |
Nov
(39) |
Dec
|
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: M. R. B. <mr...@us...> - 2002-10-29 21:39:52
|
Update of /cvsroot/linuxdc/linux-sh-dc/arch/sh/boards In directory usw-pr-cvs1:/tmp/cvs-serv26403/boards Log Message: Directory /cvsroot/linuxdc/linux-sh-dc/arch/sh/boards added to the repository |
From: M. R. B. <mr...@us...> - 2002-10-29 21:38:16
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/mouse In directory usw-pr-cvs1:/tmp/cvs-serv25716/drivers/input/mouse Added Files: Config.in Makefile Log Message: drivers/input/ changeover/update --- NEW FILE: Config.in --- # # Mouse driver configuration # bool 'Mice' CONFIG_INPUT_MOUSE dep_tristate ' PS/2 mouse' CONFIG_MOUSE_PS2 $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_SERIO dep_tristate ' Serial mouse' CONFIG_MOUSE_SERIAL $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_SERIO dep_tristate ' InPort/MS/ATIXL busmouse' CONFIG_MOUSE_INPORT $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_ISA if [ "$CONFIG_MOUSE_INPORT" != "n" ]; then bool ' ATI XL variant' CONFIG_MOUSE_ATIXL fi dep_tristate ' Logitech busmouse' CONFIG_MOUSE_LOGIBM $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_ISA dep_tristate ' IBM PC110 touchpad' CONFIG_MOUSE_PC110PAD $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_ISA if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then dep_tristate ' Maple bus mouse' CONFIG_MOUSE_MAPLE $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_MAPLE fi if [ "$CONFIG_AMIGA" = "y" ]; then dep_tristate ' Amiga mouse' CONFIG_MOUSE_AMIGA $CONFIG_INPUT $CONFIG_INPUT_MOUSE fi if [ "$CONFIG_ARCH_ACORN" = "y" ]; then dep_tristate ' Acorn RiscPC mouse' CONFIG_MOUSE_ACORN $CONFIG_INPUT $CONFIG_INPUT_MOUSE fi --- NEW FILE: Makefile --- # # Makefile for the mouse drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o obj-$(CONFIG_MOUSE_ACORN) += rpcmouse.o obj-$(CONFIG_MOUSE_INPORT) += inport.o obj-$(CONFIG_MOUSE_LOGIBM) += logibm.o obj-$(CONFIG_MOUSE_MAPLE) += maplemouse.o obj-$(CONFIG_MOUSE_PC110PAD) += pc110pad.o obj-$(CONFIG_MOUSE_PS2) += psmouse.o obj-$(CONFIG_MOUSE_SERIAL) += sermouse.o # The global Rules.make. include $(TOPDIR)/Rules.make |
From: M. R. B. <mr...@us...> - 2002-10-29 21:38:16
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv25716/drivers/input/keyboard Added Files: Config.in Makefile Log Message: drivers/input/ changeover/update --- NEW FILE: Config.in --- # # Input core configuration # bool 'Keyboards' CONFIG_INPUT_KEYBOARD dep_tristate ' AT keyboard support' CONFIG_KEYBOARD_ATKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' Sun Type 4 and Type 5 keyboard support' CONFIG_KEYBOARD_SUNKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' XT Keyboard support' CONFIG_KEYBOARD_XTKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' Newton keyboard' CONFIG_KEYBOARD_NEWTON $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then dep_tristate ' Maple bus keyboard support' CONFIG_KEYBOARD_MAPLE $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_MAPLE fi if [ "$CONFIG_AMIGA" = "y" ]; then dep_tristate ' Amiga keyboard' CONFIG_KEYBOARD_AMIGA $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD fi --- NEW FILE: Makefile --- # # Makefile for the input core drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_KEYBOARD_ATKBD) += atkbd.o obj-$(CONFIG_KEYBOARD_MAPLE) += maple_keyb.o obj-$(CONFIG_KEYBOARD_SUNKBD) += sunkbd.o obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o obj-$(CONFIG_KEYBOARD_AMIGA) += amikbd.o obj-$(CONFIG_KEYBOARD_NEWTON) += newtonkbd.o # The global Rules.make. include $(TOPDIR)/Rules.make |
From: M. R. B. <mr...@us...> - 2002-10-29 21:38:16
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv25716/drivers/char Removed Files: Makefile maple_keyb.c maple_lg.c maplemouse.c Log Message: drivers/input/ changeover/update --- Makefile DELETED --- --- maple_keyb.c DELETED --- --- maple_lg.c DELETED --- --- maplemouse.c DELETED --- |
From: M. R. B. <mr...@us...> - 2002-10-29 21:38:16
|
Update of /cvsroot/linuxdc/linux-sh-dc In directory usw-pr-cvs1:/tmp/cvs-serv25716 Modified Files: ChangeLog.dc Log Message: drivers/input/ changeover/update Index: ChangeLog.dc =================================================================== RCS file: /cvsroot/linuxdc/linux-sh-dc/ChangeLog.dc,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- ChangeLog.dc 29 Oct 2002 16:36:34 -0000 1.59 +++ ChangeLog.dc 29 Oct 2002 21:38:12 -0000 1.60 @@ -1,5 +1,16 @@ 2002-10-29 M. R. Brown <mr...@li...> + * drivers/char/Makefile: Remove. + * drivers/char/maple_keyb.c, drivers/char/maple_lg.c, + drivers/char/maplemouse.c: Move to drivers/input/ heirarchy. + + * drivers/input/joystick/Config.in, drivers/input/joystick/Makefile, + drivers/input/joystick/maplecontrol.c, + drivers/input/joystick/purupuru.c, drivers/input/keyboard/Config.in, + drivers/input/keyboard/Makefile, drivers/input/mouse/Config.in, + drivers/input/mouse/Makefile: New files. Import some from Linux-SH + 2.5.44, resurrect others from previous LinuxDC sources. + * drivers/sound/*: Move to sound/oss/. * drivers/sound/aica/*: Move to sound/oss/. |
From: M. R. B. <mr...@us...> - 2002-10-29 21:38:16
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/joystick In directory usw-pr-cvs1:/tmp/cvs-serv25716/drivers/input/joystick Added Files: Config.in Makefile maplecontrol.c purupuru.c Log Message: drivers/input/ changeover/update --- NEW FILE: Config.in --- # # Joystick driver configuration # bool 'Joysticks' CONFIG_INPUT_JOYSTICK dep_tristate ' Classic PC analog joysticks and gamepads' CONFIG_JOYSTICK_ANALOG $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Assasin 3D and MadCatz Panther devices' CONFIG_JOYSTICK_A3D $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Logitech ADI digital joysticks and gamepads' CONFIG_JOYSTICK_ADI $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Creative Labs Blaster Cobra gamepad' CONFIG_JOYSTICK_COBRA $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Genius Flight2000 Digital joysticks and gamepads' CONFIG_JOYSTICK_GF2K $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Gravis GrIP joysticks and gamepads' CONFIG_JOYSTICK_GRIP $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Gravis GrIP MultiPort' CONFIG_JOYSTICK_GRIP_MP $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Guillemot joysticks and gamepads' CONFIG_JOYSTICK_GUILLEMOT $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' InterAct digital joysticks and gamepads' CONFIG_JOYSTICK_INTERACT $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Microsoft SideWinder digital joysticks and gamepads' CONFIG_JOYSTICK_SIDEWINDER $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' ThrustMaster DirectConnect joysticks and gamepads' CONFIG_JOYSTICK_TMDC $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT source drivers/input/joystick/iforce/Config.in dep_tristate ' Logitech WingMan Warrior joystick' CONFIG_JOYSTICK_WARRIOR $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' LogiCad3d Magellan/SpaceMouse 6dof controllers' CONFIG_JOYSTICK_MAGELLAN $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' SpaceTec SpaceOrb/Avenger 6dof controllers' CONFIG_JOYSTICK_SPACEORB $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' SpaceTec SpaceBall 6dof controllers' CONFIG_JOYSTICK_SPACEBALL $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' Gravis Stinger gamepad' CONFIG_JOYSTICK_STINGER $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' Twiddler as a joystick' CONFIG_JOYSTICK_TWIDDLER $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' Multisystem, Sega Genesis, Saturn joysticks and gamepads' CONFIG_JOYSTICK_DB9 $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_PARPORT dep_tristate ' Multisystem, NES, SNES, N64, PSX joysticks and gamepads' CONFIG_JOYSTICK_GAMECON $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_PARPORT dep_tristate ' Multisystem joysticks via TurboGraFX device' CONFIG_JOYSTICK_TURBOGRAFX $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_PARPORT if [ "$CONFIG_AMIGA" = "y" ]; then dep_tristate ' Amiga joysticks' CONFIG_JOYSTICK_AMIGA $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK fi if [ "$CONFIG_MAPLE" != "n" ]; then dep_tristate ' Dreamcast Maple Bus controllers' CONFIG_JOYSTICK_MAPLE_CONTROL $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK dep_tristate ' Dreamcast Maple Bug lightguns' CONFIG_JOYSTICK_MAPLE_GUN $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK fi dep_tristate ' Gameport data dumper' CONFIG_INPUT_JOYDUMP $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK --- NEW FILE: Makefile --- # # Makefile for the input core drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_JOYSTICK_A3D) += a3d.o obj-$(CONFIG_JOYSTICK_ADI) += adi.o obj-$(CONFIG_JOYSTICK_AMIGA) += amijoy.o obj-$(CONFIG_JOYSTICK_ANALOG) += analog.o obj-$(CONFIG_JOYSTICK_COBRA) += cobra.o obj-$(CONFIG_JOYSTICK_DB9) += db9.o obj-$(CONFIG_JOYSTICK_GAMECON) += gamecon.o obj-$(CONFIG_JOYSTICK_GF2K) += gf2k.o obj-$(CONFIG_JOYSTICK_GRIP) += grip.o obj-$(CONFIG_JOYSTICK_GRIP_MP) += grip_mp.o obj-$(CONFIG_JOYSTICK_GUILLEMOT) += guillemot.o obj-$(CONFIG_JOYSTICK_INTERACT) += interact.o obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydump.o obj-$(CONFIG_JOYSTICK_MAGELLAN) += magellan.o obj-$(CONFIG_JOYSTICK_MAPLE_CONTROL) += maplecontrol.o obj-$(CONFIG_JOYSTICK_MAPLE_GUN) += maple_lg.o obj-$(CONFIG_JOYSTICK_SIDEWINDER) += sidewinder.o obj-$(CONFIG_JOYSTICK_SPACEBALL) += spaceball.o obj-$(CONFIG_JOYSTICK_SPACEORB) += spaceorb.o obj-$(CONFIG_JOYSTICK_STINGER) += stinger.o obj-$(CONFIG_JOYSTICK_TMDC) += tmdc.o obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/ # The global Rules.make. include $(TOPDIR)/Rules.make --- NEW FILE: maplecontrol.c --- /* * $Id: maplecontrol.c,v 1.1 2002/10/29 21:38:13 mrbrown Exp $ * SEGA Dreamcast controller driver * Based on drivers/usb/iforce.c */ #include <linux/kernel.h> #include <linux/malloc.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/maple.h> MODULE_AUTHOR("YAEGASHI Takeshi <t...@ke...>"); MODULE_DESCRIPTION("SEGA Dreamcast controller driver"); struct dc_pad { struct input_dev dev; int open; }; static void dc_pad_callback(struct maple_driver_data *data) { unsigned short buttons; struct mapleq *mq=&data->mq; struct dc_pad *pad = data->private_data; struct input_dev *dev = &pad->dev; unsigned char *res = mq->recvbuf; buttons = ~*(unsigned short *)(res+8); input_report_abs(dev, ABS_HAT0Y, (buttons&0x0010?-1:0)+(buttons&0x0020?+1:0)); input_report_abs(dev, ABS_HAT0X, (buttons&0x0040?-1:0)+(buttons&0x0080?+1:0)); input_report_abs(dev, ABS_HAT1Y, (buttons&0x1000?-1:0)+(buttons&0x2000?+1:0)); input_report_abs(dev, ABS_HAT1X, (buttons&0x4000?-1:0)+(buttons&0x8000?+1:0)); input_report_key(dev, BTN_C, buttons&0x0001); input_report_key(dev, BTN_B, buttons&0x0002); input_report_key(dev, BTN_A, buttons&0x0004); input_report_key(dev, BTN_START, buttons&0x0008); input_report_key(dev, BTN_Z, buttons&0x0100); input_report_key(dev, BTN_Y, buttons&0x0200); input_report_key(dev, BTN_X, buttons&0x0400); input_report_key(dev, BTN_SELECT, buttons&0x0800); input_report_abs(dev, ABS_GAS, res[10]); input_report_abs(dev, ABS_BRAKE, res[11]); input_report_abs(dev, ABS_X, res[12]); input_report_abs(dev, ABS_Y, res[13]); input_report_abs(dev, ABS_RX, res[14]); input_report_abs(dev, ABS_RY, res[15]); } static int dc_pad_open(struct input_dev *dev) { struct dc_pad *pad = dev->private; pad->open++; return 0; } static void dc_pad_close(struct input_dev *dev) { struct dc_pad *pad = dev->private; pad->open--; } static int dc_pad_connect(struct maple_driver_data *d) { int i; unsigned long data = d->function_data; struct dc_pad *pad; const short btn_bit[32] = { BTN_C, BTN_B, BTN_A, BTN_START, -1, -1, -1, -1, BTN_Z, BTN_Y, BTN_X, BTN_SELECT, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }; const short abs_bit[32] = { -1, -1, -1, -1, ABS_HAT0Y, ABS_HAT0Y, ABS_HAT0X, ABS_HAT0X, -1, -1, -1, -1, ABS_HAT1Y, ABS_HAT1Y, ABS_HAT1X, ABS_HAT1X, ABS_GAS, ABS_BRAKE, ABS_X, ABS_Y, ABS_RX, ABS_RY, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }; if (!(pad = kmalloc(sizeof(struct dc_pad), GFP_KERNEL))) return -1; memset(pad, 0, sizeof(struct dc_pad)); d->private_data = pad; for (i=0; i<32; i++) if (data&(1<<i) && btn_bit[i]>=0) pad->dev.keybit[LONG(BTN_JOYSTICK)] |= BIT(btn_bit[i]); if (pad->dev.keybit[LONG(BTN_JOYSTICK)]) pad->dev.evbit[0] |= BIT(EV_KEY); for (i=0; i<32; i++) if (data&(1<<i) && abs_bit[i]>=0) pad->dev.absbit[0] |= BIT(abs_bit[i]); if (pad->dev.absbit[0]) pad->dev.evbit[0] |= BIT(EV_ABS); for (i=ABS_X; i<=ABS_BRAKE; i++) { pad->dev.absmax[i] = 255; pad->dev.absmin[i] = 0; pad->dev.absfuzz[i] = 0; pad->dev.absflat[i] = 0; } for (i=ABS_HAT0X; i<=ABS_HAT3Y; i++) { pad->dev.absmax[i] = 1; pad->dev.absmin[i] = -1; pad->dev.absfuzz[i] = 0; pad->dev.absflat[i] = 0; } pad->dev.private = pad; pad->dev.open = dc_pad_open; pad->dev.close = dc_pad_close; pad->dev.event = NULL; pad->dev.name = d->dev->product_name; pad->dev.idbus = BUS_MAPLE; input_register_device(&pad->dev); printk(KERN_INFO "input%d: controller(0x%lx): %s\n", pad->dev.number, data, pad->dev.name); MOD_INC_USE_COUNT; return 0; } static void dc_pad_disconnect(struct maple_driver_data *d) { struct dc_pad *pad = d->private_data; input_unregister_device(&pad->dev); kfree(pad); MOD_DEC_USE_COUNT; } static struct maple_driver dc_pad_driver = { function: MAPLE_FUNC_CONTROLLER, name: "Dreamcast controller", connect: dc_pad_connect, disconnect: dc_pad_disconnect, reply: dc_pad_callback, vblank: maple_getcond_vblank_callback, }; static int __init dc_pad_init(void) { maple_register_driver(&dc_pad_driver); return 0; } static void __exit dc_pad_exit(void) { maple_unregister_driver(&dc_pad_driver); } module_init(dc_pad_init); module_exit(dc_pad_exit); /* * Local variables: * c-basic-offset: 8 * End: */ --- NEW FILE: purupuru.c --- /* * Purupuru driver * for SEGA Dreamcast * Copyright (c) Adrian McMenamin, 2002 * * Licenced under the terms * of the Free Software Foundation * General Public Licence * Version 2 * See http://www.gnu.org * * Based on pre-existing Maple device coding * Copyright MR Brown, YAEGASHI Takeshi and others * * */ /* * First posted 18 February 2002 * * Multiple device support fixed 7 March 2002 * * Hot plugging bug fixed 14 March 2002 * */ #include <linux/kernel.h> #include <linux/slab.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/maple.h> #include <linux/list.h> #include <asm/uaccess.h> #include <linux/mm.h> #include <asm/atomic.h> #include <linux/interrupt.h> #define PURU_MINOR_BASE 64 #define PPP_VERSION 2 /*#define _DEBUG_*/ #ifdef _DEBUG_ #define DEBGM(fmt, args...) (printk(KERN_ERR fmt, ##args)) #else #define DEBGM(fmt, args...) ((void) 0) #endif #define CHECKFUNC EVIOCGBIT(EV_FF, 16) static int last_minor; static unsigned long last_jiffies = -1; /* one list shared through all devices */ LIST_HEAD(effects_list); /* may be more than one puru puru attached */ LIST_HEAD(devices_list); static int use_count = 0; struct dc_puru_effect { int length_of_time; u16 sid; struct list_head list; }; struct dc_purupuru { struct input_dev dev; struct maple_driver_data *data; struct list_head list; int minor; atomic_t active; int timeleft; }; static struct input_handle *purupuru_connect(struct input_handler *handler, struct input_dev *dev); static struct input_handler purupuru_handler; static int dc_puru_open(struct input_dev *dev) { return 0; } static void dc_puru_close(struct input_dev *dev) { } static int dc_purupuru_connect(struct maple_driver_data *d) { /*unsigned long data = d->function_data; */ struct dc_purupuru *puru; if (!(puru = kmalloc(sizeof(struct dc_purupuru), GFP_KERNEL))) { DEBGM("Memory allocation failure\n"); return -ENOMEM; } memset(puru, 0, sizeof(struct dc_purupuru)); puru->data = d; d->private_data = puru; puru->dev.private = puru; puru->dev.open = dc_puru_open; puru->dev.close = dc_puru_close; puru->dev.name = d->dev->product_name; puru->dev.event = NULL; puru->dev.idbus = BUS_MAPLE; input_register_device(&puru->dev); if (use_count == 0) input_register_handler(&purupuru_handler); use_count++; return 0; } static void dc_purupuru_disconnect(struct maple_driver_data *d) { struct dc_purupuru *puru = d->private_data; input_unregister_device(&puru->dev); DEBGM("In dc_purupuru_disconnect\n"); use_count--; if (use_count < 0) use_count = 0; if (use_count == 0) input_unregister_handler(&purupuru_handler); } /* static void dc_purupuru_callback(struct maple_driver_data *data) */ /* { */ /* struct mapleq *mq = &data->mq; */ /* int res = mq->recvbuf[0]; */ /* printk */ /* ("Maple reply (%d, %d) cmd=%d => %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", */ /* mq->port, mq->unit, mq->command, res, mq->recvbuf[1], */ /* mq->recvbuf[2], mq->recvbuf[3], mq->recvbuf[4], */ /* mq->recvbuf[5], mq->recvbuf[6], mq->recvbuf[7], */ /* mq->recvbuf[8], mq->recvbuf[9], mq->recvbuf[10], */ /* mq->recvbuf[11]); */ /* } */ static int effect_number = 0; static int puru_ioctl(struct inode *inode, struct file *filip, unsigned int cmd, unsigned long arg) { struct ff_effect *ff_upload; struct ff_replay ff_time; struct dc_puru_effect *new_effect, *entry; struct list_head *ptr; switch (cmd) { case EVIOCGVERSION: return put_user(PPP_VERSION, (int *) arg); case CHECKFUNC: return put_user(FF_RUMBLE | FF_CONSTANT, (int *) arg); case EVIOCGEFFECTS: return put_user(1, (int *) arg); /* Save a FF effect */ case EVIOCSFF: /* * Currently * only supports: * length * */ ff_upload = kmalloc(sizeof(struct ff_effect), GFP_KERNEL); if (ff_upload == NULL) return -ENOMEM; copy_from_user(ff_upload, (void *) arg, sizeof(struct ff_effect)); /* Now get the length */ ff_time = ff_upload->replay; new_effect = kmalloc(sizeof(struct dc_puru_effect), GFP_KERNEL); if (new_effect == NULL) { kfree(ff_upload); return -ENOMEM; } new_effect->length_of_time = ff_time.length; new_effect->sid = effect_number++; list_add_tail(&new_effect->list, &effects_list); /* report the effect number back to the caller */ ff_upload->id = new_effect->sid; copy_to_user(arg, ff_upload, sizeof(struct ff_effect)); kfree(ff_upload); return 0; case EVIOCRMFF: if (list_empty(&effects_list)) return -EINVAL; /* walk through the list */ u16 find_id = (u16) arg; for (ptr = effects_list.next; ptr != &effects_list; ptr = ptr->next) { entry = list_entry(ptr, struct dc_puru_effect, list); if (entry->sid == find_id) { list_del(&entry->list); kfree(entry); return 0; } } return -EINVAL; default: return -1; } } static int puru_open(struct inode *inode, struct file *file) { file->private_data = MINOR(inode->i_rdev); return 0; } static void halt_puru(struct dc_purupuru *puru) { /* Halt the puru device immediately */ struct mapleq *halt = &(puru->data->mq); halt->command = 14; halt->length = 2; ((unsigned long *) (halt->recvbuf))[0] = cpu_to_be32(MAPLE_FUNC_PURUPURU); ((unsigned long *) (halt->recvbuf))[1] = 0x00; halt->sendbuf = halt->recvbuf; if (maple_add_packet(halt) != 0) DEBGM("Could not add packet\n"); } static void play_puru(struct dc_purupuru *puru) { /* Halt the puru device immediately */ struct mapleq *play = &(puru->data->mq); play->command = 14; play->length = 2; ((unsigned long *) (play->recvbuf))[0] = cpu_to_be32(MAPLE_FUNC_PURUPURU); ((unsigned long *) (play->recvbuf))[1] = 0x0000ffff; play->sendbuf = play->recvbuf; if (maple_add_packet(play) != 0) DEBGM("Could not add packet\n"); } /* 'Write' routine to play effects */ static ssize_t puru_play(struct file *file, const char *buffer, size_t count, loff_t * pos) { last_minor = file->private_data; /* buffer is a pointer to an input event */ struct input_event *play = kmalloc(sizeof(struct input_event), GFP_KERNEL); if (play == NULL) return -ENOMEM; memset(play, 0, sizeof(struct input_event)); copy_from_user(play, buffer, sizeof(struct input_event)); if (play->type != EV_FF) { kfree(play); return -EINVAL; } /* Which purupuru device are we playing with? */ struct dc_purupuru *select_me, *puru = NULL; struct list_head *ptr; for (ptr = devices_list.next; ptr != &devices_list; ptr = ptr->next) { select_me = list_entry(ptr, struct dc_purupuru, list); if (select_me->minor == last_minor) { puru = select_me; break; } } if (puru == NULL) { kfree(play); return -ENODEV; } /* Stop? In which case halt the Puru Puru immediately */ if (play->value == 0) { halt_puru(puru); kfree(play); return 0; } /* Walk through the list looking for the desired effect */ u16 find_id = play->code; struct dc_puru_effect *entry; for (ptr = effects_list.next; ptr != &effects_list; ptr = ptr->next) { entry = list_entry(ptr, struct dc_puru_effect, list); if (entry->sid == find_id) { play_puru(puru); /* Set up the timing measurements */ atomic_set(&puru->active, 1); puru->timeleft = entry->length_of_time; kfree(play); return 0; } } kfree(play); return -EINVAL; } /* vblank interrupt handling */ void switchoff_puru(unsigned long x) { int gap; if (time_before(jiffies, last_jiffies)) { gap = ((jiffies + (0xffffffff - last_jiffies)) * 1000) / HZ; } else gap = ((jiffies - last_jiffies) * 1000) / HZ; last_jiffies = jiffies; /* which Puru Puru packs are active? */ struct dc_purupuru *select_me; struct list_head *ptr; for (ptr = devices_list.next; ptr != &devices_list; ptr = ptr->next) { select_me = list_entry(ptr, struct dc_purupuru, list); if (atomic_read(&select_me->active) == 1) { select_me->timeleft -= gap; if (select_me->timeleft <= 0) { atomic_set(&select_me->active, 0); halt_puru(select_me); } } } return; } DECLARE_TASKLET(switchoff_tasklet, switchoff_puru, (unsigned long) 0); void dc_purupuru_wake(struct maple_driver_data *data) { if (last_jiffies == -1) { last_jiffies = jiffies; return; } tasklet_schedule(&switchoff_tasklet); } /* * Link the maple, input and fops * functions of this driver */ static struct maple_driver dc_purupuru_driver = { function:MAPLE_FUNC_PURUPURU, name:"Puru Puru Pack", connect:dc_purupuru_connect, disconnect:dc_purupuru_disconnect, /* reply:dc_purupuru_callback, */ vblank:dc_purupuru_wake, }; static struct file_operations puru_ops = { owner:THIS_MODULE, ioctl:puru_ioctl, write:puru_play, open:puru_open, }; static struct input_handle *purupuru_connect(struct input_handler *handler, struct input_dev *dev) { struct input_handle *handle; struct list_head *lst; struct dc_purupuru *device; /* tasklet_enable(&switchoff_tasklet); */ /* Is this a Puru Puru device? */ if (dev->open != dc_puru_open) { DEBGM("Attempted to connect non-PP device\n"); return NULL; } /* Have we already added this device? */ list_for_each(lst, &devices_list) { device = list_entry(lst, struct dc_purupuru, list); if (device->minor == (PURU_MINOR_BASE + dev->number)) { DEBGM ("Attempting to connect already connected PP\n"); return device->dev.handle; } } if (!(handle = kmalloc(sizeof(struct input_handle), GFP_KERNEL))) return NULL; memset(handle, 0, sizeof(struct input_handle)); handle->dev = dev; handle->handler = handler; input_open_device(handle); printk(KERN_INFO "purupuru.c: adding Puru Puru Pack input%d\n", dev->number); handler->minor = PURU_MINOR_BASE + dev->number; /* Add to list */ struct dc_purupuru *dcp = dev->private; dcp->minor = handler->minor; list_add_tail(&dcp->list, &devices_list); return handle; } static void purupuru_disconnect(struct input_handle *handle) { /* Remove from list of devices */ struct list_head *ptr = NULL; struct list_head *nxt = NULL; struct dc_purupuru *device; list_for_each_safe(ptr, nxt, &devices_list) { device = list_entry(ptr, struct dc_purupuru, list); if (device->minor == handle->handler->minor) { DEBGM("Disconnection: removing from list\n"); list_del(&device->list); } } input_close_device(handle); kfree(handle); kfree(device); } static struct input_handler purupuru_handler = { connect:purupuru_connect, disconnect:purupuru_disconnect, fops:&puru_ops, minor:PURU_MINOR_BASE, }; static int __init dc_purupuru_init(void) { maple_register_driver(&dc_purupuru_driver); printk("Puru Puru Pack driver for Dreamcast Linux version 0.2\n"); /* tasklet_disable(&switchoff_tasklet); */ return 0; } static void __exit dc_purupuru_exit(void) { struct list_head *ptr = NULL; struct list_head *nxt = NULL; struct dc_puru_effect *effect; maple_unregister_driver(&dc_purupuru_driver); if (!list_empty(&effects_list)) { list_for_each_safe(ptr, nxt, &effects_list) { effect = list_entry(ptr, struct dc_puru_effect, list); if (effect) { list_del(&(effect->list)); kfree(effect); } } } } module_init(dc_purupuru_init); module_exit(dc_purupuru_exit); MODULE_AUTHOR("Adrian McMenamin <ad...@mc...>"); MODULE_DESCRIPTION("SEGA Dreamcast purupuru driver"); |
From: M. R. B. <mr...@us...> - 2002-10-29 16:53:07
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/joystick In directory usw-pr-cvs1:/tmp/cvs-serv28721 Added Files: Tag: 1.2 maple_lg.c Log Message: Moved. --- NEW FILE: maple_lg.c --- /* * $Id: maple_lg.c,v 1.2 2002/10/29 16:53:04 mrbrown Exp $ * SEGA Dreamcast light gun driver * Based on drivers/maple/maplemouse.c * * Written by Fredrik Hubinette <hu...@hu...>, 2002 * * You may want to download xguncalibrate from * http://fredrik.hubbe.net/xguncalibrate.tar.gz to * calibrate your Lightgun. * */ #include <linux/kernel.h> #include <linux/malloc.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/maple.h> #include <linux/interrupt.h> #include <asm/dc_sysasic.h> MODULE_AUTHOR("Fredrik Hubinette <hu...@hu...>"); MODULE_DESCRIPTION("SEGA Dreamcast light gun driver"); #ifdef CONFIG_MAPLE_LG_DEBUG # define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , ## args) #else # define DPRINTK(fmt, args...) #endif /* outx = inx * mult - sub */ struct dc_lg_axis_param { int mult; int sub; int max; }; struct dc_lightgun { struct maple_driver_data *data; struct input_dev dev; int open; struct mapleq gun; struct dc_lg_axis_param xparam, yparam; }; static void dc_lightgun_callback(struct maple_driver_data *data) { unsigned short buttons; struct mapleq *mq=&data->mq; struct dc_lightgun *lg = data->private_data; struct input_dev *dev = &lg->dev; unsigned char *res = mq->recvbuf; buttons = ~*(unsigned short *)(res+8); input_report_key(dev, BTN_LEFT, buttons&4); input_report_key(dev, BTN_MIDDLE, buttons&8); input_report_key(dev, BTN_RIGHT, buttons&2); input_report_key(dev, KEY_UP, buttons&0x0010); input_report_key(dev, KEY_DOWN, buttons&0x0020); input_report_key(dev, KEY_LEFT, buttons&0x0040); input_report_key(dev, KEY_RIGHT,buttons&0x0080); } static void dc_lightgun_pos_callback(void *privdata, int x, int y) { struct dc_lightgun *lg = (struct dc_lightgun *) privdata; /* printk("\033\r Lightgun: %04x %04x \n",x,y); printk(" Lightgun: %04x %04x \n",x,y); */ x=x * lg->xparam.mult - lg->xparam.sub; if(x<0) x=0; if(x >= lg->xparam.max) x = lg->xparam.max -1; input_report_abs(& lg->dev, ABS_X, x); y=y * lg->yparam.mult - lg->yparam.sub; if(y<0) y=0; if(y >= lg->yparam.max) y = lg->yparam.max -1; input_report_abs(& lg->dev, ABS_Y, y); } static int dc_lightgun_open(struct input_dev *dev) { struct dc_lightgun *lg = dev->private; if( lg->open++ == 0) { /* Enable lightgun functionality */ maple_set_gunmode(lg->data->dev->port, dc_lightgun_pos_callback, lg); } return 0; } static void dc_lightgun_close(struct input_dev *dev) { struct dc_lightgun *lg = dev->private; if( --lg->open == 0) { maple_set_gunmode(lg->data->dev->port, 0, 0); } } void dc_lightgun_vblank_callback(struct maple_driver_data *data) { if( data->mq.done ) { data->mq.command = MAPLE_COMMAND_GETCOND; data->mq.length = 1; ((unsigned long *)data->mq.recvbuf)[0] = MAPLE_FUNC_CONTROLLER; data->mq.sendbuf = data->mq.recvbuf; DPRINTK("queueing GETCOND for %d,%d,%x (%s)\n", data->mq.port, data->mq.unit, data->driver->function, data->driver->name); maple_add_packet(& data->mq ); } } static int dc_lightgun_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) { struct dc_lightgun *lg = dev->private; struct dc_lg_axis_param *tmp; #if 0 printk(KERN_DEBUG " LGEV: %d %d %d\n",type,code,value); #endif if(type != EV_FF) return -1; switch(code & 0xf0) { default: return -2; case 0: tmp = & lg->xparam; break; case 1: tmp = & lg->yparam; break; } switch(code & 0xf) { default: return -3; case 0: tmp->mult=value; break; case 1: tmp->sub=value; break; case 2: tmp->max=value; break; } return 0; } static int dc_lightgun_connect(struct maple_driver_data *d) { unsigned long data = d->function_data; struct dc_lightgun *lg; if (!(lg = kmalloc(sizeof(struct dc_lightgun), GFP_KERNEL))) return -1; memset(lg, 0, sizeof(struct dc_lightgun)); lg->data=d; lg->xparam.mult=1; lg->xparam.sub =0xc8; lg->xparam.max =640; lg->yparam.mult=1; lg->yparam.sub =0x35; lg->yparam.max =480; d->private_data = lg; lg->dev.evbit[0] |= BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_FF); lg->dev.keybit[LONG(BTN_MOUSE)] |= BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); lg->dev.keybit[LONG(KEY_UP)] |= BIT(KEY_UP); lg->dev.keybit[LONG(KEY_DOWN)] |= BIT(KEY_DOWN); lg->dev.keybit[LONG(KEY_LEFT)] |= BIT(KEY_LEFT); lg->dev.keybit[LONG(KEY_RIGHT)] |= BIT(KEY_RIGHT); lg->dev.absbit[0] |= BIT(ABS_X) | BIT(ABS_Y); /* FIXME: what should the max values really be? */ lg->dev.absmax[ABS_X] = 640; lg->dev.absmin[ABS_X] = 0; lg->dev.absfuzz[ABS_X]= 20; lg->dev.absflat[ABS_X]= 0; lg->dev.absmax[ABS_Y] = 480; lg->dev.absmin[ABS_Y] = 0; lg->dev.absfuzz[ABS_Y]= 20; lg->dev.absflat[ABS_Y]= 0; lg->dev.private = lg; lg->dev.open = dc_lightgun_open; lg->dev.close = dc_lightgun_close; lg->dev.event = dc_lightgun_event; lg->dev.name = d->dev->product_name; lg->dev.idbus = BUS_MAPLE; input_register_device(&lg->dev); printk(KERN_INFO "input%d: lightgun(0x%lx): %s\n", lg->dev.number, data, lg->dev.name); MOD_INC_USE_COUNT; return 0; } static void dc_lightgun_disconnect(struct maple_driver_data *d) { struct dc_lightgun *lg = d->private_data; while( maple_del_packet( & lg->gun) < 0) /* yield */; input_unregister_device(&lg->dev); kfree(lg); MOD_DEC_USE_COUNT; } static struct maple_driver dc_lightgun_driver = { function: MAPLE_FUNC_LIGHTGUN | MAPLE_FUNC_CONTROLLER, name: "Dreamcast light gun", connect: dc_lightgun_connect, disconnect: dc_lightgun_disconnect, reply: dc_lightgun_callback, vblank: dc_lightgun_vblank_callback, }; static int __init dc_lightgun_init(void) { maple_register_driver(&dc_lightgun_driver); return 0; } static void __exit dc_lightgun_exit(void) { maple_unregister_driver(&dc_lightgun_driver); } module_init(dc_lightgun_init); module_exit(dc_lightgun_exit); /* * Local variables: * c-basic-offset: 8 * End: */ |
From: M. R. B. <mr...@us...> - 2002-10-29 16:52:01
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/mouse In directory usw-pr-cvs1:/tmp/cvs-serv28044 Added Files: Tag: 1.4 maplemouse.c Log Message: Moved. --- NEW FILE: maplemouse.c --- /* * $Id: maplemouse.c,v 1.4 2002/10/29 16:51:58 mrbrown Exp $ * SEGA Dreamcast mouse driver * Based on drivers/usb/usbmouse.c */ #include <linux/kernel.h> #include <linux/slab.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/maple.h> MODULE_AUTHOR("YAEGASHI Takeshi <t...@ke...>"); MODULE_DESCRIPTION("SEGA Dreamcast mouse driver"); struct dc_mouse { struct input_dev dev; int open; }; static void dc_mouse_callback(struct mapleq *mq) { int buttons, relx, rely, relz; struct maple_device *mapledev = mq->dev; struct dc_mouse *mouse = mapledev->private_data; struct input_dev *dev = &mouse->dev; unsigned char *res = mq->recvbuf; buttons = ~res[8]; relx=*(unsigned short *)(res+12)-512; rely=*(unsigned short *)(res+14)-512; relz=*(unsigned short *)(res+16)-512; input_report_key(dev, BTN_LEFT, buttons&4); input_report_key(dev, BTN_MIDDLE, buttons&9); input_report_key(dev, BTN_RIGHT, buttons&2); input_report_rel(dev, REL_X, relx); input_report_rel(dev, REL_Y, rely); input_report_rel(dev, REL_WHEEL, relz); } static int dc_mouse_open(struct input_dev *dev) { struct dc_mouse *mouse = dev->private; mouse->open++; return 0; } static void dc_mouse_close(struct input_dev *dev) { struct dc_mouse *mouse = dev->private; mouse->open--; } static int dc_mouse_connect(struct maple_device *dev) { unsigned long data = be32_to_cpu(dev->devinfo.function_data[0]); struct dc_mouse *mouse; if (!(mouse = kmalloc(sizeof(struct dc_mouse), GFP_KERNEL))) return -1; memset(mouse, 0, sizeof(struct dc_mouse)); dev->private_data = mouse; mouse->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_REL); mouse->dev.keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); mouse->dev.relbit[0] = BIT(REL_X) | BIT(REL_Y) | BIT(REL_WHEEL); mouse->dev.private = mouse; mouse->dev.open = dc_mouse_open; mouse->dev.close = dc_mouse_close; mouse->dev.event = NULL; mouse->dev.name = dev->product_name; mouse->dev.idbus = BUS_MAPLE; input_register_device(&mouse->dev); maple_getcond_callback(dev, dc_mouse_callback, 1, MAPLE_FUNC_MOUSE); printk(KERN_INFO "input%d: mouse(0x%lx): %s\n", mouse->dev.number, data, mouse->dev.name); MOD_INC_USE_COUNT; return 0; } static void dc_mouse_disconnect(struct maple_device *dev) { struct dc_mouse *mouse = dev->private_data; input_unregister_device(&mouse->dev); kfree(mouse); MOD_DEC_USE_COUNT; } static struct maple_driver dc_mouse_driver = { function: MAPLE_FUNC_MOUSE, name: "Dreamcast mouse", connect: dc_mouse_connect, disconnect: dc_mouse_disconnect, }; static int __init dc_mouse_init(void) { maple_register_driver(&dc_mouse_driver); return 0; } static void __exit dc_mouse_exit(void) { maple_unregister_driver(&dc_mouse_driver); } module_init(dc_mouse_init); module_exit(dc_mouse_exit); /* * Local variables: * c-basic-offset: 8 * End: */ |
From: M. R. B. <mr...@us...> - 2002-10-29 16:51:32
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv27769 Added Files: Tag: 1.4 maple_keyb.c Log Message: Moved. --- NEW FILE: maple_keyb.c --- /* * $Id: maple_keyb.c,v 1.4 2002/10/29 16:51:29 mrbrown Exp $ * SEGA Dreamcast keyboard driver * Based on drivers/usb/usbkbd.c */ #include <linux/kernel.h> #include <linux/slab.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/maple.h> MODULE_AUTHOR("YAEGASHI Takeshi <t...@ke...>"); MODULE_DESCRIPTION("SEGA Dreamcast keyboard driver"); static unsigned char dc_kbd_keycode[256] = { 0, 0, 0, 0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 28, 1, 14, 15, 57, 12, 13, 26, 27, 43, 84, 39, 40, 41, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 87, 88, 99, 70,119,110,102,104,111,107,109,106, 105,108,103, 69, 98, 55, 74, 78, 96, 79, 80, 81, 75, 76, 77, 71, 72, 73, 82, 83, 86,127,116,117, 85, 89, 90, 91, 92, 93, 94, 95, 120,121,122,123,134,138,130,132,128,129,131,137,133,135,136,113, 115,114, 0, 0, 0,124, 0,181,182,183,184,185,186,187,188,189, 190,191,192,193,194,195,196,197,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 42, 56,125, 97, 54,100,126,164,166,165,163,161,115,114,113, 150,158,159,128,136,177,178,176,142,152,173,140 }; struct dc_kbd { struct input_dev dev; unsigned char new[8]; unsigned char old[8]; int open; }; static void dc_scan_kbd(struct dc_kbd *kbd) { int i; struct input_dev *dev = &kbd->dev; for(i=0; i<8; i++) input_report_key(dev, dc_kbd_keycode[i+224], (kbd->new[0]>>i)&1); for(i=2; i<8; i++) { if(kbd->old[i]>3&&memchr(kbd->new+2, kbd->old[i], 6)==NULL) { if(dc_kbd_keycode[kbd->old[i]]) input_report_key(dev, dc_kbd_keycode[kbd->old[i]], 0); else printk("Unknown key (scancode %#x) released.", kbd->old[i]); } if(kbd->new[i]>3&&memchr(kbd->old+2, kbd->new[i], 6)!=NULL) { if(dc_kbd_keycode[kbd->new[i]]) input_report_key(dev, dc_kbd_keycode[kbd->new[i]], 1); else printk("Unknown key (scancode %#x) pressed.", kbd->new[i]); } } memcpy(kbd->old, kbd->new, 8); } static void dc_kbd_callback(struct mapleq *mq) { struct maple_device *mapledev = mq->dev; struct dc_kbd *kbd = mapledev->private_data; unsigned long *buf = mq->recvbuf; if (buf[1] == mapledev->function) { memcpy(kbd->new, buf+2, 8); dc_scan_kbd(kbd); } } static int dc_kbd_open(struct input_dev *dev) { struct dc_kbd *kbd = dev->private; kbd->open++; return 0; } static void dc_kbd_close(struct input_dev *dev) { struct dc_kbd *kbd = dev->private; kbd->open--; } static int dc_kbd_connect(struct maple_device *dev) { int i; unsigned long data = be32_to_cpu(dev->devinfo.function_data[0]); struct dc_kbd *kbd; if (!(kbd = kmalloc(sizeof(struct dc_kbd), GFP_KERNEL))) return -1; memset(kbd, 0, sizeof(struct dc_kbd)); dev->private_data = kbd; kbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_REP); for (i=0; i<255; i++) set_bit(dc_kbd_keycode[i], kbd->dev.keybit); clear_bit(0, kbd->dev.keybit); kbd->dev.private = kbd; kbd->dev.open = dc_kbd_open; kbd->dev.close = dc_kbd_close; kbd->dev.event = NULL; kbd->dev.name = dev->product_name; kbd->dev.id.bustype = BUS_MAPLE; input_register_device(&kbd->dev); maple_getcond_callback(dev, dc_kbd_callback, 1, MAPLE_FUNC_KEYBOARD); printk(KERN_INFO "input: keyboard(0x%lx): %s\n", data, kbd->dev.name); MOD_INC_USE_COUNT; return 0; } static void dc_kbd_disconnect(struct maple_device *dev) { struct dc_kbd *kbd = dev->private_data; input_unregister_device(&kbd->dev); kfree(kbd); MOD_DEC_USE_COUNT; } static struct maple_driver dc_kbd_driver = { function: MAPLE_FUNC_KEYBOARD, name: "Dreamcast keyboard", connect: dc_kbd_connect, disconnect: dc_kbd_disconnect, }; static int __init dc_kbd_init(void) { maple_register_driver(&dc_kbd_driver); return 0; } static void __exit dc_kbd_exit(void) { maple_unregister_driver(&dc_kbd_driver); } module_init(dc_kbd_init); module_exit(dc_kbd_exit); /* * Local variables: * c-basic-offset: 8 * End: */ |
From: M. R. B. <mr...@us...> - 2002-10-29 16:46:45
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/joystick In directory usw-pr-cvs1:/tmp/cvs-serv25471/joystick Log Message: Directory /cvsroot/linuxdc/linux-sh-dc/drivers/input/joystick added to the repository |
From: M. R. B. <mr...@us...> - 2002-10-29 16:46:45
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv25471/keyboard Log Message: Directory /cvsroot/linuxdc/linux-sh-dc/drivers/input/keyboard added to the repository |
From: M. R. B. <mr...@us...> - 2002-10-29 16:46:45
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input/mouse In directory usw-pr-cvs1:/tmp/cvs-serv25471/mouse Log Message: Directory /cvsroot/linuxdc/linux-sh-dc/drivers/input/mouse added to the repository |
From: M. R. B. <mr...@us...> - 2002-10-29 16:43:59
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv24010/input Log Message: Directory /cvsroot/linuxdc/linux-sh-dc/drivers/input added to the repository |
From: M. R. B. <mr...@us...> - 2002-10-29 16:37:09
|
Update of /cvsroot/linuxdc/linux-sh-dc In directory usw-pr-cvs1:/tmp/cvs-serv20617 Modified Files: ChangeLog.dc Log Message: Move to sound/oss/ Index: ChangeLog.dc =================================================================== RCS file: /cvsroot/linuxdc/linux-sh-dc/ChangeLog.dc,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- ChangeLog.dc 29 Oct 2002 15:54:49 -0000 1.58 +++ ChangeLog.dc 29 Oct 2002 16:36:34 -0000 1.59 @@ -1,5 +1,7 @@ 2002-10-29 M. R. Brown <mr...@li...> + * drivers/sound/*: Move to sound/oss/. + * drivers/sound/aica/*: Move to sound/oss/. Linux-SH 2.5.44 switchover. |
From: M. R. B. <mr...@us...> - 2002-10-29 16:36:51
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/sound In directory usw-pr-cvs1:/tmp/cvs-serv20617/drivers/sound Removed Files: Config.in Makefile microphone.c Log Message: Move to sound/oss/ --- Config.in DELETED --- --- Makefile DELETED --- --- microphone.c DELETED --- |
From: M. R. B. <mr...@us...> - 2002-10-29 16:35:31
|
Update of /cvsroot/linuxdc/linux-sh-dc/sound/oss In directory usw-pr-cvs1:/tmp/cvs-serv20086 Added Files: Tag: 1.1 microphone.c Log Message: Moved. --- NEW FILE: microphone.c --- /* * Microphone driver * for SEGA Dreamcast * Copyright (c) Adrian McMenamin, 2002 * * This code is licenced under the GPL v2 * No warranties of any kind offered * * * Based on existing Maple device coding * Copyright MR Brown, YAEGASHI Takeshi and others * * */ #include <linux/kernel.h> #include <linux/slab.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/maple.h> #include "sound_config.h" #define _DEBUG_ #ifdef _DEBUG_ #define DEBGM(fmt, args...) (printk(KERN_ERR fmt, ##args)) #else #define DEBGM(fmt, args...) ((void) 0) #endif /* Sound minor device number */ int mic_minor; struct dc_microphone { struct input_dev dev; struct maple_driver_data *data; unsigned char snd[1024]; int open; }; static struct dc_microphone *mic = NULL; static int length = 0; /* * Although this is a Maple * device, it has to connect * through to OSS driver to * be of any use to anybody * who uses standard sound * APIs */ static int mic_audio_open(struct inode *inode, struct file *file) { return 0; } static ssize_t mic_audio_read(struct file *filp, char *buf, size_t count, loff_t * f_pos) { /* Copy from maple generated buffer to OSS buffer and return */ int oldlength = length * 2; copy_to_user(buf, mic->snd, oldlength); length = 0; DEBGM("Length is...%i, count is...%i\n", oldlength, count); return oldlength + 2; } static int mic_audio_release(struct inode *inode, struct file *file) { return 0; } static int mic_audio_ioctl(struct inode *inode, struct file *filip, unsigned int cmd, unsigned long arg) { return -ENOTTY; } static int dc_microphone_open(struct input_dev *dev) { DEBGM("Microphone: open called by input susbsystem\n"); MOD_INC_USE_COUNT; return 0; } static void dc_microphone_release(struct input_dev *dev) { MOD_DEC_USE_COUNT; } static int dc_microphone_connect(struct maple_driver_data *d) { //unsigned long data = d->function_data; if (!(mic = kmalloc(sizeof(struct dc_microphone), GFP_KERNEL))) { DEBGM("Memory allocation failure\n"); return -ENOMEM; } memset(mic, 0, sizeof(struct dc_microphone)); mic->data = d; d->private_data = mic; mic->dev.private = mic; mic->dev.open = dc_microphone_open; mic->dev.close = dc_microphone_release; mic->dev.name = d->dev->product_name; mic->dev.event = NULL; mic->dev.idbus = BUS_MAPLE; /* input_register_device(&mic->dev); */ //printk("Connected...%s\n", mic->dev.name); return 0; } static void dc_microphone_disconnect(struct maple_driver_data *d) { struct dc_microphone *mic = d->private_data; /* input_unregister_device(&mic->dev); */ kfree(mic); } static void dc_microphone_callback(struct maple_driver_data *data) { //int x = 12; struct mapleq *mq = &data->mq; int res = mq->recvbuf[0]; printk ("Maple reply (%d, %d) cmd=%d => %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", mq->port, mq->unit, mq->command, res, mq->recvbuf[1], mq->recvbuf[2], mq->recvbuf[3], mq->recvbuf[4], mq->recvbuf[5], mq->recvbuf[6], mq->recvbuf[7], mq->recvbuf[8], mq->recvbuf[9], mq->recvbuf[10], mq->recvbuf[11]); //printk("Next round %d, %d, %d, %d, %d, %d, %d, %d\n", mq->recvbuf[12], mq->recvbuf[13], mq->recvbuf[14], mq->recvbuf[15], mq->recvbuf[16], mq->recvbuf[17], mq->recvbuf[18], mq->recvbuf[19]); //unsigned long tmp=*(unsigned long *)0xA05F80C4; //printk("Gunport data is %d\n", tmp); /* if (res == 8) */ /* { */ /* for (x = 8; x < 32; x++) */ /* { */ /* printk("%d,", mq->recvbuf[x]); */ /* } */ /* printk("\n"); */ /* } */ } static int firstup = 0; void dc_microphone_vblank_callback(struct maple_driver_data *data) { if (data->mq.done) { data->mq.command = 15; data->mq.length = 2; ((unsigned long *) (data->mq.recvbuf))[0] = cpu_to_be32(MAPLE_FUNC_MICROPHONE); if (firstup == 0) ((unsigned long *) (data->mq.recvbuf))[1] = 0x00000501; else if (firstup == 1) { data->mq.command = 15; data->mq.length = 2; ((unsigned long *) (data->mq.recvbuf))[1] = 0x00000102; } else{ data->mq.command = 15; data->mq.length = 3; ((unsigned long *) (data->mq.recvbuf))[1] = 0x01020104; ((unsigned long *) (data->mq.recvbuf))[2] = 0x0001; ; /*65295 */ } /*printk("Send buffer is %i, %i\n", ((unsigned long *)(data->mq.recvbuf))[0], ((unsigned long *)(data->mq.recvbuf))[1]); */ /* 0x00 generates a -3 response 0x01 generates an 0x08 response - volume? 0x0101 returns 0x00 0x00 0x00 0x10 0x00 0x01 0x00 0x00 0x0201 returns 0x00 0x00 0x00 0x10 0x00 0x02 0x00 0x00 0x0301 returns 0x00 0x00 0x00 0x10 0x00 0x03 0x00 0x00 and so until 0x2001 returns -3 0x02 generates an 0x07 response 0x0002 returns 0x00 0x00 0x00 0x10 0x00 0x00 0x00 0x00 from 0x01 0x0102 returns 0x00 0x00 0x00 0x10 0x02 0x00 0x00 0x00 from 0x01 0x0202 returns -3 0x03 generates an 0x07 response 0x0103 generates an 0x07 response and default from 0x01 0x0203 generates an 0x07 response and default from 0x01 0x0303 as above 0x0403 as above 0x0503 as above 0x04 generates an 0x07 repsonse - bit size? 0x0104 generates 0x00 0x00 0x00 0x10 0x08 0x00 0x00 0x00 from 0x01 0x0204 generates 0x00 0x00 0x00 0x10 0x10 0x00 0x00 0x00 from 0x01 0x0304 generates -3 0x05 generates a -3 response 0x08 generates a -3 response 0x09 generates a -3 response */ data->mq.sendbuf = data->mq.recvbuf; if (maple_add_packet(&data->mq) != 0) printk("Could not add packet\n"); firstup++; if (firstup > 7) firstup = 0; } } static struct maple_driver dc_microphone_driver = { function:MAPLE_FUNC_MICROPHONE, name:"SoundInputPeripheral (S.I.P.)", connect:dc_microphone_connect, disconnect:dc_microphone_disconnect, reply:dc_microphone_callback, vblank:dc_microphone_vblank_callback, }; /* * Handle sound (OSS) * initialisation */ static struct file_operations mic_audio_fops = { owner:THIS_MODULE, open:mic_audio_open, release:mic_audio_release, read:mic_audio_read, ioctl:mic_audio_ioctl, }; /* TODO: Mixer registration */ static int attach_microphone() { printk("Microphone driver for SEGA Dreamcast, v 0.1.1\n"); /* Register with OSS */ mic_minor = register_sound_dsp(&mic_audio_fops, -1); if (mic_minor < 0) { DEBGM ("Maple: Could not register microphone with sound system.\n"); return -ENODEV; } return 0; } static int unload_microphone() { unregister_sound_dsp(mic_minor); return 0; } static int __init dc_microphone_init(void) { maple_register_driver(&dc_microphone_driver); if (attach_microphone()) { DEBGM("Maple: Failed to attach microphone\n"); return -ENOMEM; } return 0; } static void __exit dc_microphone_exit(void) { maple_unregister_driver(&dc_microphone_driver); if (unload_microphone()) { DEBGM("Maple: Microphone did not unload cleanly\n"); } } module_init(dc_microphone_init); module_exit(dc_microphone_exit); MODULE_AUTHOR("Adrian McMenamin <ad...@mc...>"); MODULE_DESCRIPTION("SEGA Dreamcast microphone driver"); |
From: M. R. B. <mr...@us...> - 2002-10-29 16:35:17
|
Update of /cvsroot/linuxdc/linux-sh-dc/sound/oss In directory usw-pr-cvs1:/tmp/cvs-serv19967 Added Files: Tag: 1.1 Makefile Log Message: Moved. --- NEW FILE: Makefile --- # Makefile for the Linux sound card driver # # 18 Apr 1998, Michael Elizabeth Chastain, <mailto:me...@sh...> # Rewritten to use lists instead of if-statements. # All of the (potential) objects that export symbols. # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'. export-objs := ad1848.o audio_syms.o midi_syms.o mpu401.o ac97_codec.o \ msnd.o opl3.o sb_common.o sequencer_syms.o ac97.o aci.o \ sound_syms.o uart401.o # Each configuration option enables a list of files. obj-$(CONFIG_SOUND_OSS) += sound.o obj-$(CONFIG_SOUND_CS4232) += cs4232.o ad1848.o # Please leave it as is, cause the link order is significant ! obj-$(CONFIG_SOUND_AEDSP16) += aedsp16.o obj-$(CONFIG_SOUND_PSS) += pss.o ad1848.o mpu401.o obj-$(CONFIG_SOUND_TRIX) += trix.o ad1848.o sb_lib.o uart401.o obj-$(CONFIG_SOUND_OPL3SA1) += opl3sa.o ad1848.o uart401.o obj-$(CONFIG_SOUND_SSCAPE) += sscape.o ad1848.o mpu401.o obj-$(CONFIG_SOUND_MAD16) += mad16.o ad1848.o sb_lib.o uart401.o obj-$(CONFIG_SOUND_CS4232) += cs4232.o uart401.o obj-$(CONFIG_SOUND_OPL3SA2) += opl3sa2.o ad1848.o mpu401.o obj-$(CONFIG_SOUND_MSS) += ad1848.o obj-$(CONFIG_SOUND_PAS) += pas2.o sb.o sb_lib.o uart401.o obj-$(CONFIG_SOUND_SB) += sb.o sb_lib.o uart401.o obj-$(CONFIG_SOUND_WAVEFRONT) += wavefront.o obj-$(CONFIG_SOUND_MAUI) += maui.o mpu401.o obj-$(CONFIG_SOUND_MPU401) += mpu401.o obj-$(CONFIG_SOUND_UART6850) += uart6850.o obj-$(CONFIG_SOUND_GUS) += gus.o ad1848.o obj-$(CONFIG_SOUND_ADLIB) += adlib_card.o opl3.o obj-$(CONFIG_SOUND_YM3812) += opl3.o obj-$(CONFIG_SOUND_VMIDI) += v_midi.o obj-$(CONFIG_SOUND_VIDC) += vidc_mod.o obj-$(CONFIG_SOUND_WAVEARTIST) += waveartist.o obj-$(CONFIG_SOUND_SGALAXY) += sgalaxy.o ad1848.o obj-$(CONFIG_SOUND_AD1816) += ad1816.o obj-$(CONFIG_SOUND_ACI_MIXER) += aci.o obj-$(CONFIG_SOUND_AWE32_SYNTH) += awe_wave.o obj-$(CONFIG_SOUND_VIA82CXXX) += via82cxxx_audio.o ac97_codec.o ifeq ($(CONFIG_MIDI_VIA82CXXX),y) obj-$(CONFIG_SOUND_VIA82CXXX) += sound.o uart401.o endif obj-$(CONFIG_SOUND_YMFPCI) += ymfpci.o ac97_codec.o ifeq ($(CONFIG_SOUND_YMFPCI_LEGACY),y) obj-$(CONFIG_SOUND_YMFPCI) += opl3.o uart401.o endif obj-$(CONFIG_SOUND_MSNDCLAS) += msnd.o msnd_classic.o obj-$(CONFIG_SOUND_MSNDPIN) += msnd.o msnd_pinnacle.o obj-$(CONFIG_SOUND_VWSND) += vwsnd.o obj-$(CONFIG_SOUND_NM256) += nm256_audio.o ac97.o obj-$(CONFIG_SOUND_ICH) += i810_audio.o ac97_codec.o obj-$(CONFIG_SOUND_SONICVIBES) += sonicvibes.o obj-$(CONFIG_SOUND_CMPCI) += cmpci.o obj-$(CONFIG_SOUND_ES1370) += es1370.o obj-$(CONFIG_SOUND_ES1371) += es1371.o ac97_codec.o obj-$(CONFIG_SOUND_VRC5477) += nec_vrc5477.o ac97_codec.o obj-$(CONFIG_SOUND_ESSSOLO1) += esssolo1.o obj-$(CONFIG_SOUND_FUSION) += cs46xx.o ac97_codec.o obj-$(CONFIG_SOUND_MAESTRO) += maestro.o obj-$(CONFIG_SOUND_MAESTRO3) += maestro3.o ac97_codec.o obj-$(CONFIG_SOUND_TRIDENT) += trident.o ac97_codec.o obj-$(CONFIG_SOUND_EMU10K1) += ac97_codec.o obj-$(CONFIG_SOUND_RME96XX) += rme96xx.o obj-$(CONFIG_SOUND_BT878) += btaudio.o obj-$(CONFIG_SOUND_EMU10K1) += ac97_codec.o ifeq ($(CONFIG_MIDI_EMU10K1),y) obj-$(CONFIG_SOUND_EMU10K1) += sound.o endif obj-$(CONFIG_SOUND_EMU10K1) += emu10k1/ obj-$(CONFIG_SOUND_CS4281) += cs4281/ obj-$(CONFIG_DMASOUND) += dmasound/ obj-$(CONFIG_SOUND_AICA) += aica/ # Declare multi-part drivers. sound-objs := \ dev_table.o soundcard.o sound_syms.o \ audio.o audio_syms.o dmabuf.o \ midi_syms.o midi_synth.o midibuf.o \ sequencer.o sequencer_syms.o sound_timer.o sys_timer.o gus-objs := gus_card.o gus_midi.o gus_vol.o gus_wave.o ics2101.o pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o sb-objs := sb_card.o sb_lib-objs := sb_common.o sb_audio.o sb_midi.o sb_mixer.o sb_ess.o vidc_mod-objs := vidc.o vidc_fill.o wavefront-objs := wavfront.o wf_midi.o yss225.o host-progs := bin2hex hex2hex # Files generated that shall be removed upon make clean clean-files := maui_boot.h msndperm.c msndinit.c pndsperm.c pndspini.c \ pss_boot.h trix_boot.h include $(TOPDIR)/Rules.make # Firmware files that need translation # # The translated files are protected by a file that keeps track # of what name was used to build them. If the name changes, they # will be forced to be remade. # # Turtle Beach Maui / Tropez $(obj)/maui.o: $(obj)/maui_boot.h ifeq ($(CONFIG_MAUI_HAVE_BOOT),y) $(obj)/maui_boot.h: $(patsubst "%", %, $(CONFIG_MAUI_BOOT_FILE)) $(obj)/bin2hex $(obj)/bin2hex -i maui_os < $< > $@ else $(obj)/maui_boot.h: ( \ echo 'static unsigned char * maui_os = NULL;'; \ echo 'static int maui_osLen = 0;'; \ ) > $@ endif # Turtle Beach MultiSound ifeq ($(CONFIG_MSNDCLAS_HAVE_BOOT),y) $(obj)/msnd_classic.o: $(obj)/msndperm.c $(obj)/msndinit.c $(obj)/msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) $(obj)/bin2hex $(obj)/bin2hex msndperm < $< > $@ $(obj)/msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) $(obj)/bin2hex $(obj)/bin2hex msndinit < $< > $@ endif ifeq ($(CONFIG_MSNDPIN_HAVE_BOOT),y) $(obj)/msnd_pinnacle.o: $(obj)/pndsperm.c $(obj)/pndspini.c $(obj)/pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) $(obj)/bin2hex $(obj)/bin2hex pndsperm < $< > $@ $(obj)/pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) $(obj)/bin2hex $(obj)/bin2hex pndspini < $< > $@ endif # PSS (ECHO-ADI2111) $(obj)/pss.o: $(obj)/pss_boot.h ifeq ($(CONFIG_PSS_HAVE_BOOT),y) $(obj)/pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) $(obj)/bin2hex $(obj)/bin2hex pss_synth < $< > $@ else $(obj)/pss_boot.h: ( \ echo 'static unsigned char * pss_synth = NULL;'; \ echo 'static int pss_synthLen = 0;'; \ ) > $@ endif # MediaTrix AudioTrix Pro $(obj)/trix.o: $(obj)/trix_boot.h ifeq ($(CONFIG_TRIX_HAVE_BOOT),y) $(obj)/trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) $(obj)/hex2hex $(obj)/hex2hex -i trix_boot < $< > $@ else $(obj)/trix_boot.h: ( \ echo 'static unsigned char * trix_boot = NULL;'; \ echo 'static int trix_boot_len = 0;'; \ ) > $@ endif |
From: M. R. B. <mr...@us...> - 2002-10-29 16:35:04
|
Update of /cvsroot/linuxdc/linux-sh-dc/sound/oss In directory usw-pr-cvs1:/tmp/cvs-serv19791 Added Files: Tag: 1.1 Config.in Log Message: Moved. --- NEW FILE: Config.in --- # drivers/sound/Config.in # # 18 Apr 1998, Michael Elizabeth Chastain, <mailto:me...@sh...> # More hacking for modularisation. # # Prompt user for primary drivers. dep_tristate ' BT878 audio dma' CONFIG_SOUND_BT878 $CONFIG_SOUND dep_tristate ' C-Media PCI (CMI8338/8738)' CONFIG_SOUND_CMPCI $CONFIG_SOUND $CONFIG_PCI if [ "$CONFIG_SOUND_CMPCI" = "y" -o "$CONFIG_SOUND_CMPCI" = "m" ]; then bool ' Enable legacy FM' CONFIG_SOUND_CMPCI_FM if [ "$CONFIG_SOUND_CMPCI_FM" = "y" ]; then hex ' FM I/O 388, 3C8, 3E0, 3E8' CONFIG_SOUND_CMPCI_FMIO 388 fi bool ' Enable legacy MPU-401' CONFIG_SOUND_CMPCI_MIDI if [ "$CONFIG_SOUND_CMPCI_MIDI" = "y" ]; then hex ' MPU-401 I/O 330, 320, 310, 300' CONFIG_SOUND_CMPCI_MPUIO 330 fi bool ' Enable joystick' CONFIG_SOUND_CMPCI_JOYSTICK bool ' Support CMI8738 based audio cards' CONFIG_SOUND_CMPCI_CM8738 if [ "$CONFIG_SOUND_CMPCI_CM8738" = "y" ]; then bool ' Inverse S/PDIF in for CMI8738' CONFIG_SOUND_CMPCI_SPDIFINVERSE bool ' Enable S/PDIF loop for CMI8738' CONFIG_SOUND_CMPCI_SPDIFLOOP int ' Number of speakers 2, 4, 5, 6' CONFIG_SOUND_CMPCI_SPEAKERS 2 if [ "$CONFIG_SOUND_CMPCI_SPEAKERS" != "2" ]; then bool ' Use Line-in as Read-out' CONFIG_SOUND_CMPCI_LINE_REAR bool ' Use Line-in as Bass' CONFIG_SOUND_CMPCI_LINE_BASS fi fi fi dep_tristate ' Creative SBLive! (EMU10K1)' CONFIG_SOUND_EMU10K1 $CONFIG_SOUND $CONFIG_PCI dep_mbool ' Creative SBLive! MIDI (EXPERIMENTAL)' CONFIG_MIDI_EMU10K1 $CONFIG_SOUND_EMU10K1 $CONFIG_EXPERIMENTAL dep_tristate ' Crystal SoundFusion (CS4280/461x)' CONFIG_SOUND_FUSION $CONFIG_SOUND dep_tristate ' Crystal Sound CS4281' CONFIG_SOUND_CS4281 $CONFIG_SOUND dep_tristate ' Ensoniq AudioPCI (ES1370)' CONFIG_SOUND_ES1370 $CONFIG_SOUND $CONFIG_PCI $CONFIG_SOUND_GAMEPORT dep_tristate ' Creative Ensoniq AudioPCI 97 (ES1371)' CONFIG_SOUND_ES1371 $CONFIG_SOUND $CONFIG_PCI $CONFIG_SOUND_GAMEPORT dep_tristate ' ESS Technology Solo1' CONFIG_SOUND_ESSSOLO1 $CONFIG_SOUND $CONFIG_SOUND_GAMEPORT dep_tristate ' ESS Maestro, Maestro2, Maestro2E driver' CONFIG_SOUND_MAESTRO $CONFIG_SOUND dep_tristate ' ESS Maestro3/Allegro driver (EXPERIMENTAL)' CONFIG_SOUND_MAESTRO3 $CONFIG_SOUND $CONFIG_PCI $CONFIG_EXPERIMENTAL dep_tristate ' Intel ICH (i8xx) audio support' CONFIG_SOUND_ICH $CONFIG_PCI dep_tristate ' RME Hammerfall (RME96XX) support (EXPERIMENTAL)' CONFIG_SOUND_RME96XX $CONFIG_SOUND $CONFIG_PCI $CONFIG_EXPERIMENTAL dep_tristate ' S3 SonicVibes' CONFIG_SOUND_SONICVIBES $CONFIG_SOUND $CONFIG_SOUND_GAMEPORT if [ "$CONFIG_VISWS" = "y" ]; then dep_tristate ' SGI Visual Workstation Sound' CONFIG_SOUND_VWSND $CONFIG_SOUND fi if [ "$CONFIG_DDB5477" = "y" ]; then dep_tristate ' NEC Vrc5477 AC97 sound' CONFIG_SOUND_VRC5477 $CONFIG_SOUND fi dep_tristate ' Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core' CONFIG_SOUND_TRIDENT $CONFIG_SOUND $CONFIG_SOUND_GAMEPORT dep_tristate ' Support for Turtle Beach MultiSound Classic, Tahiti, Monterey' CONFIG_SOUND_MSNDCLAS $CONFIG_SOUND if [ "$CONFIG_SOUND_MSNDCLAS" = "y" -o "$CONFIG_SOUND_MSNDCLAS" = "m" ]; then if [ "$CONFIG_SOUND_MSNDCLAS" = "y" ]; then comment ' Compiled-in MSND Classic support requires firmware during compilation.' define_bool CONFIG_MSNDCLAS_HAVE_BOOT y else define_bool CONFIG_MSNDCLAS_HAVE_BOOT n fi string 'Full pathname of MSNDINIT.BIN firmware file' CONFIG_MSNDCLAS_INIT_FILE "/etc/sound/msndinit.bin" string 'Full pathname of MSNDPERM.BIN firmware file' CONFIG_MSNDCLAS_PERM_FILE "/etc/sound/msndperm.bin" fi if [ "$CONFIG_SOUND_MSNDCLAS" = "y" ]; then int ' MSND Classic IRQ 5, 7, 9, 10, 11, 12' CONFIG_MSNDCLAS_IRQ 5 hex ' MSND Classic memory B0000, C8000, D0000, D8000, E0000, E8000' CONFIG_MSNDCLAS_MEM D0000 hex ' MSND Classic I/O 210, 220, 230, 240, 250, 260, 290, 3E0' CONFIG_MSNDCLAS_IO 290 fi dep_tristate ' Support for Turtle Beach MultiSound Pinnacle, Fiji' CONFIG_SOUND_MSNDPIN $CONFIG_SOUND if [ "$CONFIG_SOUND_MSNDPIN" = "y" -o "$CONFIG_SOUND_MSNDPIN" = "m" ]; then if [ "$CONFIG_SOUND_MSNDPIN" = "y" ]; then comment 'Compiled-in MSND Pinnacle support requires firmware during compilation.' define_bool CONFIG_MSNDPIN_HAVE_BOOT y else define_bool CONFIG_MSNDPIN_HAVE_BOOT n fi string ' Full pathname of PNDSPINI.BIN firmware file' CONFIG_MSNDPIN_INIT_FILE "/etc/sound/pndspini.bin" string ' Full pathname of PNDSPERM.BIN firmware file' CONFIG_MSNDPIN_PERM_FILE "/etc/sound/pndsperm.bin" fi if [ "$CONFIG_SOUND_MSNDPIN" = "y" ]; then int ' MSND Pinnacle IRQ 5, 7, 9, 10, 11, 12' CONFIG_MSNDPIN_IRQ 5 hex ' MSND Pinnacle memory B0000, C8000, D0000, D8000, E0000, E8000' CONFIG_MSNDPIN_MEM D0000 hex 'MSND Pinnacle I/O 210, 220, 230, 240, 250, 260, 290, 3E0' CONFIG_MSNDPIN_IO 290 bool ' MSND Pinnacle has S/PDIF I/O' CONFIG_MSNDPIN_DIGITAL bool ' MSND Pinnacle non-PnP Mode' CONFIG_MSNDPIN_NONPNP if [ "$CONFIG_MSNDPIN_NONPNP" = "y" ]; then comment 'MSND Pinnacle DSP section will be configured to above parameters.' hex 'MSND Pinnacle config port 250,260,270' CONFIG_MSNDPIN_CFG 250 comment 'Pinnacle-specific Device Configuration (0 disables)' hex 'MSND Pinnacle MPU I/O (e.g. 330)' CONFIG_MSNDPIN_MPU_IO 0 int 'MSND Pinnacle MPU IRQ (e.g. 9)' CONFIG_MSNDPIN_MPU_IRQ 0 hex 'MSND Pinnacle IDE I/O 0 (e.g. 170)' CONFIG_MSNDPIN_IDE_IO0 0 hex 'MSND Pinnacle IDE I/O 1 (e.g. 376)' CONFIG_MSNDPIN_IDE_IO1 0 int 'MSND Pinnacle IDE IRQ (e.g. 15)' CONFIG_MSNDPIN_IDE_IRQ 0 hex 'MSND Pinnacle joystick I/O (e.g. 200)' CONFIG_MSNDPIN_JOYSTICK_IO 0 fi fi if [ "$CONFIG_SOUND_MSNDPIN" = "y" -o "$CONFIG_SOUND_MSNDCLAS" = "y" ]; then int 'MSND buffer size (kB)' CONFIG_MSND_FIFOSIZE 128 fi dep_tristate ' VIA 82C686 Audio Codec' CONFIG_SOUND_VIA82CXXX $CONFIG_PCI dep_mbool ' VIA 82C686 MIDI' CONFIG_MIDI_VIA82CXXX $CONFIG_SOUND_VIA82CXXX if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then dep_tristate ' Yamaha AICA Super Intelligent Sound Processor' CONFIG_SOUND_AICA $CONFIG_SOUND fi dep_tristate ' OSS sound modules' CONFIG_SOUND_OSS $CONFIG_SOUND if [ "$CONFIG_SOUND_OSS" = "y" -o "$CONFIG_SOUND_OSS" = "m" ]; then bool ' Verbose initialisation' CONFIG_SOUND_TRACEINIT bool ' Persistent DMA buffers' CONFIG_SOUND_DMAP if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then dep_tristate ' AD1816(A) based cards (EXPERIMENTAL)' CONFIG_SOUND_AD1816 $CONFIG_SOUND_OSS fi dep_tristate ' Aztech Sound Galaxy (non-PnP) cards' CONFIG_SOUND_SGALAXY $CONFIG_SOUND_OSS dep_tristate ' Adlib Cards' CONFIG_SOUND_ADLIB $CONFIG_SOUND_OSS dep_tristate ' ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20)' CONFIG_SOUND_ACI_MIXER $CONFIG_SOUND_OSS dep_tristate ' Crystal CS4232 based (PnP) cards' CONFIG_SOUND_CS4232 $CONFIG_SOUND_OSS dep_tristate ' Ensoniq SoundScape support' CONFIG_SOUND_SSCAPE $CONFIG_SOUND_OSS dep_tristate ' Gravis Ultrasound support' CONFIG_SOUND_GUS $CONFIG_SOUND_OSS if [ "$CONFIG_SOUND_GUS" != "n" ]; then bool ' 16 bit sampling option of GUS (_NOT_ GUS MAX)' CONFIG_SOUND_GUS16 bool ' GUS MAX support' CONFIG_SOUND_GUSMAX fi dep_tristate ' Loopback MIDI device support' CONFIG_SOUND_VMIDI $CONFIG_SOUND_OSS dep_tristate ' MediaTrix AudioTrix Pro support' CONFIG_SOUND_TRIX $CONFIG_SOUND_OSS if [ "$CONFIG_SOUND_TRIX" = "y" ]; then bool ' Have TRXPRO.HEX firmware file' CONFIG_TRIX_HAVE_BOOT if [ "$CONFIG_TRIX_HAVE_BOOT" = "y" ]; then string ' Full pathname of TRXPRO.HEX firmware file' CONFIG_TRIX_BOOT_FILE /etc/sound/trxpro.hex fi fi dep_tristate ' Microsoft Sound System support' CONFIG_SOUND_MSS $CONFIG_SOUND_OSS dep_tristate ' MPU-401 support (NOT for SB16)' CONFIG_SOUND_MPU401 $CONFIG_SOUND_OSS dep_tristate ' NM256AV/NM256ZX audio support' CONFIG_SOUND_NM256 $CONFIG_SOUND_OSS dep_tristate ' OPTi MAD16 and/or Mozart based cards' CONFIG_SOUND_MAD16 $CONFIG_SOUND_OSS $CONFIG_SOUND_GAMEPORT if [ "$CONFIG_SOUND_MAD16" = "y" -o "$CONFIG_SOUND_MAD16" = "m" ]; then bool ' Support MIDI in older MAD16 based cards (requires SB)' CONFIG_MAD16_OLDCARD fi dep_tristate ' ProAudioSpectrum 16 support' CONFIG_SOUND_PAS $CONFIG_SOUND_OSS dep_bool ' Enable PAS16 joystick port' CONFIG_PAS_JOYSTICK $CONFIG_SOUND_PAS dep_tristate ' PSS (AD1848, ADSP-2115, ESC614) support' CONFIG_SOUND_PSS $CONFIG_SOUND_OSS if [ "$CONFIG_SOUND_PSS" = "y" -o "$CONFIG_SOUND_PSS" = "m" ]; then bool ' Enable PSS mixer (Beethoven ADSP-16 and other compatibile)' CONFIG_PSS_MIXER bool ' Have DSPxxx.LD firmware file' CONFIG_PSS_HAVE_BOOT if [ "$CONFIG_PSS_HAVE_BOOT" = "y" ]; then string ' Full pathname of DSPxxx.LD firmware file' CONFIG_PSS_BOOT_FILE /etc/sound/dsp001.ld fi fi dep_tristate ' 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support' CONFIG_SOUND_SB $CONFIG_SOUND_OSS dep_tristate ' AWE32 synth' CONFIG_SOUND_AWE32_SYNTH $CONFIG_SOUND_OSS dep_tristate ' Full support for Turtle Beach WaveFront (Tropez Plus, Tropez, Maui) synth/soundcards' CONFIG_SOUND_WAVEFRONT $CONFIG_SOUND_OSS m dep_tristate ' Limited support for Turtle Beach Wave Front (Maui, Tropez) synthesizers' CONFIG_SOUND_MAUI $CONFIG_SOUND_OSS if [ "$CONFIG_SOUND_MAUI" = "y" ]; then bool ' Have OSWF.MOT firmware file' CONFIG_MAUI_HAVE_BOOT if [ "$CONFIG_MAUI_HAVE_BOOT" = "y" ]; then string ' Full pathname of OSWF.MOT firmware file' CONFIG_MAUI_BOOT_FILE /etc/sound/oswf.mot fi fi dep_tristate ' Yamaha FM synthesizer (YM3812/OPL-3) support' CONFIG_SOUND_YM3812 $CONFIG_SOUND_OSS dep_tristate ' Yamaha OPL3-SA1 audio controller' CONFIG_SOUND_OPL3SA1 $CONFIG_SOUND_OSS dep_tristate ' Yamaha OPL3-SA2 and SA3 based PnP cards' CONFIG_SOUND_OPL3SA2 $CONFIG_SOUND_OSS dep_tristate ' Yamaha YMF7xx PCI audio (native mode)' CONFIG_SOUND_YMFPCI $CONFIG_SOUND_OSS $CONFIG_PCI dep_mbool ' Yamaha PCI legacy ports support' CONFIG_SOUND_YMFPCI_LEGACY $CONFIG_SOUND_YMFPCI dep_tristate ' 6850 UART support' CONFIG_SOUND_UART6850 $CONFIG_SOUND_OSS dep_tristate ' Gallant Audio Cards (SC-6000 and SC-6600 based)' CONFIG_SOUND_AEDSP16 $CONFIG_SOUND_OSS if [ "$CONFIG_SOUND_AEDSP16" = "y" -o "$CONFIG_SOUND_AEDSP16" = "m" ]; then bool ' SC-6600 based audio cards (new Audio Excel DSP 16)' CONFIG_SC6600 if [ "$CONFIG_SC6600" = "y" ]; then bool ' Activate SC-6600 Joystick Interface' CONFIG_SC6600_JOY int ' SC-6600 CDROM Interface (4=None, 3=IDE, 1=Panasonic, 0=?Sony?)' CONFIG_SC6600_CDROM 4 hex ' SC-6600 CDROM Interface I/O Address' CONFIG_SC6600_CDROMBASE 0 fi if [ "$CONFIG_SOUND_SB" = "y" -o "$CONFIG_SOUND_SB" = "m" ]; then if [ "$CONFIG_AEDSP16_MSS" != "y" ]; then bool ' Audio Excel DSP 16 (SBPro emulation)' CONFIG_AEDSP16_SBPRO fi fi if [ "$CONFIG_SOUND_MSS" = "y" -o "$CONFIG_SOUND_MSS" = "m" ]; then if [ "$CONFIG_AEDSP16_SBPRO" != "y" ]; then bool ' Audio Excel DSP 16 (MSS emulation)' CONFIG_AEDSP16_MSS fi fi if [ "$CONFIG_SOUND_MPU401" = "y" -o "$CONFIG_SOUND_MPU401" = "m" ]; then bool ' Audio Excel DSP 16 (MPU401 emulation)' CONFIG_AEDSP16_MPU401 fi fi if [ "$CONFIG_ARM" = "y" ]; then if [ "$CONFIG_ARCH_ACORN" = "y" -o "$CONFIG_ARCH_CLPS7500" = "y" ]; then dep_tristate ' VIDC 16-bit sound' CONFIG_SOUND_VIDC $CONFIG_SOUND_OSS fi dep_tristate ' Netwinder WaveArtist' CONFIG_SOUND_WAVEARTIST $CONFIG_SOUND_OSS $CONFIG_ARCH_NETWINDER fi fi dep_tristate ' TV card (bt848) mixer support' CONFIG_SOUND_TVMIXER $CONFIG_SOUND $CONFIG_I2C # A cross directory dependence. The sound modules will need gameport.o compiled in, # but it resides in the drivers/char/joystick directory. This define_tristate takes # care of that. --Vojtech if [ "$CONFIG_INPUT_GAMEPORT" != "n" ]; then if [ "$CONFIG_SOUND_ESSSOLO1" = "y" -o "$CONFIG_SOUND_ES1370" = "y" -o "$CONFIG_SOUND_ES1371" = "y" -o "$CONFIG_SOUND_SONICVIBES" = "y" ]; then define_tristate CONFIG_INPUT_GAMEPORT y fi fi |
From: M. R. B. <mr...@us...> - 2002-10-29 16:11:48
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/sound In directory usw-pr-cvs1:/tmp/cvs-serv7381 Modified Files: Makefile Log Message: Merge changes from Linux 2.5.44 Index: Makefile =================================================================== RCS file: /cvsroot/linuxdc/linux-sh-dc/drivers/sound/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile 9 Jan 2002 11:13:57 -0000 1.2 +++ Makefile 29 Oct 2002 16:11:45 -0000 1.3 @@ -3,18 +3,15 @@ # 18 Apr 1998, Michael Elizabeth Chastain, <mailto:me...@sh...> # Rewritten to use lists instead of if-statements. - # All of the (potential) objects that export symbols. # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'. -export-objs := ad1848.o audio_syms.o midi_syms.o mpu401.o \ - msnd.o opl3.o sb_common.o sequencer_syms.o \ - sound_core.o sound_syms.o uart401.o \ - nm256_audio.o ac97.o ac97_codec.o aci.o +export-objs := ad1848.o audio_syms.o midi_syms.o mpu401.o ac97_codec.o \ + msnd.o opl3.o sb_common.o sequencer_syms.o ac97.o aci.o \ + sound_syms.o uart401.o # Each configuration option enables a list of files. -obj-$(CONFIG_SOUND) += soundcore.o obj-$(CONFIG_SOUND_OSS) += sound.o obj-$(CONFIG_SOUND_CS4232) += cs4232.o ad1848.o @@ -78,42 +75,19 @@ obj-$(CONFIG_SOUND_EMU10K1) += sound.o endif -subdir-$(CONFIG_SOUND_EMU10K1) += emu10k1 -subdir-$(CONFIG_SOUND_CS4281) += cs4281 - -ifeq ($(CONFIG_SOUND_EMU10K1),y) - obj-y += emu10k1/emu10k1.o -endif - -ifeq ($(CONFIG_SOUND_CS4281),y) - obj-y += cs4281/cs4281.o -endif - -subdir-$(CONFIG_DMASOUND) += dmasound - -ifeq ($(CONFIG_DMASOUND),y) - obj-y += dmasound/dmasound.o -endif - -subdir-$(CONFIG_SOUND_AICA) += aica - -ifeq ($(CONFIG_SOUND_AICA),y) - obj-y += aica/aica.o -endif +obj-$(CONFIG_SOUND_EMU10K1) += emu10k1/ +obj-$(CONFIG_SOUND_CS4281) += cs4281/ +obj-$(CONFIG_DMASOUND) += dmasound/ +obj-$(CONFIG_SOUND_AICA) += aica/ # Declare multi-part drivers. -list-multi := sound.o gus.o pas2.o sb.o sb_lib.o vidc_mod.o \ - soundcore.o wavefront.o - sound-objs := \ dev_table.o soundcard.o sound_syms.o \ audio.o audio_syms.o dmabuf.o \ midi_syms.o midi_synth.o midibuf.o \ sequencer.o sequencer_syms.o sound_timer.o sys_timer.o -soundcore-objs := sound_core.o sound_firmware.o - gus-objs := gus_card.o gus_midi.o gus_vol.o gus_wave.o ics2101.o pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o sb-objs := sb_card.o @@ -121,179 +95,84 @@ vidc_mod-objs := vidc.o vidc_fill.o wavefront-objs := wavfront.o wf_midi.o yss225.o +host-progs := bin2hex hex2hex -O_TARGET := sounddrivers.o +# Files generated that shall be removed upon make clean +clean-files := maui_boot.h msndperm.c msndinit.c pndsperm.c pndspini.c \ + pss_boot.h trix_boot.h include $(TOPDIR)/Rules.make - - -# Link rules for multi-part drivers. - -sound.o: $(sound-objs) - $(LD) -r -o $@ $(sound-objs) - -soundcore.o: $(soundcore-objs) - $(LD) -r -o $@ $(soundcore-objs) - -gus.o: $(gus-objs) - $(LD) -r -o $@ $(gus-objs) - -pas2.o: $(pas2-objs) - $(LD) -r -o $@ $(pas2-objs) - -sb.o: $(sb-objs) - $(LD) -r -o $@ $(sb-objs) - -sb_lib.o: $(sb_lib-objs) - $(LD) -r -o $@ $(sb_lib-objs) - -vidc_mod.o: $(vidc_mod-objs) - $(LD) -r -o $@ $(vidc_mod-objs) - -wavefront.o: $(wavefront-objs) - $(LD) -r -o $@ $(wavefront-objs) - # Firmware files that need translation # # The translated files are protected by a file that keeps track # of what name was used to build them. If the name changes, they # will be forced to be remade. # -# First make the utilities. - -bin2hex: bin2hex.c - $(HOSTCC) $(HOSTCFLAGS) -o bin2hex bin2hex.c - -hex2hex: hex2hex.c - $(HOSTCC) $(HOSTCFLAGS) -o hex2hex hex2hex.c - - - # Turtle Beach Maui / Tropez -maui.o: maui_boot.h +$(obj)/maui.o: $(obj)/maui_boot.h ifeq ($(CONFIG_MAUI_HAVE_BOOT),y) - maui_boot.h: $(patsubst "%", %, $(CONFIG_MAUI_BOOT_FILE)) bin2hex - ./bin2hex -i maui_os < $(CONFIG_MAUI_BOOT_FILE) > $@ + $(obj)/maui_boot.h: $(patsubst "%", %, $(CONFIG_MAUI_BOOT_FILE)) $(obj)/bin2hex + $(obj)/bin2hex -i maui_os < $< > $@ else - maui_boot.h: + $(obj)/maui_boot.h: ( \ echo 'static unsigned char * maui_os = NULL;'; \ echo 'static int maui_osLen = 0;'; \ ) > $@ endif - @ ( \ - echo 'ifeq ($(strip $(CONFIG_MAUI_HAVE_BOOT) $(CONFIG_MAUI_BOOT_FILE)),$$(strip $$(CONFIG_MAUI_HAVE_BOOT) $$(CONFIG_MAUI_BOOT_FILE)))'; \ - echo 'FILES_BOOT_UP_TO_DATE += $@'; \ - echo 'endif' \ - ) > .$@.boot - - # Turtle Beach MultiSound ifeq ($(CONFIG_MSNDCLAS_HAVE_BOOT),y) - msnd_classic.o: msndperm.c msndinit.c + $(obj)/msnd_classic.o: $(obj)/msndperm.c $(obj)/msndinit.c - msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) bin2hex - ./bin2hex msndperm < $(CONFIG_MSNDCLAS_PERM_FILE) > $@ - @ ( \ - echo 'ifeq ($(strip $(CONFIG_MSNDCLAS_HAVE_BOOT) $(CONFIG_MSNDCLAS_PERM_FILE)),$$(strip $$(CONFIG_MSNDCLAS_HAVE_BOOT) $$(CONFIG_MSNDCLAS_PERM_FILE)))'; \ - echo 'FILES_BOOT_UP_TO_DATE += $@'; \ - echo 'endif' \ - ) > .$@.boot + $(obj)/msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) $(obj)/bin2hex + $(obj)/bin2hex msndperm < $< > $@ - msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) bin2hex - ./bin2hex msndinit < $(CONFIG_MSNDCLAS_INIT_FILE) > $@ - @ ( \ - echo 'ifeq ($(strip $(CONFIG_MSNDCLAS_HAVE_BOOT) $(CONFIG_MSNDCLAS_INIT_FILE)),$$(strip $$(CONFIG_MSNDCLAS_HAVE_BOOT) $$(CONFIG_MSNDCLAS_INIT_FILE)))'; \ - echo 'FILES_BOOT_UP_TO_DATE += $@'; \ - echo 'endif' \ - ) > .$@.boot + $(obj)/msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) $(obj)/bin2hex + $(obj)/bin2hex msndinit < $< > $@ endif ifeq ($(CONFIG_MSNDPIN_HAVE_BOOT),y) - msnd_pinnacle.o: pndsperm.c pndspini.c + $(obj)/msnd_pinnacle.o: $(obj)/pndsperm.c $(obj)/pndspini.c - pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) bin2hex - ./bin2hex pndsperm < $(CONFIG_MSNDPIN_PERM_FILE) > $@ - @ ( \ - echo 'ifeq ($(strip $(CONFIG_MSNDPIN_HAVE_BOOT) $(CONFIG_MSNDPIN_PERM_FILE)),$$(strip $$(CONFIG_MSNDPIN_HAVE_BOOT) $$(CONFIG_MSNDPIN_PERM_FILE)))'; \ - echo 'FILES_BOOT_UP_TO_DATE += $@'; \ - echo 'endif' \ - ) > .$@.boot + $(obj)/pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) $(obj)/bin2hex + $(obj)/bin2hex pndsperm < $< > $@ - pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) bin2hex - ./bin2hex pndspini < $(CONFIG_MSNDPIN_INIT_FILE) > $@ - @ ( \ - echo 'ifeq ($(strip $(CONFIG_MSNDPIN_HAVE_BOOT) $(CONFIG_MSNDPIN_INIT_FILE)),$$(strip $$(CONFIG_MSNDPIN_HAVE_BOOT) $$(CONFIG_MSNDPIN_INIT_FILE)))'; \ - echo 'FILES_BOOT_UP_TO_DATE += $@'; \ - echo 'endif' \ - ) > .$@.boot + $(obj)/pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) $(obj)/bin2hex + $(obj)/bin2hex pndspini < $< > $@ endif - - # PSS (ECHO-ADI2111) -pss.o: pss_boot.h +$(obj)/pss.o: $(obj)/pss_boot.h ifeq ($(CONFIG_PSS_HAVE_BOOT),y) - pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) bin2hex - ./bin2hex pss_synth < $(CONFIG_PSS_BOOT_FILE) > $@ + $(obj)/pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) $(obj)/bin2hex + $(obj)/bin2hex pss_synth < $< > $@ else - pss_boot.h: + $(obj)/pss_boot.h: ( \ echo 'static unsigned char * pss_synth = NULL;'; \ echo 'static int pss_synthLen = 0;'; \ ) > $@ endif - @ ( \ - echo 'ifeq ($(strip $(CONFIG_PSS_HAVE_BOOT) $(CONFIG_PSS_BOOT_FILE)),$$(strip $$(CONFIG_PSS_HAVE_BOOT) $$(CONFIG_PSS_BOOT_FILE)))'; \ - echo 'FILES_BOOT_UP_TO_DATE += $@'; \ - echo 'endif' \ - ) > .$@.boot - - # MediaTrix AudioTrix Pro -trix.o: trix_boot.h +$(obj)/trix.o: $(obj)/trix_boot.h ifeq ($(CONFIG_TRIX_HAVE_BOOT),y) - trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) hex2hex - ./hex2hex -i trix_boot < $(CONFIG_TRIX_BOOT_FILE) > $@ + $(obj)/trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) $(obj)/hex2hex + $(obj)/hex2hex -i trix_boot < $< > $@ else - trix_boot.h: + $(obj)/trix_boot.h: ( \ echo 'static unsigned char * trix_boot = NULL;'; \ echo 'static int trix_boot_len = 0;'; \ ) > $@ -endif - @ ( \ - echo 'ifeq ($(strip $(CONFIG_TRIX_HAVE_BOOT) $(CONFIG_TRIX_BOOT_FILE)),$$(strip $$(CONFIG_TRIX_HAVE_BOOT) $$(CONFIG_TRIX_BOOT_FILE)))'; \ - echo 'FILES_BOOT_UP_TO_DATE += $@'; \ - echo 'endif' \ - ) > .$@.boot - - - -# Find boot files whose source file names have changed and force rebuild. - -FILES_BOOT_UP_TO_DATE := - -FILES_BOOT_EXIST := $(wildcard .*.boot) -ifneq ($(FILES_BOOT_EXIST),) -include $(FILES_BOOT_EXIST) -endif - -FILES_BOOT_CHANGED := $(strip \ - $(filter-out $(FILES_BOOT_UP_TO_DATE), \ - maui_boot.h pss_boot.h trix_boot.h)) - -ifneq ($(FILES_BOOT_CHANGED),) -$(FILES_BOOT_CHANGED): dummy endif |
From: M. R. B. <mr...@us...> - 2002-10-29 16:09:53
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/sound In directory usw-pr-cvs1:/tmp/cvs-serv6440 Modified Files: Config.in Log Message: Merge changes from Linux 2.5.44 Index: Config.in =================================================================== RCS file: /cvsroot/linuxdc/linux-sh-dc/drivers/sound/Config.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Config.in 9 Jan 2002 11:13:57 -0000 1.2 +++ Config.in 29 Oct 2002 16:09:50 -0000 1.3 @@ -11,7 +11,6 @@ if [ "$CONFIG_SOUND_CMPCI" = "y" -o "$CONFIG_SOUND_CMPCI" = "m" ]; then bool ' Enable legacy FM' CONFIG_SOUND_CMPCI_FM if [ "$CONFIG_SOUND_CMPCI_FM" = "y" ]; then - define_hex CONFIG_SOUND_CMPCI_FMIO 388 hex ' FM I/O 388, 3C8, 3E0, 3E8' CONFIG_SOUND_CMPCI_FMIO 388 fi bool ' Enable legacy MPU-401' CONFIG_SOUND_CMPCI_MIDI @@ -31,24 +30,24 @@ fi fi dep_tristate ' Creative SBLive! (EMU10K1)' CONFIG_SOUND_EMU10K1 $CONFIG_SOUND $CONFIG_PCI -dep_mbool ' Creative SBLive! MIDI' CONFIG_MIDI_EMU10K1 $CONFIG_SOUND_EMU10K1 $CONFIG_EXPERIMENTAL +dep_mbool ' Creative SBLive! MIDI (EXPERIMENTAL)' CONFIG_MIDI_EMU10K1 $CONFIG_SOUND_EMU10K1 $CONFIG_EXPERIMENTAL dep_tristate ' Crystal SoundFusion (CS4280/461x)' CONFIG_SOUND_FUSION $CONFIG_SOUND dep_tristate ' Crystal Sound CS4281' CONFIG_SOUND_CS4281 $CONFIG_SOUND -dep_tristate ' Ensoniq AudioPCI (ES1370)' CONFIG_SOUND_ES1370 $CONFIG_SOUND $CONFIG_PCI -dep_tristate ' Creative Ensoniq AudioPCI 97 (ES1371)' CONFIG_SOUND_ES1371 $CONFIG_SOUND $CONFIG_PCI -dep_tristate ' ESS Technology Solo1' CONFIG_SOUND_ESSSOLO1 $CONFIG_SOUND +dep_tristate ' Ensoniq AudioPCI (ES1370)' CONFIG_SOUND_ES1370 $CONFIG_SOUND $CONFIG_PCI $CONFIG_SOUND_GAMEPORT +dep_tristate ' Creative Ensoniq AudioPCI 97 (ES1371)' CONFIG_SOUND_ES1371 $CONFIG_SOUND $CONFIG_PCI $CONFIG_SOUND_GAMEPORT +dep_tristate ' ESS Technology Solo1' CONFIG_SOUND_ESSSOLO1 $CONFIG_SOUND $CONFIG_SOUND_GAMEPORT dep_tristate ' ESS Maestro, Maestro2, Maestro2E driver' CONFIG_SOUND_MAESTRO $CONFIG_SOUND dep_tristate ' ESS Maestro3/Allegro driver (EXPERIMENTAL)' CONFIG_SOUND_MAESTRO3 $CONFIG_SOUND $CONFIG_PCI $CONFIG_EXPERIMENTAL dep_tristate ' Intel ICH (i8xx) audio support' CONFIG_SOUND_ICH $CONFIG_PCI -dep_tristate ' RME Hammerfall (RME96XX) support' CONFIG_SOUND_RME96XX $CONFIG_SOUND $CONFIG_PCI $CONFIG_EXPERIMENTAL -dep_tristate ' S3 SonicVibes' CONFIG_SOUND_SONICVIBES $CONFIG_SOUND +dep_tristate ' RME Hammerfall (RME96XX) support (EXPERIMENTAL)' CONFIG_SOUND_RME96XX $CONFIG_SOUND $CONFIG_PCI $CONFIG_EXPERIMENTAL +dep_tristate ' S3 SonicVibes' CONFIG_SOUND_SONICVIBES $CONFIG_SOUND $CONFIG_SOUND_GAMEPORT if [ "$CONFIG_VISWS" = "y" ]; then dep_tristate ' SGI Visual Workstation Sound' CONFIG_SOUND_VWSND $CONFIG_SOUND fi if [ "$CONFIG_DDB5477" = "y" ]; then dep_tristate ' NEC Vrc5477 AC97 sound' CONFIG_SOUND_VRC5477 $CONFIG_SOUND fi -dep_tristate ' Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core' CONFIG_SOUND_TRIDENT $CONFIG_SOUND +dep_tristate ' Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core' CONFIG_SOUND_TRIDENT $CONFIG_SOUND $CONFIG_SOUND_GAMEPORT dep_tristate ' Support for Turtle Beach MultiSound Classic, Tahiti, Monterey' CONFIG_SOUND_MSNDCLAS $CONFIG_SOUND if [ "$CONFIG_SOUND_MSNDCLAS" = "y" -o "$CONFIG_SOUND_MSNDCLAS" = "m" ]; then @@ -138,7 +137,7 @@ dep_tristate ' Microsoft Sound System support' CONFIG_SOUND_MSS $CONFIG_SOUND_OSS dep_tristate ' MPU-401 support (NOT for SB16)' CONFIG_SOUND_MPU401 $CONFIG_SOUND_OSS dep_tristate ' NM256AV/NM256ZX audio support' CONFIG_SOUND_NM256 $CONFIG_SOUND_OSS - dep_tristate ' OPTi MAD16 and/or Mozart based cards' CONFIG_SOUND_MAD16 $CONFIG_SOUND_OSS + dep_tristate ' OPTi MAD16 and/or Mozart based cards' CONFIG_SOUND_MAD16 $CONFIG_SOUND_OSS $CONFIG_SOUND_GAMEPORT if [ "$CONFIG_SOUND_MAD16" = "y" -o "$CONFIG_SOUND_MAD16" = "m" ]; then bool ' Support MIDI in older MAD16 based cards (requires SB)' CONFIG_MAD16_OLDCARD fi |
From: M. R. B. <mr...@us...> - 2002-10-29 15:55:24
|
Update of /cvsroot/linuxdc/linux-sh-dc In directory usw-pr-cvs1:/tmp/cvs-serv30672 Modified Files: ChangeLog.dc Log Message: Move AICA OSS files to sound/oss/ Index: ChangeLog.dc =================================================================== RCS file: /cvsroot/linuxdc/linux-sh-dc/ChangeLog.dc,v retrieving revision 1.57 retrieving revision 1.58 diff -u -d -r1.57 -r1.58 --- ChangeLog.dc 29 Oct 2002 15:20:16 -0000 1.57 +++ ChangeLog.dc 29 Oct 2002 15:54:49 -0000 1.58 @@ -1,5 +1,7 @@ 2002-10-29 M. R. Brown <mr...@li...> + * drivers/sound/aica/*: Move to sound/oss/. + Linux-SH 2.5.44 switchover. * Documentation/Configure.help, arch/sh/config.in, |
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/sound/aica/firmware In directory usw-pr-cvs1:/tmp/cvs-serv30672/drivers/sound/aica/firmware Removed Files: Makefile aica.c aica.h aica_cmd_iface.h bin2hex.pl crt0.s main.c prog.elf stream.drv Log Message: Move AICA OSS files to sound/oss/ --- Makefile DELETED --- --- aica.c DELETED --- --- aica.h DELETED --- --- aica_cmd_iface.h DELETED --- --- bin2hex.pl DELETED --- --- crt0.s DELETED --- --- main.c DELETED --- --- prog.elf DELETED --- --- stream.drv DELETED --- |
From: M. R. B. <mr...@us...> - 2002-10-29 15:54:55
|
Update of /cvsroot/linuxdc/linux-sh-dc/drivers/sound/aica In directory usw-pr-cvs1:/tmp/cvs-serv30672/drivers/sound/aica Removed Files: Makefile arm7.h main.c Log Message: Move AICA OSS files to sound/oss/ --- Makefile DELETED --- --- arm7.h DELETED --- --- main.c DELETED --- |
From: M. R. B. <mr...@us...> - 2002-10-29 15:51:00
|
Update of /cvsroot/linuxdc/linux-sh-dc/sound/oss/aica/firmware In directory usw-pr-cvs1:/tmp/cvs-serv28305 Added Files: Tag: 1.1 stream.drv Log Message: Moved. --- NEW FILE: stream.drv --- ð)á ã çp ã0ç ; ã 0â5â ; ã0â ;â ;â ã ¤@ áHâ 0 ã |
From: M. R. B. <mr...@us...> - 2002-10-29 15:50:43
|
Update of /cvsroot/linuxdc/linux-sh-dc/sound/oss/aica/firmware In directory usw-pr-cvs1:/tmp/cvs-serv28151 Added Files: Tag: 1.1 prog.elf Log Message: Moved. --- NEW FILE: prog.elf --- ELFa ð)á ã çp ã0ç ; ã 0â5â ; ã0â ;â ;â ã ¤@ áHâ 0 ã |