This makes sl-modem compile without errors (or warnings, except for deprecation of pci_find_device()) against the current Debian kernel and with vanilla 2.6.26. I make no promises as to whether it works; I didn't feel like messing about with modems and the other bug reports scared me.
Ben.
diff -u sl-modem-2.9.9d+e-pre2/drivers/amrmo_init.c
sl-modem-2.9.9d+e-pre2/drivers/amrmo_init.c
--- sl-modem-2.9.9d+e-pre2/drivers/amrmo_init.c
+++ sl-modem-2.9.9d+e-pre2/drivers/amrmo_init.c
@@ -503,7 +503,7 @@
amrmo_card_interrupt(amrmo->card);
}
#else
-static irqreturn_t amrmo_pci_interrupt(int irq, void *dev_id, struct pt_regs
*regs)
+static irqreturn_t amrmo_pci_interrupt(int irq, void *dev_id)
{
struct amrmo_struct *amrmo = (struct amrmo_struct *)dev_id;
amrmo_card_interrupt(amrmo->card);
@@ -587,7 +587,7 @@
}
}
- ret = request_irq(amrmo->irq, &amrmo_pci_interrupt,SA_SHIRQ,
+ ret = request_irq(amrmo->irq, &amrmo_pci_interrupt,IRQF_SHARED,
amrmo->name,amrmo);
if(ret) {
printk(KERN_ERR "slamr: failed request_irq\n");
diff -u sl-modem-2.9.9d+e-pre2/drivers/st7554.c
sl-modem-2.9.9d+e-pre2/drivers/st7554.c
--- sl-modem-2.9.9d+e-pre2/drivers/st7554.c
+++ sl-modem-2.9.9d+e-pre2/drivers/st7554.c
@@ -418,7 +418,7 @@
/* ----------------------------------------------------------------------- */
-static void st7554_interrupt(struct urb *urb, struct pt_regs* regs)
+static void st7554_interrupt(struct urb *urb)
{
struct st7554_state *s = urb->context;
u32 *status = urb->transfer_buffer;
@@ -459,7 +459,7 @@
/* --------------------------------------------------------------------- */
-static void mo_complete(struct urb *u, struct pt_regs* regs)
+static void mo_complete(struct urb *u)
{
struct st7554_state *s = u->context;
struct dmabuf *db = &s->mo.dma;
@@ -518,14 +518,14 @@
}
-static void mo_startup_complete(struct urb *u, struct pt_regs* regs)
+static void mo_startup_complete(struct urb *u)
{
struct st7554_state *s = u->context;
USB_DBG("mo_startup_complete %d: %d: sent %d.\n",
MO_URB_NO(s,u), u->start_frame, u->actual_length);
FILL_DESC_OUT(s,&s->mo,u,BYTES_IN_FRAMES(s,DESCFRAMES));
u->complete = mo_complete;
- mo_complete(u,regs);
+ mo_complete(u);
complete(&s->start_comp);
}
@@ -533,7 +533,7 @@
/* ----------------------------------------------------------------------- */
-static void mi_complete(struct urb *u, struct pt_regs* regs)
+static void mi_complete(struct urb *u)
{
struct st7554_state *s = u->context;
struct urb *next;
@@ -578,7 +578,7 @@
}
-static void mi_startup_complete(struct urb *u, struct pt_regs* regs)
+static void mi_startup_complete(struct urb *u)
{
struct st7554_state *s = u->context;
struct usb_iso_packet_descriptor *p;
--- END ---
--
Ben Hutchings
If God had intended Man to program,
we'd have been born with serial I/O ports.
signature.asc
Description: This is a digitally signed message part

