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 ã
|