This list is closed, nobody may subscribe to it.
2004 |
Jan
(53) |
Feb
(78) |
Mar
(34) |
Apr
(26) |
May
(25) |
Jun
(34) |
Jul
(16) |
Aug
(16) |
Sep
(2) |
Oct
(58) |
Nov
(13) |
Dec
(32) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(62) |
Feb
(4) |
Mar
(40) |
Apr
(9) |
May
(13) |
Jun
(26) |
Jul
(32) |
Aug
(24) |
Sep
(18) |
Oct
(18) |
Nov
(14) |
Dec
|
2006 |
Jan
(15) |
Feb
(2) |
Mar
(23) |
Apr
(2) |
May
(2) |
Jun
(13) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2007 |
Jan
(1) |
Feb
(45) |
Mar
|
Apr
(13) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(31) |
Dec
(5) |
2008 |
Jan
(6) |
Feb
(34) |
Mar
(113) |
Apr
(40) |
May
(19) |
Jun
(5) |
Jul
(41) |
Aug
(13) |
Sep
(53) |
Oct
(4) |
Nov
(53) |
Dec
|
2009 |
Jan
(1) |
Feb
(29) |
Mar
(66) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(163) |
Nov
|
Dec
(91) |
From: Albert H. <he...@us...> - 2008-03-02 21:03:59
|
Update of /cvsroot/gc-linux/linux/arch/powerpc/boot/dts In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24962/dts Log Message: Directory /cvsroot/gc-linux/linux/arch/powerpc/boot/dts added to the repository |
From: Albert H. <he...@us...> - 2008-03-02 21:02:51
|
Update of /cvsroot/gc-linux/linux/arch/powerpc/mm In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24556/mm Log Message: Directory /cvsroot/gc-linux/linux/arch/powerpc/mm added to the repository |
From: Albert H. <he...@us...> - 2008-03-02 21:02:51
|
Update of /cvsroot/gc-linux/linux/arch/powerpc/kernel In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24556/kernel Log Message: Directory /cvsroot/gc-linux/linux/arch/powerpc/kernel added to the repository |
From: Albert H. <he...@us...> - 2008-03-02 21:02:51
|
Update of /cvsroot/gc-linux/linux/arch/powerpc/platforms In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24556/platforms Log Message: Directory /cvsroot/gc-linux/linux/arch/powerpc/platforms added to the repository |
From: Albert H. <he...@us...> - 2008-03-02 21:02:51
|
Update of /cvsroot/gc-linux/linux/arch/powerpc/boot In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24556/boot Log Message: Directory /cvsroot/gc-linux/linux/arch/powerpc/boot added to the repository |
From: Albert H. <he...@us...> - 2008-03-02 21:01:45
|
Update of /cvsroot/gc-linux/linux/arch/powerpc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24146/powerpc Log Message: Directory /cvsroot/gc-linux/linux/arch/powerpc added to the repository |
From: Albert H. <he...@us...> - 2008-02-24 18:08:17
|
Update of /cvsroot/gc-linux/linux/drivers/serial In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv7245/drivers/serial Added Files: Kconfig Makefile usbgecko.c Log Message: Merged usbgecko console and tty driver. --- NEW FILE: Makefile --- # # Makefile for the kernel serial device drivers. # # $Id: Makefile,v 1.1 2008/02/24 18:08:15 herraa1 Exp $ # obj-$(CONFIG_SERIAL_CORE) += serial_core.o obj-$(CONFIG_SERIAL_21285) += 21285.o obj-$(CONFIG_SERIAL_8250) += 8250.o obj-$(CONFIG_SERIAL_8250_PNP) += 8250_pnp.o obj-$(CONFIG_SERIAL_8250_GSC) += 8250_gsc.o obj-$(CONFIG_SERIAL_8250_PCI) += 8250_pci.o obj-$(CONFIG_SERIAL_8250_HP300) += 8250_hp300.o obj-$(CONFIG_SERIAL_8250_CS) += serial_cs.o obj-$(CONFIG_SERIAL_8250_ACORN) += 8250_acorn.o obj-$(CONFIG_SERIAL_8250_CONSOLE) += 8250_early.o obj-$(CONFIG_SERIAL_8250_FOURPORT) += 8250_fourport.o obj-$(CONFIG_SERIAL_8250_ACCENT) += 8250_accent.o obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o obj-$(CONFIG_SERIAL_8250_MCA) += 8250_mca.o obj-$(CONFIG_SERIAL_8250_AU1X00) += 8250_au1x00.o obj-$(CONFIG_SERIAL_AMBA_PL010) += amba-pl010.o obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o obj-$(CONFIG_SERIAL_PXA) += pxa.o obj-$(CONFIG_SERIAL_PNX8XXX) += pnx8xxx_uart.o obj-$(CONFIG_SERIAL_SA1100) += sa1100.o obj-$(CONFIG_SERIAL_BFIN) += bfin_5xx.o obj-$(CONFIG_SERIAL_S3C2410) += s3c2410.o obj-$(CONFIG_SERIAL_SUNCORE) += suncore.o obj-$(CONFIG_SERIAL_SUNHV) += sunhv.o obj-$(CONFIG_SERIAL_SUNZILOG) += sunzilog.o obj-$(CONFIG_SERIAL_IP22_ZILOG) += ip22zilog.o obj-$(CONFIG_SERIAL_SUNSU) += sunsu.o obj-$(CONFIG_SERIAL_SUNSAB) += sunsab.o obj-$(CONFIG_SERIAL_MUX) += mux.o obj-$(CONFIG_SERIAL_68328) += 68328serial.o obj-$(CONFIG_SERIAL_68360) += 68360serial.o obj-$(CONFIG_SERIAL_COLDFIRE) += mcfserial.o obj-$(CONFIG_V850E_UART) += v850e_uart.o obj-$(CONFIG_SERIAL_PMACZILOG) += pmac_zilog.o obj-$(CONFIG_SERIAL_LH7A40X) += serial_lh7a40x.o obj-$(CONFIG_SERIAL_DZ) += dz.o obj-$(CONFIG_SERIAL_ZS) += zs.o obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o obj-$(CONFIG_SERIAL_CPM) += cpm_uart/ obj-$(CONFIG_SERIAL_IMX) += imx.o obj-$(CONFIG_SERIAL_MPC52xx) += mpc52xx_uart.o obj-$(CONFIG_SERIAL_ICOM) += icom.o obj-$(CONFIG_SERIAL_M32R_SIO) += m32r_sio.o obj-$(CONFIG_SERIAL_MPSC) += mpsc.o obj-$(CONFIG_SERIAL_SB1250_DUART) += sb1250-duart.o obj-$(CONFIG_ETRAX_SERIAL) += crisv10.o obj-$(CONFIG_SERIAL_JSM) += jsm/ obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o obj-$(CONFIG_SERIAL_VR41XX) += vr41xx_siu.o obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o obj-$(CONFIG_SERIAL_SGI_IOC3) += ioc3_serial.o obj-$(CONFIG_SERIAL_ATMEL) += atmel_serial.o obj-$(CONFIG_SERIAL_UARTLITE) += uartlite.o obj-$(CONFIG_SERIAL_NETX) += netx-serial.o obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o obj-$(CONFIG_SERIAL_USBGECKO) += usbgecko.o --- NEW FILE: usbgecko.c --- /* * drivers/serial/usbgecko.c * * Console and TTY driver for the USB Gecko adapter. * Copyright (C) 2008 The GameCube Linux Team * Copyright (C) 2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * */ #define UG_DEBUG #include <linux/kernel.h> #include <linux/device.h> #include <linux/module.h> #include <linux/init.h> #include <linux/console.h> #include <linux/tty.h> #include <linux/tty_driver.h> #include <linux/tty_flip.h> #include <linux/kthread.h> #include <linux/delay.h> #include <linux/exi.h> #define DRV_MODULE_NAME "usbgecko" #define DRV_DESCRIPTION "Console and TTY driver for the USB Gecko adapter" #define DRV_AUTHOR "Albert Herranz" MODULE_AUTHOR(DRV_AUTHOR); MODULE_DESCRIPTION(DRV_DESCRIPTION); MODULE_LICENSE("GPL"); static char ug_driver_version[] = "0.1-isobel"; #define ug_printk(level, format, arg...) \ printk(level DRV_MODULE_NAME ": " format , ## arg) #ifdef UG_DEBUG # define DBG(fmt, args...) \ printk(KERN_ERR "%s: " fmt, __FUNCTION__ , ## args) #else # define DBG(fmt, args...) #endif /* * * EXI related definitions. */ #define UG_SLOTA_CHANNEL 0 /* EXI0xxx */ #define UG_SLOTA_DEVICE 0 /* chip select, EXI0CSB0 */ #define UG_SLOTB_CHANNEL 1 /* EXI1xxx */ #define UG_SLOTB_DEVICE 0 /* chip select, EXI1CSB0 */ #define UG_SPI_CLK_IDX EXI_CLK_32MHZ struct ug_adapter { struct exi_device *exi_device; struct task_struct *poller; struct mutex mutex; int refcnt; }; static struct ug_adapter ug_adapters[2]; /* * * Hardware interface. */ /* * */ static void ug_exi_io_transaction(struct exi_device *exi_device, u16 i, u16 *o) { u16 data; exi_dev_select(exi_device); data = i; exi_dev_readwrite(exi_device, &data, 2); exi_dev_deselect(exi_device); *o = data; } #if 0 /* * */ static void ug_io_transaction(struct ug_adapter *adapter, u16 i, u16 *o) { struct exi_device *exi_device = adapter->exi_device; if (exi_device) ug_exi_io_transaction(exi_device, i, o); } #endif /* * */ static int ug_check_adapter(struct exi_device *exi_device) { u16 data; exi_dev_take(exi_device); ug_exi_io_transaction(exi_device, 0x9000, &data); exi_dev_give(exi_device); return (data == 0x0470); } #if 0 /* * */ static int ug_is_txfifo_empty(struct ug_adapter *adapter) { struct exi_device *exi_device = adapter->exi_device; u16 data; if (!exi_device) return 0; if (!exi_dev_try_take(exi_device)) { ug_exi_io_transaction(exi_device, 0xC000, &data); exi_dev_give(exi_device); return (data & 0x0400); } return 0; } /* * */ static int ug_is_rxfifo_empty(struct ug_adapter *adapter) { struct exi_device *exi_device = adapter->exi_device; u16 data; if (!exi_device) return 0; if (!exi_dev_try_take(exi_device)) { ug_exi_io_transaction(exi_device, 0xD000, &data); exi_dev_give(exi_device); return (data & 0x0400); } return 0; } /* * */ static int ug_putc(struct ug_adapter *adapter, char c) { struct exi_device *exi_device = adapter->exi_device; u16 data; if (!exi_device) return 0; if (!exi_dev_try_take(exi_device)) { ug_exi_io_transaction(exi_device, 0xB000|(c<<4), &data); exi_dev_give(exi_device); return (data & 0x0400); } return 0; } /* * */ static int ug_getc(struct ug_adapter *adapter, char *c) { struct exi_device *exi_device = adapter->exi_device; u16 data; if (!exi_device) return 0; if (!exi_dev_try_take(exi_device)) { ug_exi_io_transaction(exi_device, 0xA000, &data); exi_dev_give(exi_device); if ((data & 0x0800)) { *c = data & 0xff; return 1; } } return 0; } #endif /* * */ static int ug_safe_putc(struct ug_adapter *adapter, char c) { struct exi_device *exi_device = adapter->exi_device; u16 data; if (!exi_device) return 0; if (!exi_dev_try_take(exi_device)) { ug_exi_io_transaction(exi_device, 0xC000, &data); if ((data & 0x0400)) ug_exi_io_transaction(exi_device, 0xB000|(c<<4), &data); exi_dev_give(exi_device); return (data & 0x0400); } return 0; } /* * */ static int ug_safe_getc(struct ug_adapter *adapter, char *c) { struct exi_device *exi_device = adapter->exi_device; u16 data; if (!exi_device) return 0; if (!exi_dev_try_take(exi_device)) { ug_exi_io_transaction(exi_device, 0xD000, &data); if ((data & 0x0400)) { ug_exi_io_transaction(exi_device, 0xA000, &data); exi_dev_give(exi_device); if ((data & 0x0800)) { *c = data & 0xff; return 1; } } else { exi_dev_give(exi_device); } } return 0; } /* * * Linux console interface. */ /* * */ static void ug_console_write(struct console *co, const char *buf, unsigned int count) { struct ug_adapter *adapter = co->data; char *b = (char *)buf; while(count--) ug_safe_putc(adapter, *b++); } /* * */ static int ug_console_read(struct console *co, char *buf, unsigned int count) { struct ug_adapter *adapter = co->data; int i; char c; for (i = 0; i < count; i++) { ug_safe_getc(adapter, &c); *buf++ = c; } return count; } static struct tty_driver *ug_tty_driver = NULL; static struct tty_driver *ug_console_device(struct console *co, int *index) { *index = co->index; return ug_tty_driver; } static struct console ug_consoles[]= { { .name = DRV_MODULE_NAME "0", .write = ug_console_write, .read = ug_console_read, .device = ug_console_device, .flags = CON_PRINTBUFFER | CON_ENABLED, .index = 0, .data = &ug_adapters[0], }, { .name = DRV_MODULE_NAME "1", .write = ug_console_write, .read = ug_console_read, .device = ug_console_device, .flags = CON_PRINTBUFFER | CON_ENABLED, .index = 1, .data = &ug_adapters[1], }, }; /* * * Linux tty driver. */ static int ug_tty_poller(void *tty_) { struct tty_struct *tty = tty_; struct ug_adapter *adapter = tty->driver_data; struct sched_param param = { .sched_priority = 1 }; int count; char ch; sched_setscheduler(current, SCHED_FIFO, ¶m); set_task_state(current, TASK_RUNNING); while(!kthread_should_stop()) { count = ug_safe_getc(adapter, &ch); set_task_state(current, TASK_INTERRUPTIBLE); if (count) { tty_insert_flip_char(tty, ch, TTY_NORMAL); tty_flip_buffer_push(tty); } schedule_timeout(1); set_task_state(current, TASK_RUNNING); } return 0; } static int ug_tty_open(struct tty_struct *tty, struct file *filp) { struct ug_adapter *adapter; int index; int retval = 0; index = tty->index; adapter = &ug_adapters[index]; mutex_lock(&adapter->mutex); if (!adapter->exi_device) { mutex_unlock(&adapter->mutex); return -ENODEV; } if (!adapter->refcnt) { adapter->poller = kthread_run(ug_tty_poller, tty, "kugtty"); if (IS_ERR(adapter->poller)) { ug_printk(KERN_ERR, "error creating poller thread\n"); mutex_unlock(&adapter->mutex); return -ENOMEM; } } adapter->refcnt++; tty->driver_data = adapter; mutex_unlock(&adapter->mutex); return retval; } static void ug_tty_close(struct tty_struct *tty, struct file *filp) { struct ug_adapter *adapter; int index; index = tty->index; adapter = &ug_adapters[index]; mutex_lock(&adapter->mutex); adapter->refcnt--; if (!adapter->refcnt) { if (!IS_ERR(adapter->poller)) kthread_stop(adapter->poller); adapter->poller = ERR_PTR(-EINVAL); tty->driver_data = NULL; } mutex_unlock(&adapter->mutex); } static int ug_tty_write(struct tty_struct *tty, const unsigned char *buf, int count) { struct ug_adapter *adapter = tty->driver_data; char *b = (char *)buf; int index; int i; if (!adapter) return -ENODEV; index = tty->index; adapter = &ug_adapters[index]; for(i = 0; i < count; i++) ug_safe_putc(adapter, *b++); return count; } static int ug_tty_write_room(struct tty_struct *tty) { return 0x123; /* whatever */ } static int ug_tty_chars_in_buffer(struct tty_struct *tty) { return 0; /* unbuffered */ } static const struct tty_operations ug_tty_ops = { .open = ug_tty_open, .close = ug_tty_close, .write = ug_tty_write, .write_room = ug_tty_write_room, .chars_in_buffer = ug_tty_chars_in_buffer, }; static int ug_tty_init(void) { struct tty_driver *driver; int retval; driver = alloc_tty_driver(2); if (!driver) return -ENOMEM; driver->name = DRV_MODULE_NAME "con"; driver->major = TTY_MAJOR; driver->minor_start = 64; driver->type = TTY_DRIVER_TYPE_SYSCONS; driver->init_termios = tty_std_termios; tty_set_operations(driver, &ug_tty_ops); retval = tty_register_driver(driver); if (retval) { put_tty_driver(driver); return retval; } ug_tty_driver = driver; return 0; } static void ug_tty_exit(void) { struct tty_driver *driver = ug_tty_driver; ug_tty_driver = NULL; if (driver) { tty_unregister_driver(driver); put_tty_driver(driver); } } /* * * EXI layer interface. */ /* * */ static int ug_probe(struct exi_device *exi_device) { struct console *console; struct ug_adapter *adapter; unsigned int slot; /* don't try to drive a device which already has a real identifier */ if (exi_device->eid.id != EXI_ID_NONE) return -ENODEV; if (!ug_check_adapter(exi_device)) return -ENODEV; slot = to_channel(exi_get_exi_channel(exi_device)); console = &ug_consoles[slot]; adapter = console->data; ug_printk(KERN_INFO, "USB Gecko detected in memcard slot-%c\n", 'A'+slot); adapter->poller = ERR_PTR(-EINVAL); mutex_init(&adapter->mutex); adapter->refcnt = 0; adapter->exi_device = exi_device_get(exi_device); exi_set_drvdata(exi_device, adapter); register_console(console); ug_tty_init(); return 0; } /* * Makes unavailable the USB Gecko adapter identified by the EXI device * `exi_device'. */ static void ug_remove(struct exi_device *exi_device) { struct console *console; struct ug_adapter *adapter; unsigned int slot; slot = to_channel(exi_get_exi_channel(exi_device)); console = &ug_consoles[slot]; adapter = console->data; ug_tty_exit(); unregister_console(console); exi_set_drvdata(exi_device, NULL); adapter->exi_device = NULL; exi_device_put(exi_device); mutex_destroy(&adapter->mutex); ug_printk(KERN_INFO, "USB Gecko removed from memcard slot-%c\n", 'A'+slot); } static struct exi_device_id ug_eid_table[] = { [0] = { .channel = UG_SLOTA_CHANNEL, .device = UG_SLOTA_DEVICE, .id = EXI_ID_NONE, }, [1] = { .channel = UG_SLOTB_CHANNEL, .device = UG_SLOTB_DEVICE, .id = EXI_ID_NONE, }, {.id = 0} }; static struct exi_driver ug_exi_driver = { .name = DRV_MODULE_NAME, .eid_table = ug_eid_table, .frequency = UG_SPI_CLK_IDX, .probe = ug_probe, .remove = ug_remove, }; /* * * Module interface. */ static int __init ug_init_module(void) { ug_printk(KERN_INFO, "%s - version %s\n", DRV_DESCRIPTION, ug_driver_version); return exi_driver_register(&ug_exi_driver); } static void __exit ug_exit_module(void) { exi_driver_unregister(&ug_exi_driver); } module_init(ug_init_module); module_exit(ug_exit_module); --- NEW FILE: Kconfig --- # # Serial device configuration # # $Id: Kconfig,v 1.1 2008/02/24 18:08:15 herraa1 Exp $ # menu "Serial drivers" depends on HAS_IOMEM # # The new 8250/16550 serial drivers config SERIAL_8250 tristate "8250/16550 and compatible serial support" depends on (BROKEN || !SPARC) select SERIAL_CORE ---help--- This selects whether you want to include the driver for the standard serial ports. The standard answer is Y. People who might say N here are those that are setting up dedicated Ethernet WWW/FTP [...1261 lines suppressed...] help If you have a PowerPC based system that has serial ports on a platform specific bus, you should enable this option. Currently, only 8250 compatible ports are supported, but others can easily be added. config SERIAL_USBGECKO bool "USBGecko adapter on the Nintendo GameCube" depends on GAMECUBE_EXI select SERIAL_CORE help This is a driver for the USB Gecko adapter for the Nintendo GameCube and Wii gaming consoles. It provides a console and a tty interface. If you have an adapter like this, say Y here, otherwise say N. To compile this driver as a module, choose M here: the module will be called usbgecko. endmenu |
From: Albert H. <he...@us...> - 2008-02-24 18:06:01
|
Update of /cvsroot/gc-linux/linux/drivers/net In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers/net Modified Files: Kconfig Makefile gcn-bba.c Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: gcn-bba.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/net/gcn-bba.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- gcn-bba.c 18 Feb 2007 22:56:02 -0000 1.11 +++ gcn-bba.c 24 Feb 2008 18:05:33 -0000 1.12 @@ -2,9 +2,9 @@ * drivers/net/gcn-bba.c * * Nintendo GameCube Broadband Adapter driver - * Copyright (C) 2004-2005 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * Copyright (C) 2005 Todd Jeffreys - * Copyright (C) 2004,2005 Albert Herranz + * Copyright (C) 2004,2005,2006,2007,2008 Albert Herranz * * Based on previous work by Stefan Esser, Franz Lehner, Costis and tmbinc. * @@ -379,7 +379,7 @@ static int bba_event_handler(struct exi_channel *exi_channel, unsigned int event, void *dev0); -static int bba_reset(struct net_device *dev); +static int bba_setup_hardware(struct net_device *dev); /* * Opens the network device. @@ -403,7 +403,7 @@ /* reset the hardware to a known state */ exi_dev_take(priv->exi_device); - retval = bba_reset(dev); + retval = bba_setup_hardware(dev); exi_dev_give(priv->exi_device); /* inform the network layer that we are ready */ @@ -737,9 +737,13 @@ /* * Input/Output thread. Sends and receives packets. */ -static int bba_io_thread(void *param) +static int bba_io_thread(void *bba_priv) { - struct bba_private *priv = param; + struct bba_private *priv = bba_priv; +// struct task_struct *me = current; +// struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 }; + +// sched_setscheduler(me, SCHED_FIFO, ¶m); set_user_nice(current, -20); current->flags |= PF_NOFREEZE; @@ -840,10 +844,22 @@ } /* + * Retrieves the MAC address of the adapter. + * Caller has already taken the exi channel. + */ +static void bba_retrieve_ether_addr(struct net_device *dev) +{ + bba_ins(BBA_NAFR_PAR0, dev->dev_addr, ETH_ALEN); + if (!is_valid_ether_addr(dev->dev_addr)) { + random_ether_addr(dev->dev_addr); + } +} + +/* * Resets the hardware to a known state. * Caller has already taken the exi channel. */ -static int bba_reset(struct net_device *dev) +static void bba_reset_hardware(struct net_device *dev) { struct bba_private *priv = (struct bba_private *)dev->priv; @@ -881,7 +897,7 @@ bba_out8(0x5c, bba_in8(0x5c) | 4); udelay(1000); - /* accept broadcast, assert int for every two packets received */ + /* accept broadcast, assert int for every packet received */ bba_out8(BBA_NCRB, BBA_NCRB_AB | BBA_NCRB_1_PACKET_PER_INT); /* setup receive interrupt time out, in 40ns units */ @@ -900,20 +916,21 @@ bba_out12(BBA_RWP, BBA_INIT_RWP); bba_out12(BBA_RRP, BBA_INIT_RRP); - /* start receiver */ - bba_out8(BBA_NCRA, BBA_NCRA_SR); - /* packet memory won't contain packets with RW, FO, CRC errors */ bba_out8(BBA_GCA, BBA_GCA_ARXERRB); +} - /* retrieve MAC address */ - bba_ins(BBA_NAFR_PAR0, dev->dev_addr, ETH_ALEN); - if (!is_valid_ether_addr(dev->dev_addr)) { - random_ether_addr(dev->dev_addr); - } +/* + * Prepares the hardware for operation. + * Caller has already taken the exi channel. + */ +static int bba_setup_hardware(struct net_device *dev) +{ + /* reset hardware to a sane state */ + bba_reset_hardware(dev); - /* setup broadcast address */ - memset(dev->broadcast, 0xff, ETH_ALEN); + /* start receiver */ + bba_out8(BBA_NCRA, BBA_NCRA_SR); /* clear all interrupts */ bba_out8(BBA_IR, 0xFF); @@ -992,7 +1009,7 @@ if (status & mask) { DBG("bba: killing interrupt!\n"); /* reset the adapter so that we can continue working */ - bba_reset(dev); + bba_setup_hardware(dev); goto out; } @@ -1074,17 +1091,18 @@ */ static int __devinit bba_init_device(struct exi_device *exi_device) { - struct net_device *dev = NULL; + struct net_device *dev; struct bba_private *priv; int err; /* allocate a network device */ dev = alloc_etherdev(sizeof(*priv)); if (!dev) { - printk(KERN_ERR "unable to allocate net device\n"); + bba_printk(KERN_ERR, "unable to allocate net device\n"); err = -ENOMEM; goto err_out; } + SET_NETDEV_DEV(dev, &exi_device->dev); /* we use the event system from the EXI driver, so no irq here */ dev->irq = 0; @@ -1095,8 +1113,6 @@ dev->hard_start_xmit = bba_start_xmit; dev->get_stats = bba_get_stats; - SET_MODULE_OWNER(dev); - priv = netdev_priv(dev); priv->dev = dev; priv->exi_device = exi_device; @@ -1115,25 +1131,33 @@ init_waitqueue_head(&priv->io_waitq); priv->io_thread = kthread_run(bba_io_thread, priv, "kbbaiod"); - ether_setup(dev); + /* the hardware can't do multicast */ dev->flags &= ~IFF_MULTICAST; - err = register_netdev(dev); - if (err) { - bba_printk(KERN_ERR, "Cannot register net device, aborting.\n"); - goto err_out_free_dev; - } - + exi_set_drvdata(exi_device, dev); if (bba_dev) free_netdev(bba_dev); bba_dev = dev; - exi_set_drvdata(exi_device,dev); + /* we need to retrieve the MAC address before registration */ + exi_dev_take(priv->exi_device); + bba_reset_hardware(dev); + bba_retrieve_ether_addr(dev); + exi_dev_give(priv->exi_device); + + /* this makes our device available to the kernel */ + err = register_netdev(dev); + if (err) { + bba_printk(KERN_ERR, "cannot register net device, aborting.\n"); + goto err_out_free_dev; + } return 0; err_out_free_dev: + exi_set_drvdata(exi_device, NULL); free_netdev(dev); + bba_dev = NULL; err_out: return err; Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/net/Makefile,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- Makefile 16 Nov 2007 23:26:08 -0000 1.24 +++ Makefile 24 Feb 2008 18:05:33 -0000 1.25 @@ -3,14 +3,19 @@ # obj-$(CONFIG_E1000) += e1000/ +obj-$(CONFIG_E1000E) += e1000e/ obj-$(CONFIG_IBM_EMAC) += ibm_emac/ +obj-$(CONFIG_IBM_NEW_EMAC) += ibm_newemac/ +obj-$(CONFIG_IXGBE) += ixgbe/ obj-$(CONFIG_IXGB) += ixgb/ +obj-$(CONFIG_IP1000) += ipg.o obj-$(CONFIG_CHELSIO_T1) += chelsio/ obj-$(CONFIG_CHELSIO_T3) += cxgb3/ obj-$(CONFIG_EHEA) += ehea/ obj-$(CONFIG_BONDING) += bonding/ obj-$(CONFIG_ATL1) += atl1/ obj-$(CONFIG_GIANFAR) += gianfar_driver.o +obj-$(CONFIG_TEHUTI) += tehuti.o gianfar_driver-objs := gianfar.o \ gianfar_ethtool.o \ @@ -39,7 +44,6 @@ obj-$(CONFIG_MACE) += mace.o obj-$(CONFIG_BMAC) += bmac.o -obj-$(CONFIG_DGRS) += dgrs.o obj-$(CONFIG_VORTEX) += 3c59x.o obj-$(CONFIG_TYPHOON) += typhoon.o obj-$(CONFIG_NE2K_PCI) += ne2k-pci.o 8390.o @@ -92,6 +96,10 @@ obj-$(CONFIG_HP100) += hp100.o obj-$(CONFIG_SMC9194) += smc9194.o obj-$(CONFIG_FEC) += fec.o +obj-$(CONFIG_FEC_MPC52xx) += fec_mpc52xx.o +ifeq ($(CONFIG_FEC_MPC52xx_MDIO),y) + obj-$(CONFIG_FEC_MPC52xx) += fec_mpc52xx_phy.o +endif obj-$(CONFIG_68360_ENET) += 68360enet.o obj-$(CONFIG_WD80x3) += wd.o 8390.o obj-$(CONFIG_EL2) += 3c503.o 8390.o @@ -106,7 +114,7 @@ obj-$(CONFIG_ES3210) += es3210.o 8390.o obj-$(CONFIG_LNE390) += lne390.o 8390.o obj-$(CONFIG_NE3210) += ne3210.o 8390.o -obj-$(CONFIG_NET_SB1250_MAC) += sb1250-mac.o +obj-$(CONFIG_SB1250_MAC) += sb1250-mac.o obj-$(CONFIG_B44) += b44.o obj-$(CONFIG_FORCEDETH) += forcedeth.o obj-$(CONFIG_NE_H8300) += ne-h8300.o @@ -155,6 +163,7 @@ obj-$(CONFIG_8139TOO) += 8139too.o obj-$(CONFIG_ZNET) += znet.o obj-$(CONFIG_LAN_SAA9730) += saa9730.o +obj-$(CONFIG_CPMAC) += cpmac.o obj-$(CONFIG_DEPCA) += depca.o obj-$(CONFIG_EWRK3) += ewrk3.o obj-$(CONFIG_ATP) += atp.o @@ -178,7 +187,6 @@ obj-$(CONFIG_HPLANCE) += hplance.o 7990.o obj-$(CONFIG_MVME147_NET) += mvme147.o 7990.o obj-$(CONFIG_EQUALIZER) += eql.o -obj-$(CONFIG_LGUEST_NET) += lguest_net.o obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o obj-$(CONFIG_MIPS_AU1X00_ENET) += au1000_eth.o obj-$(CONFIG_MIPS_SIM_NET) += mipsnet.o @@ -193,6 +201,7 @@ obj-$(CONFIG_MACMACE) += macmace.o obj-$(CONFIG_MAC89x0) += mac89x0.o obj-$(CONFIG_TUN) += tun.o +obj-$(CONFIG_VETH) += veth.o obj-$(CONFIG_NET_NETX) += netx-eth.o obj-$(CONFIG_DL2K) += dl2k.o obj-$(CONFIG_R8169) += r8169.o @@ -237,3 +246,5 @@ obj-$(CONFIG_FS_ENET) += fs_enet/ obj-$(CONFIG_NETXEN_NIC) += netxen/ +obj-$(CONFIG_NIU) += niu.o +obj-$(CONFIG_VIRTIO_NET) += virtio_net.o Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/net/Kconfig,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- Kconfig 19 Nov 2007 17:57:25 -0000 1.28 +++ Kconfig 24 Feb 2008 18:05:32 -0000 1.29 @@ -135,6 +135,13 @@ If you don't know what to use this for, you don't need it. +config VETH + tristate "Virtual ethernet pair device" + ---help--- + This device is a local ethernet tunnel. Devices are created in pairs. + When one end receives the packet it appears on its pair and vice + versa. + config NET_SB1000 [...1193 lines suppressed...] + help + This option enables the ability to dynamically reconfigure target + parameters (interface, IP addresses, port numbers, MAC addresses) + at runtime through a userspace interface exported using configfs. + See <file:Documentation/networking/netconsole.txt> for details. + config NETPOLL def_bool NETCONSOLE @@ -3094,4 +3069,10 @@ config NET_POLL_CONTROLLER def_bool NETPOLL +config VIRTIO_NET + tristate "Virtio network driver (EXPERIMENTAL)" + depends on EXPERIMENTAL && VIRTIO + ---help--- + This is the virtual network driver for lguest. Say Y or M. + endif # NETDEVICES |
From: Albert H. <he...@us...> - 2008-02-24 18:06:01
|
Update of /cvsroot/gc-linux/linux/drivers/misc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers/misc Modified Files: Kconfig Makefile gcn-gqr.c Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: gcn-gqr.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/misc/gcn-gqr.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- gcn-gqr.c 14 Nov 2007 23:08:49 -0000 1.2 +++ gcn-gqr.c 24 Feb 2008 18:05:32 -0000 1.3 @@ -2,9 +2,9 @@ * drivers/misc/gcn-gqr.c * * Nintendo GameCube GQR driver - * Copyright (C) 2004-2007 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * Copyright (C) 2004 Todd Jeffreys <to...@vo...> - * Copyright (C) 2007 Albert Herranz + * Copyright (C) 2007,2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -25,18 +25,6 @@ static u32 gqr_values[8]; static struct ctl_table_header *gqr_table_header = NULL; -enum { - CTL_GQRDIR = 1, - CTL_GQR0, - CTL_GQR1, - CTL_GQR2, - CTL_GQR3, - CTL_GQR4, - CTL_GQR5, - CTL_GQR6, - CTL_GQR7, -}; - #define SPR_GQR0 912 #define SPR_GQR1 913 #define SPR_GQR2 914 @@ -46,8 +34,8 @@ #define SPR_GQR6 918 #define SPR_GQR7 919 -#define MFSPR_CASE(i) case CTL_GQR##i: *((u32*)table->data) = mfspr(SPR_GQR##i) -#define MTSPR_CASE(i) case CTL_GQR##i: mtspr(SPR_GQR##i,*((u32*)table->data)) +#define MFSPR_CASE(i) case (i): *((u32*)table->data) = mfspr(SPR_GQR##i) +#define MTSPR_CASE(i) case (i): mtspr(SPR_GQR##i,*((u32*)table->data)) static int proc_dogqr(ctl_table *table,int write,struct file *file, void __user *buffer,size_t *lenp,loff_t *ppos) @@ -55,7 +43,7 @@ int r; if (!write) { /* if they are reading, update the variable */ - switch (table->ctl_name) { + switch (table->data - (void *)gqr_values) { MFSPR_CASE(0); break; MFSPR_CASE(1); break; MFSPR_CASE(2); break; @@ -72,7 +60,7 @@ r = proc_dointvec(table,write,file,buffer,lenp,ppos); if ((r == 0) && write) { /* if they are writing, update the reg */ - switch (table->ctl_name) { + switch (table->data - (void *)gqr_values) { MTSPR_CASE(0); break; MTSPR_CASE(1); break; MTSPR_CASE(2); break; @@ -90,7 +78,7 @@ } #define DECLARE_GQR(i) { \ - .ctl_name = CTL_GQR##i, \ + .ctl_name = CTL_UNNUMBERED, \ .procname = "gqr" #i, \ .data = gqr_values + i, \ .maxlen = sizeof(int), \ @@ -112,7 +100,7 @@ static ctl_table gqr_table[] = { { - .ctl_name = CTL_GQRDIR, + .ctl_name = CTL_UNNUMBERED, .procname = "gqr", .mode = 0555, .child = gqr_members Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/misc/Kconfig,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Kconfig 16 Nov 2007 23:26:07 -0000 1.8 +++ Kconfig 24 Feb 2008 18:05:32 -0000 1.9 @@ -135,6 +135,21 @@ If you have an ACPI-compatible ASUS laptop, say Y or M here. +config FUJITSU_LAPTOP + tristate "Fujitsu Laptop Extras" + depends on X86 + depends on ACPI + depends on BACKLIGHT_CLASS_DEVICE + ---help--- + This is a driver for laptops built by Fujitsu: + + * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks + * Possibly other Fujitsu laptop models + + It adds support for LCD brightness control. + + If you have a Fujitsu laptop, say Y or M here. + config MSI_LAPTOP tristate "MSI Laptop Extras" depends on X86 @@ -158,6 +173,7 @@ tristate "Sony Laptop Extras" depends on X86 && ACPI select BACKLIGHT_CLASS_DEVICE + depends on INPUT ---help--- This mini-driver drives the SNC and SPIC devices present in the ACPI BIOS of the Sony Vaio laptops. @@ -180,6 +196,7 @@ select BACKLIGHT_CLASS_DEVICE select HWMON select NVRAM + depends on INPUT ---help--- This is a driver for the IBM and Lenovo ThinkPad laptops. It adds support for Fn-Fx key combinations, Bluetooth control, video @@ -187,7 +204,7 @@ For more information about this driver see <file:Documentation/thinkpad-acpi.txt> and <http://ibm-acpi.sf.net/> . - This driver was formely known as ibm-acpi. + This driver was formerly known as ibm-acpi. If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. @@ -221,10 +238,22 @@ default y ---help--- Allows the thinkpad_acpi driver to handle removable bays. It will - eletrically disable the device in the bay, and also generate + electrically disable the device in the bay, and also generate notifications when the bay lever is ejected or inserted. If you are not sure, say Y here. +config ATMEL_SSC + tristate "Device driver for Atmel SSC peripheral" + depends on AVR32 || ARCH_AT91 + ---help--- + This option enables device driver support for Atmel Syncronized + Serial Communication peripheral (SSC). + + The SSC peripheral supports a wide variety of serial frame based + communications, i.e. I2S, SPI, etc. + + If unsure, say N. + endif # MISC_DEVICES Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/misc/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile 16 Nov 2007 23:26:08 -0000 1.5 +++ Makefile 24 Feb 2008 18:05:32 -0000 1.6 @@ -7,6 +7,7 @@ obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/ obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o +obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o obj-$(CONFIG_LKDTM) += lkdtm.o obj-$(CONFIG_TIFM_CORE) += tifm_core.o obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o @@ -14,6 +15,7 @@ obj-$(CONFIG_SGI_IOC4) += ioc4.o obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o +obj-$(CONFIG_FUJITSU_LAPTOP) += fujitsu-laptop.o obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o obj-$(CONFIG_GAMECUBE_GQR) += gcn-gqr.o obj-$(CONFIG_GAMECUBE_MI) += gcn-mi.o |
From: Albert H. <he...@us...> - 2008-02-24 18:06:01
|
Update of /cvsroot/gc-linux/linux/arch/ppc/platforms In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/arch/ppc/platforms Modified Files: Makefile gamecube.c gamecube.h gcn-rtc.c Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: gamecube.h =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/platforms/gamecube.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- gamecube.h 24 Mar 2006 22:20:15 -0000 1.13 +++ gamecube.h 24 Feb 2008 18:05:31 -0000 1.14 @@ -2,7 +2,7 @@ * arch/ppc/platforms/gamecube.h * * Nintendo GameCube board-specific definitions - * Copyright (C) 2004-2005 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -16,6 +16,15 @@ #include <asm/ppcboot.h> +#define GCN_IO1_PHYS_BASE 0x0c000000 +#ifdef CONFIG_GAMECUBE_WII +#define GCN_IO2_PHYS_BASE 0x0d000000 +#else +#define GCN_IO2_PHYS_BASE 0x0c000000 +#endif +#define GCN_IO1_BASE (0xc0000000 | GCN_IO1_PHYS_BASE) +#define GCN_IO2_BASE (0xc0000000 | GCN_IO2_PHYS_BASE) + /* * There are 14 IRQs in total. Each has a corresponding bit in both * the Interrupt Cause (ICR) and Interrupt Mask (IMR) registers. @@ -25,13 +34,13 @@ * asserting the corresponding bit in ICR. */ #define FLIPPER_NR_IRQS (14) -#define FLIPPER_ICR ((void __iomem *)0xcc003000) -#define FLIPPER_IMR ((void __iomem *)0xcc003004) +#define FLIPPER_ICR ((void __iomem *)(GCN_IO1_BASE+0x3000)) +#define FLIPPER_IMR ((void __iomem *)(GCN_IO1_BASE+0x3004)) /* * Anything written here automagically puts us through reset. */ -#define FLIPPER_RESET ((void __iomem *)0xcc003024) +#define FLIPPER_RESET ((void __iomem *)(GCN_IO1_BASE+0x3024)) /* * This is the current memory layout for the GameCube Linux port. @@ -132,8 +141,8 @@ /* * These registers control where the visible framebuffer is located. */ -#define GCN_VI_TFBL ((void __iomem *)0xcc00201c) -#define GCN_VI_BFBL ((void __iomem *)0xcc002024) +#define GCN_VI_TFBL ((void __iomem *)(GCN_IO1_BASE+0x201c)) +#define GCN_VI_BFBL ((void __iomem *)(GCN_IO1_BASE+0x2024)) /* arch/ppc/platforms/gcn-time.c */ Index: gcn-rtc.c =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/platforms/gcn-rtc.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- gcn-rtc.c 20 Nov 2005 20:36:15 -0000 1.6 +++ gcn-rtc.c 24 Feb 2008 18:05:31 -0000 1.7 @@ -2,8 +2,8 @@ * arch/ppc/platforms/gcn-rtc.c * * Nintendo GameCube RTC/SRAM functions - * Copyright (C) 2004-2005 The GameCube Linux Team - * Copyright (C) 2005 Albert Herranz + * Copyright (C) 2004-2008 The GameCube Linux Team + * Copyright (C) 2005,2008 Albert Herranz * * Based on gamecube_time.c from Torben Nielsen. * @@ -157,7 +157,7 @@ /** * Platform specific function to return the current date and time. */ -static unsigned long gcn_get_rtc_time(void) +unsigned long gcn_get_rtc_time(void) { struct rtc_private *priv = &rtc_private; @@ -168,7 +168,7 @@ * Platform specific function to set the current date and time. * */ -static int gcn_set_rtc_time(unsigned long nowtime) +int gcn_set_rtc_time(unsigned long nowtime) { struct rtc_private *priv = &rtc_private; Index: gamecube.c =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/platforms/gamecube.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- gamecube.c 16 Nov 2007 23:26:06 -0000 1.40 +++ gamecube.c 24 Feb 2008 18:05:31 -0000 1.41 @@ -2,7 +2,7 @@ * arch/ppc/platforms/gamecube.c * * Nintendo GameCube board-specific support - * Copyright (C) 2004-2005 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -40,7 +40,7 @@ /* * These are used in setup_arch. * */ -#define CSR_REG ((void __iomem *)0xCC00500A) +#define CSR_REG ((void __iomem *)(GCN_IO1_BASE+0x500A)) #define DSP_CSR_RES (1<<0) #define DSP_CSR_PIINT (1<<1) #define DSP_CSR_HALT (1<<2) @@ -53,7 +53,7 @@ #define DSP_CSR_DSPDMA (1<<9) #define DSP_CSR_RESETXXX (1<<11) -#define AUDIO_DMA_LENGTH ((void __iomem *)0xCC005036) +#define AUDIO_DMA_LENGTH ((void __iomem *)(GCN_IO1_BASE+0x5036)) #define AI_DCL_PLAY (1<<15) static unsigned long __init gamecube_find_end_of_memory(void) @@ -68,7 +68,10 @@ #endif /* access to hardware registers */ - io_block_mapping(0xcc000000, 0x0c000000, 0x00100000, _PAGE_IO); + io_block_mapping(GCN_IO1_BASE, GCN_IO1_PHYS_BASE, 0x00100000, _PAGE_IO); +#if GCN_IO1_BASE != GCN_IO2_BASE + io_block_mapping(GCN_IO2_BASE, GCN_IO2_PHYS_BASE, 0x00100000, _PAGE_IO); +#endif } static void __init gamecube_calibrate_decr(void) @@ -177,13 +180,11 @@ static int gamecube_show_cpuinfo(struct seq_file *m) { seq_printf(m, "vendor\t\t: IBM\n"); +#ifdef CONFIG_GAMECUBE_WII + seq_printf(m, "machine\t\t: Nintendo Wii\n"); +#else seq_printf(m, "machine\t\t: Nintendo GameCube\n"); - seq_printf(m, "cpu MHz\t\t: 486\n"); - seq_printf(m, "clock\t\t: 486MHz\n"); - seq_printf(m, "cache size\t: 256 KB\n"); - seq_printf(m, "bus speed\t: 162 MHz\n"); - seq_printf(m, "mem bus speed\t: 200 MHz\n"); - seq_printf(m, "bus width\t: 64 bit\n"); +#endif return 0; } Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/platforms/Makefile,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- Makefile 30 Apr 2007 17:06:11 -0000 1.24 +++ Makefile 24 Feb 2008 18:05:31 -0000 1.25 @@ -2,10 +2,6 @@ # Makefile for the linux kernel. # -obj-$(CONFIG_APUS) += apus_setup.o -ifeq ($(CONFIG_APUS),y) -obj-$(CONFIG_PCI) += apus_pci.o -endif obj-$(CONFIG_PPC_PREP) += prep_pci.o prep_setup.o obj-$(CONFIG_PREP_RESIDUAL) += residual.o obj-$(CONFIG_PQ2ADS) += pq2ads.o |
From: Albert H. <he...@us...> - 2008-02-24 18:06:01
|
Update of /cvsroot/gc-linux/linux/drivers/block In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers/block Modified Files: Kconfig Makefile gcn-sd.c Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/block/Kconfig,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- Kconfig 16 Nov 2007 23:26:07 -0000 1.28 +++ Kconfig 24 Feb 2008 18:05:31 -0000 1.29 @@ -78,7 +78,7 @@ config GAMECUBE_DVD tristate "Nintendo Gamecube DVD" - depends on GAMECUBE && !GAMECUBE_DI + depends on GAMECUBE && !GAMECUBE_DI && BROKEN help This enables support for using the mini-DVD drive on the Nintendo Gamecube. @@ -266,23 +266,6 @@ bool default BLK_DEV_UBD -config MMAPPER - tristate "Example IO memory driver (BROKEN)" - depends on UML && BROKEN - ---help--- - The User-Mode Linux port can provide support for IO Memory - emulation with this option. This allows a host file to be - specified as an I/O region on the kernel command line. That file - will be mapped into UML's kernel address space where a driver can - locate it and do whatever it wants with the memory, including - providing an interface to it for UML processes to use. - - For more information, see - <http://user-mode-linux.sourceforge.net/iomem.html>. - - If you'd like to be able to provide a simulated IO port space for - User-Mode Linux processes, say Y. If unsure, say N. - config BLK_DEV_LOOP tristate "Loopback device support" ---help--- @@ -413,7 +396,7 @@ default "16" depends on BLK_DEV_RAM help - The default value is 16 RAM disks. Change this if you know what + The default value is 16 RAM disks. Change this if you know what you are doing. If you boot from a filesystem that needs to be extracted in memory, you will need at least one RAM disk (e.g. root on cramfs). @@ -423,8 +406,7 @@ default "4096" help The default value is 4096 kilobytes. Only change this if you know - what are you doing. If you are using IBM S/390, then set this to - 8192. + what you are doing. config BLK_DEV_RAM_BLOCKSIZE int "Default RAM disk block size (bytes)" @@ -505,4 +487,10 @@ block device driver. It communicates with a back-end driver in another domain which drives the actual block device. +config VIRTIO_BLK + tristate "Virtio block driver (EXPERIMENTAL)" + depends on EXPERIMENTAL && VIRTIO + ---help--- + This is the virtual block driver for lguest. Say Y or M. + endif # BLK_DEV Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/block/Makefile,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- Makefile 16 Nov 2007 23:26:07 -0000 1.16 +++ Makefile 24 Feb 2008 18:05:31 -0000 1.17 @@ -30,10 +30,10 @@ obj-$(CONFIG_BLK_DEV_UMEM) += umem.o obj-$(CONFIG_BLK_DEV_NBD) += nbd.o obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryptoloop.o +obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o obj-$(CONFIG_VIODASD) += viodasd.o obj-$(CONFIG_BLK_DEV_SX8) += sx8.o obj-$(CONFIG_BLK_DEV_UB) += ub.o obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o -obj-$(CONFIG_LGUEST_BLOCK) += lguest_blk.o Index: gcn-sd.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/block/gcn-sd.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- gcn-sd.c 19 Nov 2007 17:46:53 -0000 1.10 +++ gcn-sd.c 24 Feb 2008 18:05:31 -0000 1.11 @@ -2,10 +2,10 @@ * drivers/block/gcn-sd.c * * MMC/SD card block driver for the Nintendo GameCube - * Copyright (C) 2004-2007 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * Copyright (C) 2004,2005 Rob Reylink * Copyright (C) 2005 Todd Jeffreys - * Copyright (C) 2005,2006,2007 Albert Herranz + * Copyright (C) 2005,2006,2007,2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -82,7 +82,7 @@ MODULE_DESCRIPTION(DRV_DESCRIPTION); MODULE_LICENSE("GPL"); -static char sd_driver_version[] = "4.0-isobel"; +static char sd_driver_version[] = "4.1-isobel"; #define sd_printk(level, format, arg...) \ printk(level DRV_MODULE_NAME ": " format , ## arg) @@ -128,30 +128,6 @@ #define MMC_SPI_TOKEN_START_MULTIPLE_BLOCK_WRITE 0xfc #define MMC_SPI_TOKEN_STOP_MULTIPLE_BLOCK_WRITE 0xfd -/* R1 is 48bits in MultiMediaCard mode but just 1 byte in SPI mode */ -#define R1_SPI_IDLE_STATE (1<<0) -#define R1_SPI_ERASE_RESET (1<<1) -#define R1_SPI_ILLEGAL_COMMAND (1<<2) -#define R1_SPI_COM_CRC_ERROR (1<<3) -#define R1_SPI_ERASE_SEQ_ERROR (1<<4) -#define R1_SPI_ADDRESS_ERROR (1<<5) -#define R1_SPI_PARAMETER_ERROR (1<<6) -#define R1_SPI_ALWAYS_ZERO (1<<7) - -/* R1b is (R1, ...) 1 byte + N*bytes in SPI mode */ - -/* R2 is (R1, r2) 2 bytes in SPI mode */ -#define R2_SPI_CARD_IS_LOCKED (1<<0) -#define R2_SPI_WP_ERASE_SKIP (1<<1) -#define R2_SPI_ERROR (1<<2) -#define R2_SPI_CC_ERROR (1<<3) -#define R2_SPI_CARD_ECC_FAILED (1<<4) -#define R2_SPI_WP_VIOLATION (1<<5) -#define R2_SPI_ERASE_PARAMETER (1<<6) -#define R2_SPI_OUT_OF_RANGE (1<<7) - -/* R3 is (R1, OCR) 5 bytes in SPI mode */ - /* data response */ #define DR_SPI_MASK 0x1f #define DR_SPI_DATA_ACCEPTED 0x05 @@ -206,6 +182,7 @@ enum { __SD_MEDIA_CHANGED = 0, __SD_BAD_CARD, + __SD_QUEUE_SUSPENDED, }; @@ -225,11 +202,13 @@ * single card each time. */ struct sd_host { - spinlock_t lock; + spinlock_t lock; + int refcnt; unsigned long flags; #define SD_MEDIA_CHANGED (1<<__SD_MEDIA_CHANGED) #define SD_BAD_CARD (1<<__SD_BAD_CARD) +#define SD_QUEUE_SUSPENDED (1<<__SD_QUEUE_SUSPENDED) /* card related info */ struct mmc_card card; @@ -252,16 +231,15 @@ /* command buffer */ struct sd_command cmd; - struct gendisk *disk; - struct request_queue *queue; - spinlock_t queue_lock; + spinlock_t queue_lock; + struct request_queue *queue; + + struct gendisk *disk; struct task_struct *io_thread; - struct completion io_thread_complete; - wait_queue_head_t io_waitq; - struct request *req; + struct mutex io_mutex; - struct exi_device *exi_device; + struct exi_device *exi_device; }; static void sd_kill(struct sd_host *host); @@ -895,6 +873,9 @@ int retval; int attempts = 3; + if (test_bit(__SD_MEDIA_CHANGED, &host->flags)) + attempts = 1; + while (attempts > 0) { retval = sd_generic_read(host, MMC_READ_SINGLE_BLOCK, start, data, len, @@ -964,10 +945,10 @@ retval = -ENODEV; goto out; } - if (retval == R1_SPI_IDLE_STATE) + if (retval == R1_SPI_IDLE) break; } - if (retval != R1_SPI_IDLE_STATE) { + if (retval != R1_SPI_IDLE) { retval = -ENODEV; goto out; } @@ -1160,16 +1141,69 @@ return retval; } -static void sd_end_request(struct request *req, unsigned long nr_sectors); +/* + * Returns: + * <0 in case of error. + * 0 if request passes the checks + * >0 if request can be ignored + */ +static int sd_check_request(struct sd_host *host, struct request *req) +{ + unsigned long nr_sectors; + + if (test_bit(__SD_MEDIA_CHANGED, &host->flags)) { + sd_printk(KERN_ERR, "media changed, aborting\n"); + return -ENOMEDIUM; + } + + /* unit is kernel sectors */ + nr_sectors = + host->card.csd.capacity << (host->card.csd.read_blkbits - + KERNEL_SECTOR_SHIFT); + + /* keep our reads within limits */ + if (req->sector + req->current_nr_sectors > nr_sectors) { + sd_printk(KERN_ERR, "reading past end, aborting\n"); + return -EINVAL; + } + + if (!blk_fs_request(req)) + return 1; + + return 0; +} /* - * Input/Output thread. Sends and receives packets. + * + */ +static int sd_do_request(struct sd_host *host, struct request *req) +{ + int retval; + + retval = sd_check_request(host, req); + if (retval) + return 0; + + switch(rq_data_dir(req)) { + case WRITE: + retval = sd_write_request(host, req); + break; + case READ: + retval = sd_read_request(host, req); + break; + } + + return retval; +} + +/* + * Input/Output thread. */ static int sd_io_thread(void *param) { struct sd_host *host = param; struct request *req; - int uptodate, nr_sectors; + int uptodate; unsigned long flags; int retval; @@ -1178,138 +1212,50 @@ * above. At least, be nice with other processes trying to use the * cpu. */ - set_user_nice(current, 0); +// set_user_nice(current, 0); - current->flags |= PF_NOFREEZE; - set_current_state(TASK_RUNNING); + current->flags |= PF_NOFREEZE|PF_MEMALLOC; + mutex_lock(&host->io_mutex); for(;;) { - wait_event(host->io_waitq, host->req || kthread_should_stop()); + req = NULL; + set_current_state(TASK_INTERRUPTIBLE); - spin_lock_irqsave(&host->lock, flags); - if (!host->req) { - spin_unlock_irqrestore(&host->lock, flags); - if (kthread_should_stop()) + spin_lock_irqsave(&host->queue_lock, flags); + if (!blk_queue_plugged(host->queue)) + req = elv_next_request(host->queue); + spin_unlock_irqrestore(&host->queue_lock, flags); + + if (!req) { + if (kthread_should_stop()) { + set_current_state(TASK_RUNNING); break; - else { - spin_lock_irqsave(&host->queue_lock, flags); - blk_start_queue(host->queue); - spin_unlock_irqrestore(&host->queue_lock, flags); - continue; } + mutex_unlock(&host->io_mutex); + schedule(); + mutex_lock(&host->io_mutex); + continue; } - req = host->req; - host->req = NULL; - spin_unlock_irqrestore(&host->lock, flags); - - if (kthread_should_stop()) { - req->errors++; - sd_end_request(req, 0); - break; - } - - /* proceed with i/o requests */ - if (rq_data_dir(req) == WRITE) { - retval = sd_write_request(host, req); - } else { - retval = sd_read_request(host, req); - } - - if (retval <= 0) { - uptodate = 0; - nr_sectors = 0; - } else { - uptodate = (retval > 0)?1:0; - nr_sectors = retval; - } - if (!uptodate) - req->errors++; - - sd_end_request(req, nr_sectors); - - /* avoid cpu monopolization, we are damn greedy */ - //yield(); - cond_resched(); + set_current_state(TASK_INTERRUPTIBLE); + retval = sd_do_request(host, req); + uptodate = (retval > 0)?1:0; spin_lock_irqsave(&host->queue_lock, flags); - blk_start_queue(host->queue); + end_queued_request(req, uptodate); spin_unlock_irqrestore(&host->queue_lock, flags); } + mutex_unlock(&host->io_mutex); - complete(&host->io_thread_complete); return 0; } -static void sd_end_request(struct request *req, unsigned long nr_sectors) -{ - int uptodate = (req->errors == 0) ? 1 : 0; - struct request_queue *q = req->q; - unsigned long flags; - - spin_lock_irqsave(q->queue_lock, flags); - if (!end_that_request_first(req, uptodate, nr_sectors)) { - end_that_request_last(req, uptodate); - } - spin_unlock_irqrestore(q->queue_lock, flags); -} - /* - * Processes a block layer request. + * */ -static void sd_do_request(struct request_queue * q) +static void sd_request_func(struct request_queue *q) { struct sd_host *host = q->queuedata; - struct request *req; - unsigned long nr_sectors; /* in kernel sectors */ - unsigned long flags; - - nr_sectors = - host->card.csd.capacity << (host->card.csd.read_blkbits - - KERNEL_SECTOR_SHIFT); - - while ((req = elv_next_request(q))) { - /* ignore requests that we can't handle */ - if (!blk_fs_request(req)) { - continue; - } - - /* pulling the card out while mounted is bold... */ - if (!host->exi_device) { - sd_printk(KERN_ERR, "device removed, aborting\n"); - end_request(req, 0); - continue; - } - if (test_bit(__SD_MEDIA_CHANGED, &host->flags)) { - sd_printk(KERN_ERR, "media changed, aborting\n"); - end_request(req, 0); - continue; - } - - /* keep our reads within limits */ - if (req->sector + req->current_nr_sectors > nr_sectors) { - sd_printk(KERN_ERR, "reading past end\n"); - end_request(req, 0); - continue; - } - - spin_lock_irqsave(&host->lock, flags); - - /* throttle if the transfer slot is not free */ - if (host->req) { - blk_stop_queue(q); - spin_unlock_irqrestore(&host->lock, flags); - break; - } - - host->req = req; - spin_unlock_irqrestore(&host->lock, flags); - - /* pop a single request... */ - blkdev_dequeue_request(req); - - /* ... and wake up the i/o thread to process it */ - wake_up(&host->io_waitq); - } + wake_up_process(host->io_thread); } /* @@ -1325,7 +1271,6 @@ static int sd_open(struct inode *inode, struct file *filp) { struct sd_host *host = inode->i_bdev->bd_disk->private_data; - int slot; int retval = 0; if (!host || !host->exi_device) @@ -1338,20 +1283,6 @@ goto out; } - /* - * Force revalidation of media on slots where a card was unsafely - * removed while mounted. - * This makes sure that partitions will be visible on a card - * inserted between the unsafe removal of a card and the umount - * of all mounts from that card. - */ - if (host->exi_device) { - slot = to_channel(exi_get_exi_channel(host->exi_device)); - if (test_and_clear_bit(slot, &unclean_slots)) { - set_bit(__SD_MEDIA_CHANGED, &host->flags); - } - } - /* this takes care of revalidating the media if needed */ check_disk_change(inode->i_bdev); if (!host->card.csd.capacity) { @@ -1393,9 +1324,9 @@ up(&open_lock); - /* lazy removal of unreferenced zombies */ - if (!host->refcnt && !host->exi_device) - kfree(host); + /* lazy removal of unreferenced zombies */ + if (!host->refcnt && !host->exi_device) + kfree(host); return 0; } @@ -1526,7 +1457,7 @@ /* queue */ retval = -ENOMEM; spin_lock_init(&host->queue_lock); - queue = blk_init_queue(sd_do_request, &host->queue_lock); + queue = blk_init_queue(sd_request_func, &host->queue_lock); if (!queue) { sd_printk(KERN_ERR, "error initializing queue\n"); goto err_blk_init_queue; @@ -1568,14 +1499,8 @@ */ static void sd_exit_blk_dev(struct sd_host *host) { - if (host->disk) { - put_disk(host->disk); - host->disk = NULL; - } - if (host->queue) { - blk_cleanup_queue(host->queue); - host->queue = NULL; - } + blk_cleanup_queue(host->queue); + put_disk(host->disk); } @@ -1589,8 +1514,7 @@ channel = to_channel(exi_get_exi_channel(host->exi_device)); - init_completion(&host->io_thread_complete); - init_waitqueue_head(&host->io_waitq); + mutex_init(&host->io_mutex); host->io_thread = kthread_run(sd_io_thread, host, "ksdiod/%c", 'a' + channel); if (IS_ERR(host->io_thread)) { @@ -1606,9 +1530,8 @@ static void sd_exit_io_thread(struct sd_host *host) { if (!IS_ERR(host->io_thread)) { + wake_up_process(host->io_thread); kthread_stop(host->io_thread); - wake_up(&host->io_waitq); - wait_for_completion(&host->io_thread_complete); host->io_thread = ERR_PTR(-EINVAL); } } @@ -1666,25 +1589,14 @@ */ static void sd_kill(struct sd_host *host) { - struct exi_device *exi_device = host->exi_device; - int slot; - if (host->refcnt > 0) { sd_printk(KERN_ERR, "hey! card removed while in use!\n"); - if (exi_device) { - slot = to_channel(exi_get_exi_channel(exi_device)); - set_bit(slot, &unclean_slots); - } + set_bit(__SD_MEDIA_CHANGED, &host->flags); } sd_exit(host); host->exi_device = NULL; - if (exi_device) { - exi_set_drvdata(exi_device, NULL); - exi_device_put(exi_device); - } - /* release the host immediately when not in use */ if (!host->refcnt) kfree(host); @@ -1708,6 +1620,7 @@ return -ENOMEM; host->exi_device = exi_device_get(exi_device); + WARN_ON(exi_get_drvdata(exi_device)); exi_set_drvdata(exi_device, host); retval = sd_init(host); if (retval) { @@ -1726,8 +1639,13 @@ { struct sd_host *host = exi_get_drvdata(exi_device); + WARN_ON(!host); + WARN_ON(!host->exi_device); + + exi_set_drvdata(exi_device, NULL); if (host) sd_kill(host); + exi_device_put(exi_device); } static struct exi_device_id sd_eid_table[] = { |
From: Albert H. <he...@us...> - 2008-02-24 18:06:00
|
Update of /cvsroot/gc-linux/linux/drivers/exi In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers/exi Modified Files: exi-driver.c exi-hw.c exi-hw.h Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: exi-driver.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/exi/exi-driver.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- exi-driver.c 17 Feb 2007 23:43:41 -0000 1.13 +++ exi-driver.c 24 Feb 2008 18:05:31 -0000 1.14 @@ -2,10 +2,10 @@ * drivers/exi/exi-driver.c * * Nintendo GameCube Expansion Interface support. Driver model routines. - * Copyright (C) 2004-2006 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * Copyright (C) 2004 Arthur Othieno <a.o...@bl...> * Copyright (C) 2004,2005 Todd Jeffreys <to...@vo...> - * Copyright (C) 2005,2006 Albert Herranz + * Copyright (C) 2005,2006,2007,2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -36,7 +36,7 @@ }; -static void exi_device_release(struct device *dev); +static void exi_bus_device_release(struct device *dev); static int exi_bus_match(struct device *dev, struct device_driver *drv); @@ -48,17 +48,17 @@ static struct device exi_bus_devices[EXI_MAX_CHANNELS] = { [0] = { .bus_id = "exi0", - .release = exi_device_release, + .release = exi_bus_device_release, .parent = NULL }, [1] = { .bus_id = "exi1", - .release = exi_device_release, + .release = exi_bus_device_release, .parent = NULL }, [2] = { .bus_id = "exi2", - .release = exi_device_release, + .release = exi_bus_device_release, .parent = NULL }, }; @@ -152,12 +152,15 @@ } /* - * Internal. Device release. + * Internal. Bus device release. */ -static void exi_device_release(struct device *dev) +static void exi_bus_device_release(struct device *dev) { + exi_printk(KERN_WARNING, "exi_bus_device_release called!\n"); } +static void exi_device_release(struct device *dev); + /* * Internal. Initialize an exi_device structure. */ @@ -175,11 +178,25 @@ exi_device->dev.parent = &exi_bus_devices[channel]; exi_device->dev.bus = &exi_bus_type; - sprintf(exi_device->dev.bus_id, "%01x:%01x", channel, device); + sprintf(exi_device->dev.bus_id, "exi%01x:%01x", channel, device); exi_device->dev.platform_data = to_exi_channel(channel); exi_device->dev.release = exi_device_release; } +/* + * Internal. Device release. + */ +static void exi_device_release(struct device *dev) +{ + struct exi_device *exi_device = to_exi_device(dev); + unsigned int channel, device; + + channel = exi_device->eid.channel; + device = exi_device->eid.device; + + exi_device_init(exi_device, channel, device); +} + /** * exi_device_get - Increments the reference count of the exi device * @exi_device: device being referenced @@ -258,9 +275,6 @@ if (exi_driver->remove) exi_driver->remove(exi_device); - if (!exi_is_dying(exi_device)) - exi_device->eid.id = EXI_ID_INVALID; - return 0; } @@ -302,30 +316,28 @@ { unsigned int id; - /* do nothing if the device is marked to die */ - if (exi_is_dying(exi_device)) - return; - /* now ID the device */ id = exi_get_id(exi_device); if (exi_device->eid.id != EXI_ID_INVALID) { /* device removed or changed */ - exi_printk(KERN_INFO, "removed [%s] id=0x%08x %s\n", + exi_printk(KERN_INFO, "about to remove [%s] id=0x%08x %s\n", exi_device->dev.bus_id, exi_device->eid.id, exi_name_id(exi_device->eid.id)); device_unregister(&exi_device->dev); + exi_printk(KERN_INFO, "remove completed\n"); exi_device->eid.id = EXI_ID_INVALID; } if (id != EXI_ID_INVALID) { /* a new device has been found */ - exi_printk(KERN_INFO, "added [%s] id=0x%08x %s\n", + exi_printk(KERN_INFO, "about to add [%s] id=0x%08x %s\n", exi_device->dev.bus_id, id, exi_name_id(id)); exi_device->eid.id = id; device_register(&exi_device->dev); + exi_printk(KERN_INFO, "add completed\n"); } exi_update_ext_status(exi_get_exi_channel(exi_device)); Index: exi-hw.h =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/exi/exi-hw.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- exi-hw.h 14 Nov 2007 23:08:49 -0000 1.8 +++ exi-hw.h 24 Feb 2008 18:05:31 -0000 1.9 @@ -2,9 +2,9 @@ * drivers/exi/exi-hw.h * * Nintendo GameCube EXpansion Interface support. Hardware routines. - * Copyright (C) 2004-2007 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * Copyright (C) 2004,2005 Todd Jeffreys <to...@vo...> - * Copyright (C) 2005,2006,2007 Albert Herranz + * Copyright (C) 2005,2006,2007,2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,6 +20,7 @@ #include <asm/atomic.h> #include <linux/exi.h> +#include <platforms/gamecube.h> #define exi_printk(level, format, arg...) \ printk(level "exi: " format , ## arg) @@ -49,7 +50,7 @@ #define EXI_DMA_ALIGN 0x1f /* 32 bytes */ -#define EXI_BASE 0xcc006800 +#define EXI_BASE (GCN_IO2_BASE+0x6800) #define EXI_SIZE 0x40 #define EXI_CHANNEL_SPACING 0x14 @@ -161,7 +162,7 @@ * information currently stored there is leaked to the \ * MOSI line, confusing some hardware. \ */ \ - if ((mode & EXI_OP_WRITE)) \ + if (((mode&0xf) != EXI_OP_READ)) /* write or read-write */ \ _on_write; \ out_be32(data_reg, _val); \ \ Index: exi-hw.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/exi/exi-hw.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- exi-hw.c 14 Nov 2007 23:08:49 -0000 1.15 +++ exi-hw.c 24 Feb 2008 18:05:31 -0000 1.16 @@ -2,9 +2,9 @@ * drivers/exi/exi-hw.c * * Nintendo GameCube EXpansion Interface support. Hardware routines. - * Copyright (C) 2004-2007 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * Copyright (C) 2004,2005 Todd Jeffreys <to...@vo...> - * Copyright (C) 2005,2006,2007 Albert Herranz + * Copyright (C) 2005,2006,2007,2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -226,7 +226,7 @@ * @exi_channel: channel * @data: pointer to data being read/writen * @len: length of data - * @mode: direction of transfer (EXI_OP_READ or EXI_OP_WRITE) + * @mode: direction of transfer (EXI_OP_{READ,READWRITE,WRITE}) * * Read or write data on a given EXI channel. * @@ -376,6 +376,8 @@ u32 __iomem *cr_reg = exi_channel->io_base + EXI_CR; u32 __iomem *csr_reg = exi_channel->io_base + EXI_CSR; unsigned long flags; + unsigned long deadline = jiffies + 2*HZ; + int borked = 0; /* we don't want TCINTs to disturb us while waiting */ spin_lock_irqsave(&exi_channel->io_lock, flags); @@ -383,8 +385,15 @@ spin_unlock_irqrestore(&exi_channel->io_lock, flags); /* busy-wait for transfer complete */ - while(in_be32(cr_reg) & EXI_CR_TSTART) + while((in_be32(cr_reg)&EXI_CR_TSTART) && !borked) { cpu_relax(); + borked = time_after(jiffies, deadline); + } + + if (borked) { + exi_printk(KERN_ERR, "exi transfer took too long, " + "is your hardware ok?"); + } /* ack the Transfer Complete interrupt */ spin_lock_irqsave(&exi_channel->io_lock, flags); @@ -805,6 +814,7 @@ exi_deselect_raw(exi_channel); break; case EXI_OP_READ: + case EXI_OP_READWRITE: case EXI_OP_WRITE: spin_lock_irqsave(&exi_channel->lock, flags); result = exi_cmd_transfer(cmd); @@ -918,7 +928,7 @@ * @exi_channel: channel * @data: pointer to data being read/written * @len: length of data - * @opcode: operation code (EXI_OP_READ or EXI_OP_WRITE) + * @opcode: operation code (EXI_OP_{READ,READWRITE,WRITE}) * * Read or write data on a given EXI channel. */ |
From: Albert H. <he...@us...> - 2008-02-24 18:06:00
|
Update of /cvsroot/gc-linux/linux/arch/ppc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/arch/ppc Modified Files: Kconfig Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/Kconfig,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- Kconfig 16 Nov 2007 23:26:06 -0000 1.41 +++ Kconfig 24 Feb 2008 18:05:29 -0000 1.42 @@ -4,6 +4,10 @@ mainmenu "Linux/PowerPC Kernel Configuration" +config WORD_SIZE + int + default 32 + config MMU bool default y @@ -98,6 +102,7 @@ config 8xx bool "8xx" + select PPC_LIB_RHEAP config E200 bool "e200" @@ -577,24 +582,9 @@ Select PReP if configuring for a PReP machine. - Select Gemini if configuring for a Synergy Microsystems' Gemini - series Single Board Computer. More information is available at: - <http://www.synergymicro.com/PressRel/97_10_15.html>. - - Select APUS if configuring for a PowerUP Amiga. More information is - available at: <http://linux-apus.sourceforge.net/>. - config PPC_PREP bool "PReP" -config APUS - bool "Amiga-APUS" - depends on BROKEN - help - Select APUS if configuring for a PowerUP Amiga. - More information is available at: - <http://linux-apus.sourceforge.net/>. - config KATANA bool "Artesyn-Katana" help @@ -839,6 +829,7 @@ config CPM2 bool depends on 8260 || MPC8560 || MPC8555 + select PPC_LIB_RHEAP default y help The CPM2 (Communications Processor Module) is a coprocessor on @@ -1057,133 +1048,7 @@ some command-line options at build time by entering them here. In most cases you will need to specify the root device here. -config AMIGA - bool - depends on APUS - default y - help - This option enables support for the Amiga series of computers. - -config ZORRO - bool - depends on APUS - default y - help - This enables support for the Zorro bus in the Amiga. If you have - expansion cards in your Amiga that conform to the Amiga - AutoConfig(tm) specification, say Y, otherwise N. Note that even - expansion cards that do not fit in the Zorro slots but fit in e.g. - the CPU slot may fall in this category, so you have to say Y to let - Linux use these. - -config ABSTRACT_CONSOLE - bool - depends on APUS - default y - -config APUS_FAST_EXCEPT - bool - depends on APUS - default y - -config AMIGA_PCMCIA - bool "Amiga 1200/600 PCMCIA support" - depends on APUS && EXPERIMENTAL - help - Include support in the kernel for pcmcia on Amiga 1200 and Amiga - 600. If you intend to use pcmcia cards say Y; otherwise say N. - -config AMIGA_BUILTIN_SERIAL - tristate "Amiga builtin serial support" - depends on APUS - help - If you want to use your Amiga's built-in serial port in Linux, - answer Y. - - To compile this driver as a module, choose M here. - -config GVPIOEXT - tristate "GVP IO-Extender support" - depends on APUS - help - If you want to use a GVP IO-Extender serial card in Linux, say Y. - Otherwise, say N. - -config GVPIOEXT_LP - tristate "GVP IO-Extender parallel printer support" - depends on GVPIOEXT - help - Say Y to enable driving a printer from the parallel port on your - GVP IO-Extender card, N otherwise. - -config GVPIOEXT_PLIP - tristate "GVP IO-Extender PLIP support" - depends on GVPIOEXT - help - Say Y to enable doing IP over the parallel port on your GVP - IO-Extender card, N otherwise. - -config MULTIFACE_III_TTY - tristate "Multiface Card III serial support" - depends on APUS - help - If you want to use a Multiface III card's serial port in Linux, - answer Y. - - To compile this driver as a module, choose M here. - -config A2232 - tristate "Commodore A2232 serial support (EXPERIMENTAL)" - depends on EXPERIMENTAL && APUS - ---help--- - This option supports the 2232 7-port serial card shipped with the - Amiga 2000 and other Zorro-bus machines, dating from 1989. At - a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip - each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The - ports were connected with 8 pin DIN connectors on the card bracket, - for which 8 pin to DB25 adapters were supplied. The card also had - jumpers internally to toggle various pinning configurations. - - This driver can be built as a module; but then "generic_serial" - will also be built as a module. This has to be loaded before - "ser_a2232". If you want to do this, answer M here. - -config WHIPPET_SERIAL - tristate "Hisoft Whippet PCMCIA serial support" - depends on AMIGA_PCMCIA - help - HiSoft has a web page at <http://www.hisoft.co.uk/>, but there - is no listing for the Whippet in their Amiga section. - -config APNE - tristate "PCMCIA NE2000 support" - depends on AMIGA_PCMCIA - help - If you have a PCMCIA NE2000 compatible adapter, say Y. Otherwise, - say N. - - To compile this driver as a module, choose M here: the - module will be called apne. - -config SERIAL_CONSOLE - bool "Support for serial port console" - depends on APUS && (AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y) - -config HEARTBEAT - bool "Use power LED as a heartbeat" - depends on APUS - help - Use the power-on LED on your machine as a load meter. The exact - behavior is platform-dependent, but normally the flash frequency is - a hyperbolic function of the 5-minute load average. - -config PROC_HARDWARE - bool "/proc/hardware support" - depends on APUS - -source "drivers/zorro/Kconfig" - -if !44x || BROKEN +if BROKEN source kernel/power/Kconfig endif @@ -1257,8 +1122,7 @@ config PCI bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx - default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx && !GAMECUBE - default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS + default y if !40x && !CPM2 && !8xx && !83xx && !85xx && !GAMECUBE default PCI_QSPAN if !4xx && !CPM2 && 8xx help Find out whether your system includes a PCI bus. PCI is the name of @@ -1314,10 +1178,6 @@ endchoice -config PCI_PERMEDIA - bool "PCI for Permedia2" - depends on !4xx && !8xx && APUS - source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" @@ -1451,6 +1311,10 @@ config PIN_TLB bool "Pinned Kernel TLBs (860 ONLY)" depends on ADVANCED_OPTIONS && 8xx + +config PPC_LIB_RHEAP + bool + endmenu source "net/Kconfig" @@ -1485,7 +1349,7 @@ source "lib/Kconfig" -source "arch/powerpc/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/ppc/Kconfig.debug" |
From: Albert H. <he...@us...> - 2008-02-24 18:06:00
|
Update of /cvsroot/gc-linux/linux/arch/ppc/boot/simple In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/arch/ppc/boot/simple Modified Files: embed_config.c misc-embedded.c Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: misc-embedded.c =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/boot/simple/misc-embedded.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- misc-embedded.c 14 Nov 2007 23:08:46 -0000 1.9 +++ misc-embedded.c 24 Feb 2008 18:05:30 -0000 1.10 @@ -91,7 +91,9 @@ * initialize the serial console port. */ embed_config(&bp); -#if defined(CONFIG_SERIAL_CPM_CONSOLE) || defined(CONFIG_SERIAL_8250_CONSOLE) +#if defined(CONFIG_SERIAL_CPM_CONSOLE) || \ + defined(CONFIG_SERIAL_8250_CONSOLE) || \ + defined(CONFIG_SERIAL_UARTLITE_CONSOLE) com_port = serial_init(0, bp); #endif Index: embed_config.c =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/boot/simple/embed_config.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- embed_config.c 17 Feb 2007 23:43:40 -0000 1.11 +++ embed_config.c 24 Feb 2008 18:05:30 -0000 1.12 @@ -755,7 +755,9 @@ static const unsigned long congruence_classes = 256; unsigned long addr; unsigned long dccr; + uint8_t* cp; bd_t *bd; + int i; /* * Invalidate the data cache if the data cache is turned off. @@ -781,6 +783,12 @@ bd->bi_intfreq = XPAR_CORE_CLOCK_FREQ_HZ; bd->bi_busfreq = XPAR_PLB_CLOCK_FREQ_HZ; bd->bi_pci_busfreq = XPAR_PCI_0_CLOCK_FREQ_HZ; + + /* Copy the default ethernet address */ + cp = (u_char *)def_enet_addr; + for (i=0; i<6; i++) + bd->bi_enetaddr[i] = *cp++; + timebase_period_ns = 1000000000 / bd->bi_tbfreq; /* see bi_tbfreq definition in arch/ppc/platforms/4xx/xilinx_ml300.h */ } |
From: Albert H. <he...@us...> - 2008-02-24 18:06:00
|
Update of /cvsroot/gc-linux/linux/drivers/input In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers/input Modified Files: Kconfig Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/input/Kconfig,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Kconfig 14 Nov 2007 23:08:49 -0000 1.8 +++ Kconfig 24 Feb 2008 18:05:32 -0000 1.9 @@ -114,28 +114,6 @@ To compile this driver as a module, choose M here: the module will be called joydev. -config INPUT_TSDEV - tristate "Touchscreen interface" - ---help--- - Say Y here if you have an application that only can understand the - Compaq touchscreen protocol for absolute pointer data. This is - useful namely for embedded configurations. - - If unsure, say N. - - To compile this driver as a module, choose M here: the - module will be called tsdev. - -config INPUT_TSDEV_SCREEN_X - int "Horizontal screen resolution" - depends on INPUT_TSDEV - default "240" - -config INPUT_TSDEV_SCREEN_Y - int "Vertical screen resolution" - depends on INPUT_TSDEV - default "320" - config INPUT_EVDEV tristate "Event interface" help |
From: Albert H. <he...@us...> - 2008-02-24 18:06:00
|
Update of /cvsroot/gc-linux/linux/arch/ppc/configs In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/arch/ppc/configs Modified Files: gamecube_defconfig Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: gamecube_defconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/configs/gamecube_defconfig,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- gamecube_defconfig 16 Nov 2007 23:26:06 -0000 1.44 +++ gamecube_defconfig 24 Feb 2008 18:05:30 -0000 1.45 @@ -1,8 +1,9 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.23 -# Fri Nov 16 23:41:24 2007 +# Linux kernel version: 2.6.24 +# Sun Feb 24 17:29:18 2008 # +CONFIG_WORD_SIZE=32 CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y @@ -34,9 +35,14 @@ # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set # CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_CGROUPS is not set +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FAIR_USER_SCHED=y +# CONFIG_FAIR_CGROUP_SCHED is not set CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y @@ -62,6 +68,7 @@ CONFIG_SLAB=y # CONFIG_SLUB is not set # CONFIG_SLOB is not set +CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 @@ -114,7 +121,6 @@ # Platform options # # CONFIG_PPC_PREP is not set -# CONFIG_APUS is not set # CONFIG_KATANA is not set # CONFIG_WILLOW is not set # CONFIG_CPCI690 is not set @@ -162,6 +168,7 @@ CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set CONFIG_SPLIT_PTLOCK_CPUS=4 # CONFIG_RESOURCES_64BIT is not set CONFIG_ZONE_DMA_FLAG=1 @@ -171,9 +178,6 @@ CONFIG_BINFMT_MISC=m CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="root=/dev/ram0 video=gamecubefb ip=192.168.000.047" -# CONFIG_PM is not set -CONFIG_SUSPEND_UP_POSSIBLE=y -CONFIG_HIBERNATION_UP_POSSIBLE=y CONFIG_SECCOMP=y CONFIG_ISA_DMA_API=y @@ -186,10 +190,6 @@ # CONFIG_PCI_DOMAINS is not set # CONFIG_PCI_SYSCALL is not set # CONFIG_ARCH_SUPPORTS_MSI is not set - -# -# PCCARD (PCMCIA/CardBus) support -# # CONFIG_PCCARD is not set # @@ -245,6 +245,7 @@ # CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y # CONFIG_TCP_CONG_ADVANCED is not set @@ -270,10 +271,6 @@ # CONFIG_LAPB is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# # CONFIG_NET_SCHED is not set # @@ -302,6 +299,7 @@ # # Generic Driver Options # +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_STANDALONE is not set CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set @@ -312,7 +310,6 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_FD is not set # CONFIG_GAMECUBE_DI is not set -# CONFIG_GAMECUBE_DVD is not set CONFIG_GAMECUBE_ARAM=m # CONFIG_GAMECUBE_SD is not set # CONFIG_BLK_DEV_COW_COMMON is not set @@ -348,10 +345,16 @@ # CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set +# CONFIG_VETH is not set # CONFIG_PHYLIB is not set CONFIG_NET_ETHERNET=y # CONFIG_MII is not set CONFIG_GAMECUBE_BBA=y +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_B44 is not set # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set @@ -385,7 +388,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set # CONFIG_INPUT_EVDEV is not set # CONFIG_INPUT_EVBUG is not set @@ -430,11 +432,11 @@ # Non-8250 serial port support # # CONFIG_SERIAL_UARTLITE is not set +# CONFIG_SERIAL_USBGECKO is not set CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_IPMI_HANDLER is not set -# CONFIG_WATCHDOG is not set # CONFIG_HW_RANDOM is not set CONFIG_NVRAM=y CONFIG_GEN_RTC=y @@ -453,9 +455,8 @@ # CONFIG_POWER_SUPPLY is not set CONFIG_HWMON=y # CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ABITUGURU3 is not set # CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set # CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set @@ -465,6 +466,13 @@ # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_WATCHDOG is not set + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set # # Multifunction device drivers @@ -481,12 +489,6 @@ # # Graphics support # -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Display device support -# -# CONFIG_DISPLAY_SUPPORT is not set # CONFIG_VGASTATE is not set # CONFIG_VIDEO_OUTPUT_CONTROL is not set CONFIG_FB=y @@ -495,6 +497,7 @@ CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_SYS_FILLRECT is not set # CONFIG_FB_SYS_COPYAREA is not set # CONFIG_FB_SYS_IMAGEBLIT is not set @@ -509,13 +512,18 @@ # # Frame buffer hardware drivers # -# CONFIG_FB_CT65550 is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_S1D13XXX is not set CONFIG_FB_GAMECUBE=y CONFIG_FB_GAMECUBE_GX=y # CONFIG_FB_IBM_GXT4500 is not set # CONFIG_FB_VIRTUAL is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set # # Console display driver support @@ -571,12 +579,12 @@ # # ALSA PowerMac requires I2C # -CONFIG_SND_GAMECUBE=y -# CONFIG_SND_GAMECUBE_MIC is not set # # ALSA PowerPC devices # +CONFIG_SND_GAMECUBE=y +# CONFIG_SND_GAMECUBE_MIC is not set # # System on Chip audio support @@ -594,6 +602,7 @@ CONFIG_HID_SUPPORT=y CONFIG_HID=y # CONFIG_HID_DEBUG is not set +# CONFIG_HIDRAW is not set # CONFIG_USB_SUPPORT is not set # CONFIG_MMC is not set # CONFIG_NEW_LEDS is not set @@ -601,19 +610,6 @@ # CONFIG_RTC_CLASS is not set # -# DMA Engine support -# -# CONFIG_DMA_ENGINE is not set - -# -# DMA Clients -# - -# -# DMA Devices -# - -# # Userspace I/O # # CONFIG_UIO is not set @@ -669,7 +665,6 @@ CONFIG_TMPFS=y # CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y # CONFIG_CONFIGFS_FS is not set # @@ -688,10 +683,7 @@ # CONFIG_QNX4FS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set - -# -# Network File Systems -# +CONFIG_NETWORK_FILESYSTEMS=y # CONFIG_NFS_FS is not set # CONFIG_NFSD is not set # CONFIG_SMB_FS is not set @@ -705,10 +697,6 @@ # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set @@ -749,10 +737,6 @@ # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set - -# -# Distributed Lock Manager -# # CONFIG_DLM is not set # @@ -769,12 +753,16 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y +CONFIG_INSTRUMENTATION=y # CONFIG_PROFILING is not set +# CONFIG_KPROBES is not set +# CONFIG_MARKERS is not set # # Kernel hacking # # CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y # CONFIG_MAGIC_SYSRQ is not set # CONFIG_UNUSED_SYMBOLS is not set @@ -782,10 +770,12 @@ # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_KERNEL is not set CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_SAMPLES is not set # # Security options # # CONFIG_KEYS is not set # CONFIG_SECURITY is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set # CONFIG_CRYPTO is not set |
From: Albert H. <he...@us...> - 2008-02-24 18:05:58
|
Update of /cvsroot/gc-linux/linux/drivers In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers Modified Files: Makefile Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/Makefile,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- Makefile 16 Nov 2007 23:26:07 -0000 1.22 +++ Makefile 24 Feb 2008 18:05:31 -0000 1.23 @@ -34,7 +34,6 @@ obj-$(CONFIG_ATM) += atm/ obj-y += macintosh/ obj-$(CONFIG_IDE) += ide/ -obj-$(CONFIG_FC4) += fc4/ obj-$(CONFIG_SCSI) += scsi/ obj-$(CONFIG_ATA) += ata/ obj-$(CONFIG_FUSION) += message/ @@ -66,7 +65,7 @@ obj-$(CONFIG_W1) += w1/ obj-$(CONFIG_POWER_SUPPLY) += power/ obj-$(CONFIG_HWMON) += hwmon/ -obj-$(CONFIG_WATCHDOG) += char/watchdog/ +obj-$(CONFIG_WATCHDOG) += watchdog/ obj-$(CONFIG_PHONE) += telephony/ obj-$(CONFIG_MD) += md/ obj-$(CONFIG_BT) += bluetooth/ @@ -76,6 +75,7 @@ obj-$(CONFIG_EISA) += eisa/ obj-$(CONFIG_LGUEST_GUEST) += lguest/ obj-$(CONFIG_CPU_FREQ) += cpufreq/ +obj-$(CONFIG_CPU_IDLE) += cpuidle/ obj-$(CONFIG_MMC) += mmc/ obj-$(CONFIG_NEW_LEDS) += leds/ obj-$(CONFIG_INFINIBAND) += infiniband/ @@ -85,8 +85,11 @@ obj-$(CONFIG_SUPERH) += sh/ obj-$(CONFIG_GENERIC_TIME) += clocksource/ obj-$(CONFIG_DMA_ENGINE) += dma/ +obj-$(CONFIG_DCA) += dca/ obj-$(CONFIG_HID) += hid/ obj-$(CONFIG_PPC_PS3) += ps3/ obj-$(CONFIG_GAMECUBE_EXI) += exi/ obj-$(CONFIG_GAMECUBE_SI) += input/si/ obj-$(CONFIG_OF) += of/ +obj-$(CONFIG_SSB) += ssb/ +obj-$(CONFIG_VIRTIO) += virtio/ |
From: Albert H. <he...@us...> - 2008-02-24 18:05:32
|
Update of /cvsroot/gc-linux/linux/fs In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/fs Modified Files: Kconfig Makefile Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/fs/Makefile,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Makefile 14 Nov 2007 23:08:57 -0000 1.8 +++ Makefile 24 Feb 2008 18:05:34 -0000 1.9 @@ -72,7 +72,7 @@ obj-$(CONFIG_JBD2) += jbd2/ obj-$(CONFIG_EXT2_FS) += ext2/ obj-$(CONFIG_CRAMFS) += cramfs/ -obj-$(CONFIG_RAMFS) += ramfs/ +obj-y += ramfs/ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ obj-$(CONFIG_CODA_FS) += coda/ obj-$(CONFIG_MINIX_FS) += minix/ Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/fs/Kconfig,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Kconfig 16 Nov 2007 23:26:09 -0000 1.9 +++ Kconfig 24 Feb 2008 18:05:34 -0000 1.10 @@ -140,6 +140,7 @@ tristate "Ext4dev/ext4 extended fs support development (EXPERIMENTAL)" depends on EXPERIMENTAL select JBD2 + select CRC16 help Ext4dev is a predecessor filesystem of the next generation extended fs ext4, based on ext3 filesystem code. It will be @@ -219,7 +220,7 @@ config JBD_DEBUG bool "JBD (ext3) debugging support" - depends on JBD + depends on JBD && DEBUG_FS help If you are using the ext3 journaled file system (or potentially any other file system/device using JBD), this option allows you to @@ -228,10 +229,10 @@ debugging output will be turned off. If you select Y here, then you will be able to turn on debugging - with "echo N > /proc/sys/fs/jbd-debug", where N is a number between - 1 and 5, the higher the number, the more debugging output is - generated. To turn debugging off again, do - "echo 0 > /proc/sys/fs/jbd-debug". + with "echo N > /sys/kernel/debug/jbd/jbd-debug", where N is a + number between 1 and 5, the higher the number, the more debugging + output is generated. To turn debugging off again, do + "echo 0 > /sys/kernel/debug/jbd/jbd-debug". config JBD2 tristate @@ -458,6 +459,15 @@ This option will enlarge your kernel, but it allows debugging of ocfs2 filesystem issues. +config OCFS2_DEBUG_FS + bool "OCFS2 expensive checks" + depends on OCFS2_FS + default n + help + This option will enable expensive consistency checks. Enable + this option for debugging only as it is likely to decrease + performance of the filesystem. + config MINIX_FS tristate "Minix fs support" help @@ -503,7 +513,7 @@ including multiple file events, one-shot support, and unmount notification. - For more information, see Documentation/filesystems/inotify.txt + For more information, see <file:Documentation/filesystems/inotify.txt> If unsure, say Y. @@ -517,7 +527,7 @@ directories via a single open fd. Events are read from the file descriptor, which is also select()- and poll()-able. - For more information, see Documentation/filesystems/inotify.txt + For more information, see <file:Documentation/filesystems/inotify.txt> If unsure, say Y. @@ -534,6 +544,24 @@ with the quota tools. Probably the quota support is only useful for multi user systems. If unsure, say N. +config QUOTA_NETLINK_INTERFACE + bool "Report quota messages through netlink interface" + depends on QUOTA && NET + help + If you say Y here, quota warnings (about exceeding softlimit, reaching + hardlimit, etc.) will be reported through netlink interface. If unsure, + say Y. + +config PRINT_QUOTA_WARNING + bool "Print quota warnings to console (OBSOLETE)" + depends on QUOTA + default y + help + If you say Y here, quota warnings (about exceeding softlimit, reaching + hardlimit, etc.) will be printed to the process' controlling terminal. + Note that this behavior is currently deprecated and may go away in + future. Please use notification via netlink socket instead. + config QFMT_V1 tristate "Old quota format support" depends on QUOTA @@ -555,7 +583,7 @@ default y config DNOTIFY - bool "Dnotify support" if EMBEDDED + bool "Dnotify support" default y help Dnotify is a directory-based per-fd file change notification system @@ -563,7 +591,7 @@ superior alternatives, but some applications may still rely on dnotify. - Because of this, if unsure, say Y. + If unsure, say Y. config AUTOFS_FS tristate "Kernel automounter support" @@ -1010,20 +1038,6 @@ config HUGETLB_PAGE def_bool HUGETLBFS -config RAMFS - bool - default y - ---help--- - Ramfs is a file system which keeps all files in RAM. It allows - read and write access. - - It is more of an programming example than a useable file system. If - you need a file system which lives in RAM with limit checking use - tmpfs. - - To compile this as a module, choose M here: the module will be called - ramfs. - config CONFIGFS_FS tristate "Userspace-driven configuration filesystem (EXPERIMENTAL)" depends on SYSFS && EXPERIMENTAL @@ -1095,7 +1109,7 @@ depends on EXPERIMENTAL && KEYS && CRYPTO && NET help Encrypted filesystem that operates on the VFS layer. See - <file:Documentation/ecryptfs.txt> to learn more about + <file:Documentation/filesystems/ecryptfs.txt> to learn more about eCryptfs. Userspace components are required and can be obtained from <http://ecryptfs.sf.net>. @@ -1109,8 +1123,8 @@ help If you say Y here, you will be able to mount Macintosh-formatted floppy disks and hard drive partitions with full read-write access. - Please read <file:fs/hfs/HFS.txt> to learn about the available mount - options. + Please read <file:Documentation/filesystems/hfs.txt> to learn about + the available mount options. To compile this file system support as a module, choose M here: the module will be called hfs. @@ -1236,6 +1250,14 @@ - NOR flash with transparent ECC - DataFlash +config JFFS2_FS_WBUF_VERIFY + bool "Verify JFFS2 write-buffer reads" + depends on JFFS2_FS_WRITEBUFFER + default n + help + This causes JFFS2 to read back every page written through the + write-buffer, and check for errors. + config JFFS2_SUMMARY bool "JFFS2 summary support (EXPERIMENTAL)" depends on JFFS2_FS && EXPERIMENTAL @@ -1294,7 +1316,7 @@ help Enabling this option allows you to explicitly choose which compression modules, if any, are enabled in JFFS2. Removing - compressors and mean you cannot read existing file systems, + compressors can mean you cannot read existing file systems, and enabling experimental compressors can mean that you write a file system which cannot be read by a standard kernel. @@ -1306,52 +1328,71 @@ select ZLIB_DEFLATE depends on JFFS2_FS default y - help - Zlib is designed to be a free, general-purpose, legally unencumbered, - lossless data-compression library for use on virtually any computer - hardware and operating system. See <http://www.gzip.org/zlib/> for - further information. + help + Zlib is designed to be a free, general-purpose, legally unencumbered, + lossless data-compression library for use on virtually any computer + hardware and operating system. See <http://www.gzip.org/zlib/> for + further information. - Say 'Y' if unsure. + Say 'Y' if unsure. + +config JFFS2_LZO + bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS + select LZO_COMPRESS + select LZO_DECOMPRESS + depends on JFFS2_FS + default n + help + minilzo-based compression. Generally works better than Zlib. + + This feature was added in July, 2007. Say 'N' if you need + compatibility with older bootloaders or kernels. config JFFS2_RTIME bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS depends on JFFS2_FS default y - help - Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. + help + Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. config JFFS2_RUBIN bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS depends on JFFS2_FS default n - help - RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. + help + RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. choice - prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS - default JFFS2_CMODE_PRIORITY - depends on JFFS2_FS - help - You can set here the default compression mode of JFFS2 from - the available compression modes. Don't touch if unsure. + prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS + default JFFS2_CMODE_PRIORITY + depends on JFFS2_FS + help + You can set here the default compression mode of JFFS2 from + the available compression modes. Don't touch if unsure. config JFFS2_CMODE_NONE - bool "no compression" - help - Uses no compression. + bool "no compression" + help + Uses no compression. config JFFS2_CMODE_PRIORITY - bool "priority" - help - Tries the compressors in a predefined order and chooses the first - successful one. + bool "priority" + help + Tries the compressors in a predefined order and chooses the first + successful one. config JFFS2_CMODE_SIZE - bool "size (EXPERIMENTAL)" - help - Tries all compressors and chooses the one which has the smallest - result. + bool "size (EXPERIMENTAL)" + help + Tries all compressors and chooses the one which has the smallest + result. + +config JFFS2_CMODE_FAVOURLZO + bool "Favour LZO" + help + Tries all compressors and chooses the one which has the smallest + result but gives some preference to LZO (which has faster + decompression) at the expense of size. endchoice @@ -1527,8 +1568,20 @@ endmenu -menu "Network File Systems" +menuconfig NETWORK_FILESYSTEMS + bool "Network File Systems" + default y depends on NET + ---help--- + Say Y here to get to see options for network filesystems and + filesystem-related networking code, such as NFS daemon and + RPCSEC security modules. + This option alone does not add any kernel code. + + If you say N, all options in this submenu will be skipped and + disabled; if unsure, say Y here. + +if NETWORK_FILESYSTEMS config NFS_FS tristate "NFS file system support" @@ -1739,6 +1792,14 @@ config SUNRPC_GSS tristate +config SUNRPC_XPRT_RDMA + tristate "RDMA transport for sunrpc (EXPERIMENTAL)" + depends on SUNRPC && INFINIBAND && EXPERIMENTAL + default m + help + Adds a client RPC transport for supporting kernel NFS over RDMA + mounts, including Infiniband and iWARP. Experimental. + config SUNRPC_BIND34 bool "Support for rpcbind versions 3 & 4 (EXPERIMENTAL)" depends on SUNRPC && EXPERIMENTAL @@ -1966,7 +2027,7 @@ config CIFS_UPCALL bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)" depends on CIFS_EXPERIMENTAL - depends on CONNECTOR + depends on KEYS help Enables an upcall mechanism for CIFS which will be used to contact userspace helper utilities to provide SPNEGO packaged Kerberos @@ -2066,7 +2127,7 @@ If unsure, say N. -endmenu +endif # NETWORK_FILESYSTEMS if BLOCK menu "Partition Types" |
From: Albert H. <he...@us...> - 2008-02-24 18:05:31
|
Update of /cvsroot/gc-linux/linux/sound/ppc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/sound/ppc Modified Files: Makefile gcn-mic.c Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: gcn-mic.c =================================================================== RCS file: /cvsroot/gc-linux/linux/sound/ppc/gcn-mic.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- gcn-mic.c 30 Apr 2007 17:06:13 -0000 1.4 +++ gcn-mic.c 24 Feb 2008 18:05:35 -0000 1.5 @@ -2,8 +2,8 @@ * sound/ppc/gcn-mic.c * * Nintendo Microphone (DOL-022) driver - * Copyright (C) 2006-2007 The GameCube Linux Team - * Copyright (C) 2006,2007 Albert Herranz + * Copyright (C) 2006-2008 The GameCube Linux Team + * Copyright (C) 2006,2007,2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -280,12 +280,14 @@ .periods_max = 1024, }; +#if 0 static unsigned int period_bytes[] = { 32, 64, 128 }; static struct snd_pcm_hw_constraint_list constraints_period_bytes = { .count = ARRAY_SIZE(period_bytes), .list = period_bytes, .mask = 0, }; +#endif /* * Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/sound/ppc/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile 16 Nov 2007 23:26:09 -0000 1.7 +++ Makefile 24 Feb 2008 18:05:35 -0000 1.8 @@ -1,6 +1,6 @@ # # Makefile for ALSA -# Copyright (c) 2001 by Jaroslav Kysela <pe...@su...> +# Copyright (c) 2001 by Jaroslav Kysela <pe...@pe...> # snd-powermac-objs := powermac.o pmac.o awacs.o burgundy.o daca.o tumbler.o keywest.o beep.o |
From: Albert H. <he...@us...> - 2008-02-24 18:05:31
|
Update of /cvsroot/gc-linux/linux/include/linux In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/include/linux Modified Files: exi.h fb.h Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: exi.h =================================================================== RCS file: /cvsroot/gc-linux/linux/include/linux/exi.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- exi.h 17 Feb 2007 23:43:42 -0000 1.15 +++ exi.h 24 Feb 2008 18:05:34 -0000 1.16 @@ -2,10 +2,10 @@ * include/linux/exi.h * * Nintendo GameCube EXpansion Interface definitions - * Copyright (C) 2004-2005 The GameCube Linux Team + * Copyright (C) 2004-2008 The GameCube Linux Team * Copyright (C) 2004 Arthur Othieno <a.o...@bl...> * Copyright (C) 2004,2005 Todd Jeffreys <to...@vo...> - * Copyright (C) 2005 Albert Herranz + * Copyright (C) 2005,2007,2008 Albert Herranz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -309,6 +309,12 @@ exi_dev_transfer(dev, data, len, EXI_OP_WRITE, 0); } +static inline void exi_dev_readwrite(struct exi_device *dev, void *data, + size_t len) +{ + exi_dev_transfer(dev, data, len, EXI_OP_READWRITE, 0); +} + static inline int exi_dev_set_freq(struct exi_device *dev, unsigned int freq) { BUG_ON(freq > EXI_MAX_FREQ); Index: fb.h =================================================================== RCS file: /cvsroot/gc-linux/linux/include/linux/fb.h,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- fb.h 16 Nov 2007 23:26:09 -0000 1.26 +++ fb.h 24 Feb 2008 18:05:34 -0000 1.27 @@ -185,6 +185,7 @@ }; #define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */ +#define FB_NONSTD_REV_PIX_IN_B 2 /* order of pixels in each byte is reversed */ #define FB_ACTIVATE_NOW 0 /* set values immediately (or vbl)*/ #define FB_ACTIVATE_NXTOPEN 1 /* activate on next open */ @@ -211,6 +212,7 @@ #define FB_VMODE_NONINTERLACED 0 /* non interlaced */ #define FB_VMODE_INTERLACED 1 /* interlaced */ #define FB_VMODE_DOUBLE 2 /* double scan */ +#define FB_VMODE_ODD_FLD_FIRST 4 /* interlaced: top line first */ #define FB_VMODE_MASK 255 #define FB_VMODE_YWRAP 256 /* ywrap instead of panning */ @@ -1065,6 +1067,7 @@ u32 flag; }; +extern const char *fb_mode_option; extern const struct fb_videomode vesa_modes[]; struct fb_modelist { |
From: Albert H. <he...@us...> - 2008-02-24 18:05:30
|
Update of /cvsroot/gc-linux/linux/include/asm-ppc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/include/asm-ppc Modified Files: io.h Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: io.h =================================================================== RCS file: /cvsroot/gc-linux/linux/include/asm-ppc/io.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- io.h 30 Apr 2007 17:06:13 -0000 1.18 +++ io.h 24 Feb 2008 18:05:34 -0000 1.19 @@ -30,7 +30,7 @@ #include <asm/mpc8xx.h> #elif defined(CONFIG_8260) #include <asm/mpc8260.h> -#elif defined(CONFIG_APUS) || !defined(CONFIG_PCI) +#elif !defined(CONFIG_PCI) #define _IO_BASE 0 #define _ISA_MEM_BASE 0 #define PCI_DRAM_OFFSET 0 @@ -145,24 +145,7 @@ } #endif -#if defined(CONFIG_APUS) || defined(CONFIG_GAMECUBE) -static inline __u16 readw(const volatile void __iomem *addr) -{ - return *(__force volatile __u16 *)(addr); -} -static inline __u32 readl(const volatile void __iomem *addr) -{ - return *(__force volatile __u32 *)(addr); -} -static inline void writew(__u16 b, volatile void __iomem *addr) -{ - *(__force volatile __u16 *)(addr) = b; -} -static inline void writel(__u32 b, volatile void __iomem *addr) -{ - *(__force volatile __u32 *)(addr) = b; -} -#elif defined (CONFIG_8260_PCI9) +#if defined (CONFIG_8260_PCI9) /* Use macros if PCI9 workaround enabled */ #define readw(addr) in_le16((volatile u16 *)(addr)) #define readl(addr) in_le32((volatile u32 *)(addr)) @@ -185,7 +168,7 @@ { out_le32(addr, b); } -#endif /* CONFIG_APUS || CONFIG_GAMECUBE */ +#endif /* CONFIG_8260_PCI9 */ #define readb_relaxed(addr) readb(addr) #define readw_relaxed(addr) readw(addr) @@ -300,13 +283,7 @@ } __do_out_asm(outb, "stbx") -#ifdef CONFIG_APUS -__do_in_asm(inb, "lbzx") -__do_in_asm(inw, "lhz%U1%X1") -__do_in_asm(inl, "lwz%U1%X1") -__do_out_asm(outl,"stw%U0%X0") -__do_out_asm(outw, "sth%U0%X0") -#elif defined (CONFIG_8260_PCI9) +#if defined (CONFIG_8260_PCI9) /* in asm cannot be defined if PCI9 workaround is used */ #define inb(port) in_8((port)+___IO_BASE) #define inw(port) in_le16((port)+___IO_BASE) @@ -371,7 +348,6 @@ #define ioremap_nocache(addr, size) ioremap((addr), (size)) extern void iounmap(volatile void __iomem *addr); extern unsigned long iopa(unsigned long addr); -extern unsigned long mm_ptov(unsigned long addr) __attribute_const__; extern void io_block_mapping(unsigned long virt, phys_addr_t phys, unsigned int size, int flags); @@ -384,24 +360,16 @@ */ extern inline unsigned long virt_to_bus(volatile void * address) { -#ifndef CONFIG_APUS if (address == (void *)0) return 0; return (unsigned long)address - KERNELBASE + PCI_DRAM_OFFSET; -#else - return iopa ((unsigned long) address); -#endif } extern inline void * bus_to_virt(unsigned long address) { -#ifndef CONFIG_APUS if (address == 0) return NULL; return (void *)(address - PCI_DRAM_OFFSET + KERNELBASE); -#else - return (void*) mm_ptov (address); -#endif } /* @@ -410,20 +378,12 @@ */ extern inline unsigned long virt_to_phys(volatile void * address) { -#ifndef CONFIG_APUS return (unsigned long) address - KERNELBASE; -#else - return iopa ((unsigned long) address); -#endif } extern inline void * phys_to_virt(unsigned long address) { -#ifndef CONFIG_APUS return (void *) (address + KERNELBASE); -#else - return (void*) mm_ptov (address); -#endif } /* @@ -538,23 +498,6 @@ #include <asm/mpc8260_pci9.h> #endif -#ifdef CONFIG_NOT_COHERENT_CACHE - -#define dma_cache_inv(_start,_size) \ - invalidate_dcache_range(_start, (_start + _size)) -#define dma_cache_wback(_start,_size) \ - clean_dcache_range(_start, (_start + _size)) -#define dma_cache_wback_inv(_start,_size) \ - flush_dcache_range(_start, (_start + _size)) - -#else - -#define dma_cache_inv(_start,_size) do { } while (0) -#define dma_cache_wback(_start,_size) do { } while (0) -#define dma_cache_wback_inv(_start,_size) do { } while (0) - -#endif - /* * Convert a physical pointer to a virtual kernel pointer for /dev/mem * access @@ -573,4 +516,7 @@ #define setbits16(_addr, _v) out_be16((_addr), in_be16(_addr) | (_v)) #define clrbits16(_addr, _v) out_be16((_addr), in_be16(_addr) & ~(_v)) +#define setbits8(_addr, _v) out_8((_addr), in_8(_addr) | (_v)) +#define clrbits8(_addr, _v) out_8((_addr), in_8(_addr) & ~(_v)) + #endif /* __KERNEL__ */ |
From: Albert H. <he...@us...> - 2008-02-24 18:05:30
|
Update of /cvsroot/gc-linux/linux/drivers/video/logo In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers/video/logo Modified Files: logo.c Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: logo.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/video/logo/logo.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- logo.c 16 Nov 2007 23:26:09 -0000 1.5 +++ logo.c 24 Feb 2008 18:05:33 -0000 1.6 @@ -35,6 +35,10 @@ extern const struct linux_logo logo_superh_clut224; extern const struct linux_logo logo_m32r_clut224; +static int nologo; +module_param(nologo, bool, 0); +MODULE_PARM_DESC(nologo, "Disables startup logo"); + /* logo's are marked __initdata. Use __init_refok to tell * modpost that it is intended that this function uses data * marked __initdata. @@ -43,6 +47,9 @@ { const struct linux_logo *logo = NULL; + if (nologo) + return NULL; + if (depth >= 1) { #ifdef CONFIG_LOGO_LINUX_MONO /* Generic Linux logo */ @@ -72,10 +79,7 @@ #endif #ifdef CONFIG_LOGO_DEC_CLUT224 /* DEC Linux logo on MIPS/MIPS64 or ALPHA */ -#ifndef CONFIG_ALPHA - if (mips_machgroup == MACH_GROUP_DEC) -#endif - logo = &logo_dec_clut224; + logo = &logo_dec_clut224; #endif #ifdef CONFIG_LOGO_GAMECUBE_CLUT224 /* GameCube Linux logo */ @@ -92,10 +96,7 @@ #endif #ifdef CONFIG_LOGO_SGI_CLUT224 /* SGI Linux logo on MIPS/MIPS64 and VISWS */ -#ifndef CONFIG_X86_VISWS - if (mips_machgroup == MACH_GROUP_SGI) -#endif - logo = &logo_sgi_clut224; + logo = &logo_sgi_clut224; #endif #ifdef CONFIG_LOGO_SUN_CLUT224 /* Sun Linux logo */ |
From: Albert H. <he...@us...> - 2008-02-24 18:05:30
|
Update of /cvsroot/gc-linux/linux/drivers/video In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4818/drivers/video Modified Files: Kconfig Makefile Log Message: Merged 2.6.24. Added usbgecko driver. Added fixes for: exi, gcn-sd, gcn-mic, gcn-gqr. Adapted: gcn-bba, gcn-gqr, gcn-rtc. Added very primitive support for the Nintendo Wii. Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/video/Makefile,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- Makefile 16 Nov 2007 23:26:08 -0000 1.24 +++ Makefile 24 Feb 2008 18:05:33 -0000 1.25 @@ -117,10 +117,13 @@ obj-$(CONFIG_FB_GAMECUBE_GX) += gcngx.o # Platform or fallback drivers go here +obj-$(CONFIG_FB_UVESA) += uvesafb.o obj-$(CONFIG_FB_VESA) += vesafb.o obj-$(CONFIG_FB_IMAC) += imacfb.o +obj-$(CONFIG_FB_EFI) += efifb.o obj-$(CONFIG_FB_VGA16) += vga16fb.o obj-$(CONFIG_FB_OF) += offb.o +obj-$(CONFIG_FB_BF54X_LQ043) += bf54x-lq043fb.o # the test framebuffer is last obj-$(CONFIG_FB_VIRTUAL) += vfb.o Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/video/Kconfig,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- Kconfig 16 Nov 2007 23:26:08 -0000 1.25 +++ Kconfig 24 Feb 2008 18:05:33 -0000 1.26 @@ -5,8 +5,9 @@ menu "Graphics support" depends on HAS_IOMEM -source "drivers/video/backlight/Kconfig" -source "drivers/video/display/Kconfig" +source "drivers/char/agp/Kconfig" + +source "drivers/char/drm/Kconfig" config VGASTATE tristate @@ -14,12 +15,11 @@ config VIDEO_OUTPUT_CONTROL tristate "Lowlevel video output switch controls" - default m help This framework adds support for low-level control of the video output switch. -config FB +menuconfig FB tristate "Support for frame buffer devices" ---help--- The frame buffer device provides an abstraction for the graphics @@ -103,6 +103,15 @@ blitting. This is used by drivers that don't provide their own (accelerated) version. +config FB_CFB_REV_PIXELS_IN_BYTE + bool + depends on FB + default n + ---help--- + Allow generic frame-buffer functions to work on displays with 1, 2 + and 4 bits per pixel depths which has opposite order of pixels in + byte order to bytes in long order. + config FB_SYS_FILLRECT tristate depends on FB @@ -494,7 +503,7 @@ config FB_CT65550 bool "Chips 65550 display support" - depends on (FB = y) && PPC32 + depends on (FB = y) && PPC32 && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -535,6 +544,15 @@ To compile this driver as a module, choose M here: the module will be called vga16fb. +config FB_BF54X_LQ043 + tristate "SHARP LQ043 TFT LCD (BF548 EZKIT)" + depends on FB && (BF54x) + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the framebuffer device driver for a SHARP LQ043T1DG01 TFT LCD + config FB_STI tristate "HP STI frame buffer device support" depends on FB && PARISC @@ -592,6 +610,24 @@ Say Y if you have one of those. +config FB_UVESA + tristate "Userspace VESA VGA graphics support" + depends on FB && CONNECTOR + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB_MODE_HELPERS + help + This is the frame buffer driver for generic VBE 2.0 compliant + graphic cards. It can also take advantage of VBE 3.0 features, + such as refresh rate adjustment. + + This driver generally provides more features than vesafb but + requires a userspace helper application called 'v86d'. See + <file:Documentation/fb/uvesafb.txt> for more information. + + If unsure, say N. + config FB_VESA bool "VESA VGA graphics support" depends on (FB = y) && X86 @@ -605,6 +641,17 @@ You will get a boot time penguin logo at no additional cost. Please read <file:Documentation/fb/vesafb.txt>. If unsure, say Y. +config FB_EFI + bool "EFI-based Framebuffer Support" + depends on (FB = y) && X86 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the EFI frame buffer device driver. If the firmware on + your platform is UEFI2.0, select Y to add support for + Graphics Output Protocol for early console messages to appear. + config FB_IMAC bool "Intel-based Macintosh Framebuffer Support" depends on (FB = y) && X86 && EFI @@ -625,7 +672,7 @@ help This enables support for the Hecuba board. This driver was tested with an E-Ink 800x600 display and x86 SBCs through a 16 bit GPIO - interface (8 bit data, 4 bit control). If you anticpate using + interface (8 bit data, 4 bit control). If you anticipate using this driver, say Y or M; otherwise say N. You must specify the GPIO IO address to be used for setting control and data. @@ -779,7 +826,7 @@ help This is the framebuffer device for the Sun XVR-500 and similar graphics cards based upon the 3DLABS Wildcat chipset. The driver - only works on sparc64 systems where the system firwmare has + only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. @@ -792,7 +839,7 @@ help This is the framebuffer device for the Sun XVR-2500 and similar graphics cards based upon the 3DLABS Wildcat chipset. The driver - only works on sparc64 systems where the system firwmare has + only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. @@ -1473,7 +1520,7 @@ WARNING: Do not use any application that uses the 3D engine (namely glide) while using this driver. - Please read the <file:Documentation/fb/README-sstfb.txt> for supported + Please read the <file:Documentation/fb/sstfb.txt> for supported options and other important info support. config FB_VT8623 @@ -1640,7 +1687,7 @@ config FB_PMAGB_B tristate "PMAGB-B TURBOchannel framebuffer support" - depends on TC + depends on FB && TC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -1786,7 +1833,7 @@ This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called sm501fb. If you want to compile it as a module, - say M here and read <file:Documentation/modules.txt>. + say M here and read <file:Documentation/kbuild/modules.txt>. If unsure, say N. @@ -1808,7 +1855,7 @@ config FB_IBM_GXT4500 tristate "Framebuffer support for IBM GXT4500P adaptor" - depends on PPC + depends on FB && PPC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -1848,10 +1895,6 @@ framebuffer. ML300 carries a 640*480 LCD display on the board, ML403 uses a standard DB15 VGA connector. -if ARCH_OMAP - source "drivers/video/omap/Kconfig" -endif - config FB_VIRTUAL tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" depends on FB @@ -1875,6 +1918,11 @@ If unsure, say N. +source "drivers/video/omap/Kconfig" + +source "drivers/video/backlight/Kconfig" +source "drivers/video/display/Kconfig" + if VT source "drivers/video/console/Kconfig" endif @@ -1884,4 +1932,3 @@ endif endmenu - |
From: Albert H. <he...@us...> - 2008-02-24 18:00:43
|
Update of /cvsroot/gc-linux/linux/drivers/serial In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4432/drivers/serial Log Message: Directory /cvsroot/gc-linux/linux/drivers/serial added to the repository |
From: Albert H. <he...@us...> - 2007-11-19 17:57:25
|
Update of /cvsroot/gc-linux/linux/drivers/net In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv5528/drivers/net Modified Files: Kconfig Log Message: Remove redundant dependency on NET_ETHERNET for GAMECUBE_BBA. Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/net/Kconfig,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- Kconfig 16 Nov 2007 23:26:08 -0000 1.27 +++ Kconfig 19 Nov 2007 17:57:25 -0000 1.28 @@ -261,7 +261,7 @@ config GAMECUBE_BBA tristate "Nintendo GameCube BroadBand Adapter (ethernet) support" - depends on NET_ETHERNET && GAMECUBE && GAMECUBE_EXI + depends on GAMECUBE && GAMECUBE_EXI help Say Y here to add ethernet support for the Broadband Adapter (BBA). |