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 <[EMAIL PROTECTED]>  Wed,  3 Jan 2007 12:34:37 +0100
+ -- Christian T. Steigies <[EMAIL PROTECTED]>  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

_______________________________________________
Kernel-svn-changes mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/kernel-svn-changes

Reply via email to