[kernel] r8074 - in dists/sid/linux-2.6/debian: . arch/m68k patches
patches/series
Christian T. Steigies
cts at alioth.debian.org
Wed Jan 3 21:25:14 CET 2007
Author: cts
Date: Wed Jan 3 21:25:14 2007
New Revision: 8074
Added:
dists/sid/linux-2.6/debian/patches/m68k-atari-atakeyb-switches.patch
dists/sid/linux-2.6/debian/patches/m68k-atari-ethernec-update.patch
Modified:
dists/sid/linux-2.6/debian/arch/m68k/config.atari
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/9-extra
Log:
m68k atari keyboard and ethernec fixes by Michael Schmitz
Modified: dists/sid/linux-2.6/debian/arch/m68k/config.atari
==============================================================================
--- dists/sid/linux-2.6/debian/arch/m68k/config.atari (original)
+++ dists/sid/linux-2.6/debian/arch/m68k/config.atari Wed Jan 3 21:25:14 2007
@@ -114,4 +114,4 @@
CONFIG_NET_ETHERNET=y
CONFIG_ATARILANCE=y
CONFIG_ATARI_NFETH=y
-CONFIG_ATARI_ETHERNEC=y
+CONFIG_ATARI_ETHERNEC=m
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog (original)
+++ dists/sid/linux-2.6/debian/changelog Wed Jan 3 21:25:14 2007
@@ -55,6 +55,8 @@
* m68k/atari: fixes for scsi driver by Michael Schmitz
* m68k/mac: fixes for mace and cuda driver by Finn Thain
* m68k/atari: fixes for ide driver by Michael Schmitz
+ * m68k/atari: fixes for ide driver by Michael Schmitz
+ * m68k/atari: fixes for ethernec and atakeyb driver by Michael Schmitz, build ethernec as module
[ maximilian attems ]
* Add stable release 2.6.18.6:
@@ -130,7 +132,7 @@
memory accesses in ehci-hub-control() by adding an alignment attribute
to the tbuf array declaration. Thanks to David Miller for the patch.
- -- maximilian attems <maks at sternwelten.at> Wed, 3 Jan 2007 12:34:37 +0100
+ -- Christian T. Steigies <cts at debian.org> Wed, 3 Jan 2007 21:24:25 +0100
linux-2.6 (2.6.18-8) unstable; urgency=low
Added: dists/sid/linux-2.6/debian/patches/m68k-atari-atakeyb-switches.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/m68k-atari-atakeyb-switches.patch Wed Jan 3 21:25:14 2007
@@ -0,0 +1,53 @@
+--- source-m68k-none/arch/m68k/atari/atakeyb.c.orig 2007-01-03 19:31:17.000000000 +0100
++++ source-m68k-none/arch/m68k/atari/atakeyb.c 2007-01-03 19:35:22.000000000 +0100
+@@ -662,14 +662,22 @@
+ atari_turnoff_irq(IRQ_MFP_ACIA);
+ do {
+ /* reset IKBD ACIA */
+- acia.key_ctrl = ACIA_RESET ; // |
+- // (atari_switches & ATARI_SWITCH_IKBD) ? ACIA_RHTID : 0;
++ if (atari_switches)
++ acia.key_ctrl = ACIA_RESET |
++ (atari_switches & ATARI_SWITCH_IKBD) ? ACIA_RHTID : 0;
++ else
++ acia.key_ctrl = ACIA_RESET ;
++
+ (void)acia.key_ctrl;
+ (void)acia.key_data;
+
+ /* reset MIDI ACIA */
+- acia.mid_ctrl = ACIA_RESET ; // |
+- // (atari_switches & ATARI_SWITCH_MIDI) ? ACIA_RHTID : 0;
++ if (atari_switches)
++ acia.mid_ctrl = ACIA_RESET |
++ (atari_switches & ATARI_SWITCH_MIDI) ? ACIA_RHTID : 0;
++ else
++ acia.mid_ctrl = ACIA_RESET ;
++
+ (void)acia.mid_ctrl;
+ (void)acia.mid_data;
+
+@@ -677,12 +685,17 @@
+ /* 8 data no parity 1 start 1 stop bit */
+ /* receive interrupt enabled */
+ /* RTS low (except if switch selected), transmit interrupt disabled */
+- acia.key_ctrl = (ACIA_DIV64|ACIA_D8N1S|ACIA_RIE) ; // |
+- // ((atari_switches & ATARI_SWITCH_IKBD) ?
+- // ACIA_RHTID : ACIA_RLTID);
+-
+- acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S ; // |
+- // (atari_switches & ATARI_SWITCH_MIDI) ? ACIA_RHTID : 0;
++ if (atari_switches) {
++ acia.key_ctrl = (ACIA_DIV64|ACIA_D8N1S|ACIA_RIE) |
++ ((atari_switches & ATARI_SWITCH_IKBD) ?
++ ACIA_RHTID : ACIA_RLTID);
++
++ acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S |
++ (atari_switches & ATARI_SWITCH_MIDI) ? ACIA_RHTID : 0;
++ } else {
++ acia.key_ctrl = (ACIA_DIV64|ACIA_D8N1S|ACIA_RIE) ;
++ acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S ;
++ }
+ }
+ /* make sure the interrupt line is up */
+ while ((mfp.par_dt_reg & 0x10) == 0);
Added: dists/sid/linux-2.6/debian/patches/m68k-atari-ethernec-update.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/m68k-atari-ethernec-update.patch Wed Jan 3 21:25:14 2007
@@ -0,0 +1,83 @@
+--- linux-2.6.18-m68k/drivers/net/atari_ethernec.c.ms.org 2007-01-03 13:52:39.000000000 +0100
++++ linux-2.6.18-m68k/drivers/net/atari_ethernec.c 2007-01-03 14:22:58.000000000 +0100
+@@ -216,6 +216,12 @@
+
+ static int use_poll = 0;
+
++/*
++ * We use timer D for polling; allow the user to specify the timer period (0.1 ms)!
++ */
++
++static int period = 0;
++
+ /* This is used by cleanup, to prevent the module from being unloaded while
+ * intrpt_routine is still in the task queue
+ */
+@@ -223,11 +229,13 @@
+
+ static struct work_struct tqueue;
+
++#if defined (ETHERNEC_USE_POLL)
+ static struct {
+ struct work_struct poll_queue;
+ struct timer_list poll_timer;
+ struct net_device *dev;
+ } poll_ops;
++#endif
+
+ static struct net_device *poll_dev = NULL;
+
+@@ -511,7 +519,6 @@
+ printk(" (warning: no reset ack)");
+ break;
+ } else {
+- // MSch: ARAnyM exits here
+ printk(" not found (no reset ack).\n");
+ ret = -ENODEV;
+ goto err_out;
+@@ -657,10 +664,19 @@
+ dev->irq = ETHERNEC_RTL_8019_IRQ;
+ /* timer routine set up in atari_ethernec_probe() */
+ if (dev->irq == IRQ_MFP_TIMD) {
++ /* period is in units of 0.1 ms, roughly */
++ int timd = period * 4;
++ if (timd == 0)
++ timd = 192; /* default is 200 Hz */
++ if (timd < 80)
++ timd = 80; /* upper limit: 480 Hz */
++ if (timd > 255)
++ timd = 255; /* lower limit: 150 Hz */
++ printk("Timer D frequency: %d Hz\n", (int)(38400UL/(unsigned int)timd));
+ /* set Timer D data Register */
+- mfp.tim_dt_d = 123; /* 200 Hz */
+- /* start timer D, div = 1:100 */
+- mfp.tim_ct_cd = (mfp.tim_ct_cd & 0xf0) | 0x6;
++ mfp.tim_dt_d = timd;
++ /* start timer D, div = 1:64, master clock = 2.46 MHz */
++ mfp.tim_ct_cd = (mfp.tim_ct_cd & 0xf0) | 0x5;
+ }
+ ret = request_irq(dev->irq, ei_interrupt, 0, name, dev);
+ if (ret) {
+@@ -989,7 +1005,7 @@
+ #ifdef MODULE
+ #define MAX_NE_CARDS 4 /* Max number of NE cards per module */
+ static struct net_device *dev_ne[MAX_NE_CARDS];
+-static int io[MAX_NE_CARDS];
++static int io[MAX_NE_CARDS] = { 0x300, };
+ static int irq[MAX_NE_CARDS];
+ static int bad[MAX_NE_CARDS]; /* 0xbad = bad sig or no reset ack */
+
+@@ -997,10 +1013,12 @@
+ module_param_array(irq, int, NULL, 0);
+ module_param_array(bad, int, NULL, 0);
+ module_param(use_poll, int, 0);
++module_param(period, int, 0);
+ MODULE_PARM_DESC(io, "I/O base address(es),required");
+ MODULE_PARM_DESC(irq, "IRQ number(s)");
+ MODULE_PARM_DESC(bad, "Accept card(s) with bad signatures");
+-MODULE_PARM_DESC(use_poll, "Use timer interrupt to poll driver");
++MODULE_PARM_DESC(use_poll, "Force use of timer interrupt to poll driver");
++MODULE_PARM_DESC(period, "MFP timer D period (0.1 ms)");
+ MODULE_DESCRIPTION("NE1000/NE2000 ISA/PnP Ethernet driver");
+ MODULE_LICENSE("GPL");
+
Modified: dists/sid/linux-2.6/debian/patches/series/9-extra
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/9-extra (original)
+++ dists/sid/linux-2.6/debian/patches/series/9-extra Wed Jan 3 21:25:14 2007
@@ -10,3 +10,5 @@
+ m68k-mac-mace.patch m68k
+ m68k-mac-cuda.patch m68k
+ m68k-atari-ide.patch m68k
++ m68k-atari-ethernec-update.patch m68k
++ m68k-atari-atakeyb-switches.patch m68k
More information about the Kernel-svn-changes
mailing list