Commit 39ed3b25 authored by Paul Mackerras's avatar Paul Mackerras

Merge samba.org:/home/paulus/kernel/linux-2.5

into samba.org:/home/paulus/kernel/for-linus-ppc
parents d33a40e5 b0deac08
...@@ -30,7 +30,9 @@ I'll register one for you. ...@@ -30,7 +30,9 @@ I'll register one for you.
The second argument to _IO, _IOW, _IOR, or _IOWR is a sequence number The second argument to _IO, _IOW, _IOR, or _IOWR is a sequence number
to distinguish ioctls from each other. The third argument to _IOW, to distinguish ioctls from each other. The third argument to _IOW,
_IOR, or _IOWR is the type of the data going into the kernel or coming _IOR, or _IOWR is the type of the data going into the kernel or coming
out of the kernel (e.g. 'int' or 'struct foo'). out of the kernel (e.g. 'int' or 'struct foo'). NOTE! Do NOT use
sizeof(arg) as the third argument as this results in your ioctl thinking
it passes an argument of type size_t.
Some devices use their major number as the identifier; this is OK, as Some devices use their major number as the identifier; this is OK, as
long as it is unique. Some devices are irregular and don't follow any long as it is unique. Some devices are irregular and don't follow any
......
...@@ -344,8 +344,8 @@ endif ...@@ -344,8 +344,8 @@ endif
include arch/$(ARCH)/Makefile include arch/$(ARCH)/Makefile
# Let architecture Makefiles change CPPFLAGS if needed # Let architecture Makefiles change CPPFLAGS if needed
CFLAGS += $(CPPFLAGS) $(CFLAGS) CFLAGS := $(CPPFLAGS) $(CFLAGS)
AFLAGS += $(CPPFLAGS) $(AFLAGS) AFLAGS := $(CPPFLAGS) $(AFLAGS)
core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ core-y += kernel/ mm/ fs/ ipc/ security/ crypto/
......
...@@ -58,8 +58,7 @@ $(obj)/setup $(obj)/bootsect: %: %.o FORCE ...@@ -58,8 +58,7 @@ $(obj)/setup $(obj)/bootsect: %: %.o FORCE
$(call if_changed,ld) $(call if_changed,ld)
$(obj)/compressed/vmlinux: FORCE $(obj)/compressed/vmlinux: FORCE
$(Q)$(MAKE) -f scripts/Makefile.build obj=$(obj)/compressed \ $(Q)$(MAKE) $(build)=$(obj)/compressed IMAGE_OFFSET=$(IMAGE_OFFSET) $@
IMAGE_OFFSET=$(IMAGE_OFFSET) $@
# Set this if you want to pass append arguments to the zdisk/fdimage kernel # Set this if you want to pass append arguments to the zdisk/fdimage kernel
FDARGS = FDARGS =
......
...@@ -58,8 +58,7 @@ $(obj)/setup $(obj)/bootsect: %: %.o FORCE ...@@ -58,8 +58,7 @@ $(obj)/setup $(obj)/bootsect: %: %.o FORCE
$(call if_changed,ld) $(call if_changed,ld)
$(obj)/compressed/vmlinux: FORCE $(obj)/compressed/vmlinux: FORCE
$(Q)$(MAKE) -f scripts/Makefile.build obj=$(obj)/compressed \ $(Q)$(MAKE) $(build)=$(obj)/compressed IMAGE_OFFSET=$(IMAGE_OFFSET) $@
IMAGE_OFFSET=$(IMAGE_OFFSET) $@
# Set this if you want to pass append arguments to the zdisk/fdimage kernel # Set this if you want to pass append arguments to the zdisk/fdimage kernel
FDARGS = FDARGS =
......
...@@ -10,15 +10,15 @@ obj-${CONFIG_EISA_PCI_EISA} += pci_eisa.o ...@@ -10,15 +10,15 @@ obj-${CONFIG_EISA_PCI_EISA} += pci_eisa.o
# so leave it at the end of the list. # so leave it at the end of the list.
obj-${CONFIG_EISA_VIRTUAL_ROOT} += virtual_root.o obj-${CONFIG_EISA_VIRTUAL_ROOT} += virtual_root.o
clean-files:= devlist.h
# Ugly hack to get DEVICE_NAME_SIZE value... # Ugly hack to get DEVICE_NAME_SIZE value...
DEVICE_NAME_SIZE:=$(shell awk '$$1=="\#define" && $$2=="DEVICE_NAME_SIZE" {print $$3-1}' $(srctree)/include/linux/device.h) DEVICE_NAME_SIZE =$(shell awk '$$1=="\#define" && $$2=="DEVICE_NAME_SIZE" {print $$3-1}' $(srctree)/include/linux/device.h)
$(obj)/eisa-bus.o: $(obj)/devlist.h $(obj)/eisa-bus.o: $(obj)/devlist.h
$(obj)/devlist.h: $(src)/eisa.ids $(srctree)/include/linux/device.h quiet_cmd_eisaid = GEN $@
sed -e '/^#/D' -e 's/^\([[:alnum:]]\{7\}\) \+"\([^"]\{1,$(DEVICE_NAME_SIZE)\}\).*"/EISA_DEVINFO ("\1", "\2"),/' $< > $@ cmd_eisaid = sed -e '/^\#/D' -e 's/^\([[:alnum:]]\{7\}\) \+"\([^"]\{1,$(DEVICE_NAME_SIZE)\}\).*"/EISA_DEVINFO ("\1", "\2"),/' $< > $@
$(src)/eisa.ids: clean-files := devlist.h
touch $@ $(obj)/devlist.h: $(src)/eisa.ids include/linux/device.h
$(call cmd,eisaid)
...@@ -297,7 +297,7 @@ int __init detect_pdc4030(ide_hwif_t *hwif) ...@@ -297,7 +297,7 @@ int __init detect_pdc4030(ide_hwif_t *hwif)
} }
static int __init ide_probe_for_pdc4030(void) int __init ide_probe_for_pdc4030(void)
{ {
unsigned int index; unsigned int index;
ide_hwif_t *hwif; ide_hwif_t *hwif;
......
...@@ -16,11 +16,10 @@ obj-$(CONFIG_IEEE1394_ETH1394) += eth1394.o ...@@ -16,11 +16,10 @@ obj-$(CONFIG_IEEE1394_ETH1394) += eth1394.o
obj-$(CONFIG_IEEE1394_AMDTP) += amdtp.o obj-$(CONFIG_IEEE1394_AMDTP) += amdtp.o
obj-$(CONFIG_IEEE1394_CMP) += cmp.o obj-$(CONFIG_IEEE1394_CMP) += cmp.o
clean-files := oui.c
quiet_cmd_oui2c = OUI2C $@ quiet_cmd_oui2c = OUI2C $@
cmd_oui2c = $(CONFIG_SHELL) $(obj)/oui2c.sh < $(obj)/oui.db > $@ cmd_oui2c = $(CONFIG_SHELL) $(srctree)/$(src)/oui2c.sh < $< > $@
targets := oui.c
$(obj)/oui.o: $(obj)/oui.c $(obj)/oui.o: $(obj)/oui.c
$(obj)/oui.c: $(obj)/oui.db $(obj)/oui2c.sh $(obj)/oui.c: $(src)/oui.db $(src)/oui2c.sh FORCE
$(call if_changed,oui2c) $(call if_changed,oui2c)
...@@ -58,12 +58,16 @@ MODULE_LICENSE("GPL"); ...@@ -58,12 +58,16 @@ MODULE_LICENSE("GPL");
int capi_major = 68; /* allocated */ int capi_major = 68; /* allocated */
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
#define CAPINC_NR_PORTS 32
#define CAPINC_MAX_PORTS 256
int capi_ttymajor = 191; int capi_ttymajor = 191;
int capi_ttyminors = CAPINC_NR_PORTS;
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */ #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
MODULE_PARM(capi_major, "i"); MODULE_PARM(capi_major, "i");
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
MODULE_PARM(capi_ttymajor, "i"); MODULE_PARM(capi_ttymajor, "i");
MODULE_PARM(capi_ttyminors, "i");
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */ #endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
/* -------- defines ------------------------------------------------- */ /* -------- defines ------------------------------------------------- */
...@@ -1262,7 +1266,6 @@ static int capinc_tty_read_proc(char *page, char **start, off_t off, ...@@ -1262,7 +1266,6 @@ static int capinc_tty_read_proc(char *page, char **start, off_t off,
return 0; return 0;
} }
#define CAPINC_NR_PORTS 256
static struct tty_driver *capinc_tty_driver; static struct tty_driver *capinc_tty_driver;
static struct tty_operations capinc_ops = { static struct tty_operations capinc_ops = {
...@@ -1289,8 +1292,14 @@ static struct tty_operations capinc_ops = { ...@@ -1289,8 +1292,14 @@ static struct tty_operations capinc_ops = {
static int capinc_tty_init(void) static int capinc_tty_init(void)
{ {
struct tty_driver *drv = alloc_tty_driver(CAPINC_NR_PORTS); struct tty_driver *drv;
if (capi_ttyminors > CAPINC_MAX_PORTS)
capi_ttyminors = CAPINC_MAX_PORTS;
if (capi_ttyminors <= 0)
capi_ttyminors = CAPINC_NR_PORTS;
drv = alloc_tty_driver(capi_ttyminors);
if (!drv) if (!drv)
return -ENOMEM; return -ENOMEM;
...@@ -1454,7 +1463,6 @@ static int __init capi_init(void) ...@@ -1454,7 +1463,6 @@ static int __init capi_init(void)
char *p; char *p;
char *compileinfo; char *compileinfo;
if ((p = strchr(revision, ':')) != 0 && p[1]) { if ((p = strchr(revision, ':')) != 0 && p[1]) {
strlcpy(rev, p + 2, sizeof(rev)); strlcpy(rev, p + 2, sizeof(rev));
if ((p = strchr(rev, '$')) != 0 && p > rev) if ((p = strchr(rev, '$')) != 0 && p > rev)
...@@ -1470,8 +1478,6 @@ static int __init capi_init(void) ...@@ -1470,8 +1478,6 @@ static int __init capi_init(void)
devfs_mk_cdev(MKDEV(capi_major, 0), S_IFCHR | S_IRUSR | S_IWUSR, devfs_mk_cdev(MKDEV(capi_major, 0), S_IFCHR | S_IRUSR | S_IWUSR,
"isdn/capi20"); "isdn/capi20");
printk(KERN_NOTICE "capi20: started up with major %d\n", capi_major);
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
if (capinc_tty_init() < 0) { if (capinc_tty_init() < 0) {
unregister_chrdev(capi_major, "capi20"); unregister_chrdev(capi_major, "capi20");
......
...@@ -1991,6 +1991,10 @@ static int capidrv_addcontr(u16 contr, struct capi_profile *profp) ...@@ -1991,6 +1991,10 @@ static int capidrv_addcontr(u16 contr, struct capi_profile *profp)
int i; int i;
sprintf(id, "capidrv-%d", contr); sprintf(id, "capidrv-%d", contr);
if (!try_module_get(THIS_MODULE)) {
printk(KERN_WARNING "capidrv: (%s) Could not reserve module\n", id);
return -1;
}
if (!(card = (capidrv_contr *) kmalloc(sizeof(capidrv_contr), GFP_ATOMIC))) { if (!(card = (capidrv_contr *) kmalloc(sizeof(capidrv_contr), GFP_ATOMIC))) {
printk(KERN_WARNING printk(KERN_WARNING
"capidrv: (%s) Could not allocate contr-struct.\n", id); "capidrv: (%s) Could not allocate contr-struct.\n", id);
...@@ -1998,11 +2002,6 @@ static int capidrv_addcontr(u16 contr, struct capi_profile *profp) ...@@ -1998,11 +2002,6 @@ static int capidrv_addcontr(u16 contr, struct capi_profile *profp)
} }
memset(card, 0, sizeof(capidrv_contr)); memset(card, 0, sizeof(capidrv_contr));
card->owner = THIS_MODULE; card->owner = THIS_MODULE;
if (!try_module_get(card->owner)) {
printk(KERN_WARNING "capidrv: (%s) Could not reserve module\n", id);
kfree(card);
return -1;
}
init_timer(&card->listentimer); init_timer(&card->listentimer);
strcpy(card->name, id); strcpy(card->name, id);
card->contrnr = contr; card->contrnr = contr;
...@@ -2099,6 +2098,7 @@ static int capidrv_delcontr(u16 contr) ...@@ -2099,6 +2098,7 @@ static int capidrv_delcontr(u16 contr)
printk(KERN_ERR "capidrv: delcontr: no contr %u\n", contr); printk(KERN_ERR "capidrv: delcontr: no contr %u\n", contr);
return -1; return -1;
} }
#warning FIXME: maybe a race condition the card should be removed here from global list /kkeil
spin_unlock_irqrestore(&global_lock, flags); spin_unlock_irqrestore(&global_lock, flags);
del_timer(&card->listentimer); del_timer(&card->listentimer);
......
...@@ -77,31 +77,17 @@ static struct work_struct tq_recv_notify; ...@@ -77,31 +77,17 @@ static struct work_struct tq_recv_notify;
static inline struct capi_ctr * static inline struct capi_ctr *
capi_ctr_get(struct capi_ctr *card) capi_ctr_get(struct capi_ctr *card)
{ {
if (try_module_get(card->owner)) if (!try_module_get(card->owner))
return card; return NULL;
return NULL; DBG("Reserve module: %s", card->owner->name);
return card;
} }
static inline void static inline void
capi_ctr_put(struct capi_ctr *card) capi_ctr_put(struct capi_ctr *card)
{ {
module_put(card->owner); module_put(card->owner);
DBG("MOD_COUNT DEC"); DBG("Release module: %s", card->owner->name);
}
/* -------- own ref counting -------------------------------------- */
static inline void
kcapi_get_ref(void)
{
if (!try_module_get(THIS_MODULE))
printk(KERN_WARNING "%s: cannot reserve module\n", __FUNCTION__);
}
static inline void
kcapi_put_ref(void)
{
module_put(THIS_MODULE);
} }
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
...@@ -224,10 +210,13 @@ static int notify_push(unsigned int cmd, u32 controller, ...@@ -224,10 +210,13 @@ static int notify_push(unsigned int cmd, u32 controller,
{ {
struct capi_notifier *np; struct capi_notifier *np;
kcapi_get_ref(); if (!try_module_get(THIS_MODULE)) {
printk(KERN_WARNING "%s: cannot reserve module\n", __FUNCTION__);
return -1;
}
np = (struct capi_notifier *)kmalloc(sizeof(struct capi_notifier), GFP_ATOMIC); np = (struct capi_notifier *)kmalloc(sizeof(struct capi_notifier), GFP_ATOMIC);
if (!np) { if (!np) {
kcapi_put_ref(); module_put(THIS_MODULE);
return -1; return -1;
} }
memset(np, 0, sizeof(struct capi_notifier)); memset(np, 0, sizeof(struct capi_notifier));
...@@ -241,9 +230,9 @@ static int notify_push(unsigned int cmd, u32 controller, ...@@ -241,9 +230,9 @@ static int notify_push(unsigned int cmd, u32 controller,
* of devices. Devices can only removed in * of devices. Devices can only removed in
* user process, not in bh. * user process, not in bh.
*/ */
kcapi_get_ref(); __module_get(THIS_MODULE);
if (schedule_work(&tq_state_notify) == 0) if (schedule_work(&tq_state_notify) == 0)
kcapi_put_ref(); module_put(THIS_MODULE);
return 0; return 0;
} }
...@@ -301,9 +290,9 @@ static void notify_handler(void *dummy) ...@@ -301,9 +290,9 @@ static void notify_handler(void *dummy)
while ((np = notify_dequeue()) != 0) { while ((np = notify_dequeue()) != 0) {
notify_doit(np); notify_doit(np);
kfree(np); kfree(np);
kcapi_put_ref(); module_put(THIS_MODULE);
} }
kcapi_put_ref(); module_put(THIS_MODULE);
} }
/* -------- Receiver ------------------------------------------ */ /* -------- Receiver ------------------------------------------ */
......
...@@ -37,8 +37,8 @@ ...@@ -37,8 +37,8 @@
static int suppress_pollack; static int suppress_pollack;
static struct pci_device_id c4_pci_tbl[] = { static struct pci_device_id c4_pci_tbl[] = {
{ PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C4, 4 }, { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C4, 0, 0, (unsigned long)4 },
{ PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C2, 2 }, { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C2, 0, 0, (unsigned long)2 },
{ } /* Terminating entry */ { } /* Terminating entry */
}; };
...@@ -145,6 +145,7 @@ static inline int wait_for_doorbell(avmcard *card, unsigned long t) ...@@ -145,6 +145,7 @@ static inline int wait_for_doorbell(avmcard *card, unsigned long t)
while (c4inmeml(card->mbase+DOORBELL) != 0xffffffff) { while (c4inmeml(card->mbase+DOORBELL) != 0xffffffff) {
if (!time_before(jiffies, stop)) if (!time_before(jiffies, stop))
return -1; return -1;
mb();
} }
return 0; return 0;
} }
...@@ -297,6 +298,7 @@ static void c4_reset(avmcard *card) ...@@ -297,6 +298,7 @@ static void c4_reset(avmcard *card)
if (!time_before(jiffies, stop)) if (!time_before(jiffies, stop))
return; return;
c4outmeml(card->mbase+DOORBELL, DBELL_ADDR); c4outmeml(card->mbase+DOORBELL, DBELL_ADDR);
mb();
} }
c4_poke(card, DC21285_ARMCSR_BASE + CHAN_1_CONTROL, 0); c4_poke(card, DC21285_ARMCSR_BASE + CHAN_1_CONTROL, 0);
...@@ -320,6 +322,7 @@ static int c4_detect(avmcard *card) ...@@ -320,6 +322,7 @@ static int c4_detect(avmcard *card)
if (!time_before(jiffies, stop)) if (!time_before(jiffies, stop))
return 2; return 2;
c4outmeml(card->mbase+DOORBELL, DBELL_ADDR); c4outmeml(card->mbase+DOORBELL, DBELL_ADDR);
mb();
} }
c4_poke(card, DC21285_ARMCSR_BASE + CHAN_1_CONTROL, 0); c4_poke(card, DC21285_ARMCSR_BASE + CHAN_1_CONTROL, 0);
...@@ -899,6 +902,9 @@ static void c4_remove(struct pci_dev *pdev) ...@@ -899,6 +902,9 @@ static void c4_remove(struct pci_dev *pdev)
avmctrl_info *cinfo; avmctrl_info *cinfo;
u_int i; u_int i;
if (!card)
return;
c4_reset(card); c4_reset(card);
for (i=0; i < card->nr_controllers; i++) { for (i=0; i < card->nr_controllers; i++) {
...@@ -910,6 +916,7 @@ static void c4_remove(struct pci_dev *pdev) ...@@ -910,6 +916,7 @@ static void c4_remove(struct pci_dev *pdev)
iounmap(card->mbase); iounmap(card->mbase);
release_region(card->port, AVMB1_PORTLEN); release_region(card->port, AVMB1_PORTLEN);
avmcard_dma_free(card->dma); avmcard_dma_free(card->dma);
pci_set_drvdata(pdev, NULL);
b1_free_card(card); b1_free_card(card);
} }
...@@ -1141,7 +1148,7 @@ static int c4_add_card(struct capicardparams *p, struct pci_dev *dev, ...@@ -1141,7 +1148,7 @@ static int c4_add_card(struct capicardparams *p, struct pci_dev *dev,
retval = c4_detect(card); retval = c4_detect(card);
if (retval != 0) { if (retval != 0) {
printk(KERN_NOTICE "c4: NO card at 0x%x (%d)\n", printk(KERN_NOTICE "c4: NO card at 0x%x error(%d)\n",
card->port, retval); card->port, retval);
retval = -EIO; retval = -EIO;
goto err_unmap; goto err_unmap;
...@@ -1185,7 +1192,7 @@ static int c4_add_card(struct capicardparams *p, struct pci_dev *dev, ...@@ -1185,7 +1192,7 @@ static int c4_add_card(struct capicardparams *p, struct pci_dev *dev,
printk(KERN_INFO "c4: AVM C%d at i/o %#x, irq %d, mem %#lx\n", printk(KERN_INFO "c4: AVM C%d at i/o %#x, irq %d, mem %#lx\n",
nr_controllers, card->port, card->irq, nr_controllers, card->port, card->irq,
card->membase); card->membase);
pci_set_drvdata(dev, card);
return 0; return 0;
err_free_irq: err_free_irq:
......
...@@ -57,5 +57,5 @@ hisax-$(CONFIG_HISAX_W6692) += w6692.o ...@@ -57,5 +57,5 @@ hisax-$(CONFIG_HISAX_W6692) += w6692.o
hisax-$(CONFIG_HISAX_ENTERNOW_PCI) += enternow_pci.o amd7930_fn.o hisax-$(CONFIG_HISAX_ENTERNOW_PCI) += enternow_pci.o amd7930_fn.o
#hisax-$(CONFIG_HISAX_TESTEMU) += testemu.o #hisax-$(CONFIG_HISAX_TESTEMU) += testemu.o
CERT := $(shell cd $(src); md5sum -c md5sums.asc > /dev/null 2> /dev/null ;echo $$?) CERT = $(shell cd $(src); md5sum -c md5sums.asc > /dev/null 2> /dev/null ;echo $$?)
CFLAGS_cert.o := -DCERTIFICATION=$(CERT) CFLAGS_cert.o = -DCERTIFICATION=$(CERT)
...@@ -559,7 +559,7 @@ isdn_audio_eval_dtmf(modem_info * info) ...@@ -559,7 +559,7 @@ isdn_audio_eval_dtmf(modem_info * info)
ISDN_AUDIO_SKB_DLECOUNT(skb) = 0; ISDN_AUDIO_SKB_DLECOUNT(skb) = 0;
ISDN_AUDIO_SKB_LOCK(skb) = 0; ISDN_AUDIO_SKB_LOCK(skb) = 0;
isdn_tty_queue_tail(info, skb, 2); isdn_tty_queue_tail(info, skb, 2);
if ((dev->modempoll) && (info->rcvsched)) if (((get_isdn_dev())->modempoll) && (info->rcvsched))
mod_timer(&info->read_timer, jiffies + 4); mod_timer(&info->read_timer, jiffies + 4);
} else } else
kfree_skb(skb); kfree_skb(skb);
...@@ -670,7 +670,7 @@ isdn_audio_put_dle_code(modem_info * info, u_char code) ...@@ -670,7 +670,7 @@ isdn_audio_put_dle_code(modem_info * info, u_char code)
ISDN_AUDIO_SKB_LOCK(skb) = 0; ISDN_AUDIO_SKB_LOCK(skb) = 0;
isdn_tty_queue_tail(info, skb, 2); isdn_tty_queue_tail(info, skb, 2);
/* Schedule dequeuing */ /* Schedule dequeuing */
if ((dev->modempoll) && (info->rcvsched)) if (((get_isdn_dev())->modempoll) && (info->rcvsched))
mod_timer(&info->read_timer, jiffies + 4); mod_timer(&info->read_timer, jiffies + 4);
} }
......
This diff is collapsed.
...@@ -837,7 +837,7 @@ isdn_net_force_hangup(char *name) // FIXME rename? ...@@ -837,7 +837,7 @@ isdn_net_force_hangup(char *name) // FIXME rename?
if (!idev) if (!idev)
return -ENODEV; return -ENODEV;
if (idev->isdn_slot < 0) if (idev->isdn_slot == NULL)
return -ENOTCONN; return -ENOTCONN;
isdn_net_hangup(idev); isdn_net_hangup(idev);
...@@ -1186,7 +1186,7 @@ isdn_net_unbind_channel(isdn_net_dev *idev) ...@@ -1186,7 +1186,7 @@ isdn_net_unbind_channel(isdn_net_dev *idev)
{ {
isdn_net_local *mlp = idev->mlp; isdn_net_local *mlp = idev->mlp;
if (idev->isdn_slot < 0) { if (idev->isdn_slot == NULL) {
isdn_BUG(); isdn_BUG();
return; return;
} }
...@@ -1344,7 +1344,7 @@ isdn_net_autodial(struct sk_buff *skb, struct net_device *ndev) ...@@ -1344,7 +1344,7 @@ isdn_net_autodial(struct sk_buff *skb, struct net_device *ndev)
goto discard; goto discard;
/* Log packet, which triggered dialing */ /* Log packet, which triggered dialing */
if (dev->net_verbose) if ((get_isdn_dev())->net_verbose)
isdn_net_log_skb(skb, idev); isdn_net_log_skb(skb, idev);
stop_queue: stop_queue:
...@@ -1497,12 +1497,13 @@ isdn_net_dev_icall(isdn_net_dev *idev, struct isdn_slot *slot, ...@@ -1497,12 +1497,13 @@ isdn_net_dev_icall(isdn_net_dev *idev, struct isdn_slot *slot,
int int
isdn_net_find_icall(struct isdn_slot *slot, setup_parm *setup) isdn_net_find_icall(struct isdn_slot *slot, setup_parm *setup)
{ {
isdn_net_local *lp; isdn_net_local *lp;
isdn_net_dev *idev; isdn_net_dev *idev;
char *nr, *eaz; char *nr, *eaz;
unsigned char si1, si2; unsigned char si1, si2;
int retval; int retval;
unsigned long flags; int verbose = (get_isdn_dev())->net_verbose;
unsigned long flags;
/* fix up calling number */ /* fix up calling number */
if (!setup->phone[0]) { if (!setup->phone[0]) {
...@@ -1522,14 +1523,14 @@ isdn_net_find_icall(struct isdn_slot *slot, setup_parm *setup) ...@@ -1522,14 +1523,14 @@ isdn_net_find_icall(struct isdn_slot *slot, setup_parm *setup)
} }
si1 = setup->si1; si1 = setup->si1;
si2 = setup->si2; si2 = setup->si2;
if (dev->net_verbose > 1) if (verbose > 1)
printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n", printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n",
nr, si1, si2, eaz); nr, si1, si2, eaz);
/* check service indicator */ /* check service indicator */
/* Accept DATA and VOICE calls at this stage /* Accept DATA and VOICE calls at this stage
local eaz is checked later for allowed call types */ local eaz is checked later for allowed call types */
if ((si1 != 7) && (si1 != 1)) { if ((si1 != 7) && (si1 != 1)) {
if (dev->net_verbose > 1) if (verbose > 1)
printk(KERN_INFO "isdn_net: " printk(KERN_INFO "isdn_net: "
"Service-Indicator not 1 or 7, ignored\n"); "Service-Indicator not 1 or 7, ignored\n");
return 0; return 0;
...@@ -1558,7 +1559,7 @@ isdn_net_find_icall(struct isdn_slot *slot, setup_parm *setup) ...@@ -1558,7 +1559,7 @@ isdn_net_find_icall(struct isdn_slot *slot, setup_parm *setup)
} }
spin_unlock_irqrestore(&running_devs_lock, flags); spin_unlock_irqrestore(&running_devs_lock, flags);
if (!retval) { if (!retval) {
if (dev->net_verbose) if (verbose)
printk(KERN_INFO "isdn_net: call " printk(KERN_INFO "isdn_net: call "
"from %s -> %s ignored\n", nr, eaz); "from %s -> %s ignored\n", nr, eaz);
} }
...@@ -2174,10 +2175,10 @@ isdn_net_bsent(isdn_net_dev *idev, isdn_ctrl *c) ...@@ -2174,10 +2175,10 @@ isdn_net_bsent(isdn_net_dev *idev, isdn_ctrl *c)
int int
isdn_net_start_xmit(struct sk_buff *skb, struct net_device *ndev) isdn_net_start_xmit(struct sk_buff *skb, struct net_device *ndev)
{ {
isdn_net_dev *idev; isdn_net_dev *idev;
isdn_net_local *mlp = ndev->priv; isdn_net_local *mlp = ndev->priv;
unsigned long flags; unsigned long flags;
int retval; int retval;
ndev->trans_start = jiffies; ndev->trans_start = jiffies;
...@@ -2208,7 +2209,7 @@ isdn_net_start_xmit(struct sk_buff *skb, struct net_device *ndev) ...@@ -2208,7 +2209,7 @@ isdn_net_start_xmit(struct sk_buff *skb, struct net_device *ndev)
idev->last_jiffies = jiffies; idev->last_jiffies = jiffies;
idev->transcount = 0; idev->transcount = 0;
} }
if (dev->net_verbose > 3) if ((get_isdn_dev())->net_verbose > 3)
printk(KERN_DEBUG "%s: %d bogocps\n", idev->name, idev->cps); printk(KERN_DEBUG "%s: %d bogocps\n", idev->name, idev->cps);
if (idev->cps > mlp->triggercps) { if (idev->cps > mlp->triggercps) {
......
...@@ -381,7 +381,7 @@ isdn_tty_rcv_skb(struct isdn_slot *slot, struct sk_buff *skb) ...@@ -381,7 +381,7 @@ isdn_tty_rcv_skb(struct isdn_slot *slot, struct sk_buff *skb)
); );
restore_flags(flags); restore_flags(flags);
/* Schedule dequeuing */ /* Schedule dequeuing */
if (dev->modempoll && info->rcvsched) if ((get_isdn_dev())->modempoll && info->rcvsched)
mod_timer(&info->read_timer, jiffies + 4); mod_timer(&info->read_timer, jiffies + 4);
return 1; return 1;
} }
...@@ -1735,8 +1735,10 @@ isdn_tty_open(struct tty_struct *tty, struct file *filp) ...@@ -1735,8 +1735,10 @@ isdn_tty_open(struct tty_struct *tty, struct file *filp)
info = &isdn_mdm.info[line]; info = &isdn_mdm.info[line];
if (isdn_tty_paranoia_check(info, tty->name, "isdn_tty_open")) if (isdn_tty_paranoia_check(info, tty->name, "isdn_tty_open"))
return -ENODEV; return -ENODEV;
if (!try_module_get(info->owner)) if (!try_module_get(info->owner)) {
printk(KERN_WARNING "%s: cannot reserve module\n", __FUNCTION__); printk(KERN_WARNING "%s: cannot reserve module\n", __FUNCTION__);
return -ENODEV;
}
#ifdef ISDN_DEBUG_MODEM_OPEN #ifdef ISDN_DEBUG_MODEM_OPEN
printk(KERN_DEBUG "isdn_tty_open %s, count = %d\n", tty->name, printk(KERN_DEBUG "isdn_tty_open %s, count = %d\n", tty->name,
info->count); info->count);
...@@ -1766,7 +1768,7 @@ isdn_tty_open(struct tty_struct *tty, struct file *filp) ...@@ -1766,7 +1768,7 @@ isdn_tty_open(struct tty_struct *tty, struct file *filp)
#ifdef ISDN_DEBUG_MODEM_OPEN #ifdef ISDN_DEBUG_MODEM_OPEN
printk(KERN_DEBUG "isdn_tty_open ttyi%d successful...\n", info->line); printk(KERN_DEBUG "isdn_tty_open ttyi%d successful...\n", info->line);
#endif #endif
dev->modempoll++; (get_isdn_dev())->modempoll++;
#ifdef ISDN_DEBUG_MODEM_OPEN #ifdef ISDN_DEBUG_MODEM_OPEN
printk(KERN_DEBUG "isdn_tty_open normal exit\n"); printk(KERN_DEBUG "isdn_tty_open normal exit\n");
#endif #endif
...@@ -1785,6 +1787,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp) ...@@ -1785,6 +1787,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
if (isdn_tty_paranoia_check(info, tty->name, "isdn_tty_close")) if (isdn_tty_paranoia_check(info, tty->name, "isdn_tty_close"))
goto out; goto out;
#warning need fixing /kkeil
save_flags(flags); save_flags(flags);
cli(); cli();
if (tty_hung_up_p(filp)) { if (tty_hung_up_p(filp)) {
...@@ -1841,7 +1844,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp) ...@@ -1841,7 +1844,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
break; break;
} }
} }
dev->modempoll--; (get_isdn_dev())->modempoll--;
isdn_tty_shutdown(info); isdn_tty_shutdown(info);
if (tty->driver->flush_buffer) if (tty->driver->flush_buffer)
tty->driver->flush_buffer(tty); tty->driver->flush_buffer(tty);
...@@ -1985,8 +1988,8 @@ modem_write_profile(atemu * m) ...@@ -1985,8 +1988,8 @@ modem_write_profile(atemu * m)
memcpy(m->profile, m->mdmreg, ISDN_MODEM_NUMREG); memcpy(m->profile, m->mdmreg, ISDN_MODEM_NUMREG);
memcpy(m->pmsn, m->msn, ISDN_MSNLEN); memcpy(m->pmsn, m->msn, ISDN_MSNLEN);
memcpy(m->plmsn, m->lmsn, ISDN_LMSNLEN); memcpy(m->plmsn, m->lmsn, ISDN_LMSNLEN);
if (dev->profd) if ((get_isdn_dev())->profd)
kill_pg_info(SIGIO, SEND_SIG_PRIV, dev->profd->pgrp); kill_pg_info(SIGIO, SEND_SIG_PRIV, (get_isdn_dev())->profd->pgrp);
} }
static struct tty_operations modem_ops = { static struct tty_operations modem_ops = {
...@@ -2228,7 +2231,7 @@ isdn_tty_find_icall(struct isdn_slot *slot, setup_parm *setup) ...@@ -2228,7 +2231,7 @@ isdn_tty_find_icall(struct isdn_slot *slot, setup_parm *setup)
printk(KERN_DEBUG "m_fi: match1 wret=%d\n", wret); printk(KERN_DEBUG "m_fi: match1 wret=%d\n", wret);
printk(KERN_DEBUG "m_fi: sl=%d flags=%08lx drv=%d ch=%d usg=%d\n", sl, printk(KERN_DEBUG "m_fi: sl=%d flags=%08lx drv=%d ch=%d usg=%d\n", sl,
info->flags, info->isdn_driver, info->isdn_channel, info->flags, info->isdn_driver, info->isdn_channel,
dev->usage[idx]); slot->usage);
#endif #endif
if ( if (
#ifndef FIX_FILE_TRANSFER #ifndef FIX_FILE_TRANSFER
...@@ -2504,7 +2507,7 @@ isdn_tty_at_cout(char *msg, modem_info * info) ...@@ -2504,7 +2507,7 @@ isdn_tty_at_cout(char *msg, modem_info * info)
isdn_tty_queue_tail(info, skb, skb->len); isdn_tty_queue_tail(info, skb, skb->len);
restore_flags(flags); restore_flags(flags);
/* Schedule dequeuing */ /* Schedule dequeuing */
if (dev->modempoll && info->rcvsched) if ((get_isdn_dev())->modempoll && info->rcvsched)
mod_timer(&info->read_timer, jiffies + 4); mod_timer(&info->read_timer, jiffies + 4);
} else { } else {
restore_flags(flags); restore_flags(flags);
...@@ -3289,7 +3292,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info) ...@@ -3289,7 +3292,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info)
#ifdef CONFIG_ISDN_TTY_FAX #ifdef CONFIG_ISDN_TTY_FAX
case '1': case '1':
p[0]++; p[0]++;
if (!(dev->global_features & if (!((get_isdn_dev())->global_features &
ISDN_FEATURE_L3_FCLASS1)) ISDN_FEATURE_L3_FCLASS1))
PARSE_ERROR1; PARSE_ERROR1;
m->mdmreg[REG_SI1] = 1; m->mdmreg[REG_SI1] = 1;
...@@ -3300,7 +3303,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info) ...@@ -3300,7 +3303,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info)
break; break;
case '2': case '2':
p[0]++; p[0]++;
if (!(dev->global_features & if (!((get_isdn_dev())->global_features &
ISDN_FEATURE_L3_FCLASS2)) ISDN_FEATURE_L3_FCLASS2))
PARSE_ERROR1; PARSE_ERROR1;
m->mdmreg[REG_SI1] = 1; m->mdmreg[REG_SI1] = 1;
...@@ -3322,10 +3325,10 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info) ...@@ -3322,10 +3325,10 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info)
p[0]++; p[0]++;
strcpy(rs, "\r\n0,"); strcpy(rs, "\r\n0,");
#ifdef CONFIG_ISDN_TTY_FAX #ifdef CONFIG_ISDN_TTY_FAX
if (dev->global_features & if ((get_isdn_dev())->global_features &
ISDN_FEATURE_L3_FCLASS1) ISDN_FEATURE_L3_FCLASS1)
strcat(rs, "1,"); strcat(rs, "1,");
if (dev->global_features & if ((get_isdn_dev())->global_features &
ISDN_FEATURE_L3_FCLASS2) ISDN_FEATURE_L3_FCLASS2)
strcat(rs, "2,"); strcat(rs, "2,");
#endif #endif
......
This diff is collapsed.
...@@ -142,15 +142,15 @@ typedef struct icn_card { ...@@ -142,15 +142,15 @@ typedef struct icn_card {
int myid; /* Driver-Nr. assigned by linklevel */ int myid; /* Driver-Nr. assigned by linklevel */
int rvalid; /* IO-portregion has been requested */ int rvalid; /* IO-portregion has been requested */
int leased; /* Flag: This Adapter is connected */ int leased; /* Flag: This Adapter is connected */
/* to a leased line */ /* to a leased line */
unsigned short flags; /* Statusflags */ unsigned short flags; /* Statusflags */
int doubleS0; /* Flag: ICN4B */ int doubleS0; /* Flag: ICN4B */
int secondhalf; /* Flag: Second half of a doubleS0 */ int secondhalf; /* Flag: Second half of a doubleS0 */
int fw_rev; /* Firmware revision loaded */ int fw_rev; /* Firmware revision loaded */
int ptype; /* Protocol type (1TR6 or Euro) */ int ptype; /* Protocol type (1TR6 or Euro) */
struct timer_list st_timer; /* Timer for Status-Polls */ struct timer_list st_timer; /* Timer for Status-Polls */
struct timer_list rb_timer; /* Timer for B-Channel-Polls */ struct timer_list rb_timer; /* Timer for B-Channel-Polls */
u_char rcvbuf[ICN_BCH][4096]; /* B-Channel-Receive-Buffers */ u_char rcvbuf[ICN_BCH][4096]; /* B-Channel-Receive-Buffers */
int rcvidx[ICN_BCH]; /* Index for above buffers */ int rcvidx[ICN_BCH]; /* Index for above buffers */
int l2_proto[ICN_BCH]; /* Current layer-2-protocol */ int l2_proto[ICN_BCH]; /* Current layer-2-protocol */
isdn_if interface; /* Interface to upper layer */ isdn_if interface; /* Interface to upper layer */
...@@ -162,18 +162,18 @@ typedef struct icn_card { ...@@ -162,18 +162,18 @@ typedef struct icn_card {
char *msg_buf_end; /* Pointer to end of statusbuffer */ char *msg_buf_end; /* Pointer to end of statusbuffer */
int sndcount[ICN_BCH]; /* Byte-counters for B-Ch.-send */ int sndcount[ICN_BCH]; /* Byte-counters for B-Ch.-send */
int xlen[ICN_BCH]; /* Byte-counters/Flags for sent-ACK */ int xlen[ICN_BCH]; /* Byte-counters/Flags for sent-ACK */
struct sk_buff *xskb[ICN_BCH]; struct sk_buff *xskb[ICN_BCH]; /* Current transmitted skb */
/* Current transmitted skb */ struct sk_buff_head spqueue[ICN_BCH]; /* Sendqueue */
struct sk_buff_head
spqueue[ICN_BCH]; /* Sendqueue */
char regname[35]; /* Name used for request_region */ char regname[35]; /* Name used for request_region */
u_char xmit_lock[ICN_BCH]; /* Semaphore for pollbchan_send() */ u_char xmit_lock[ICN_BCH]; /* Semaphore for pollbchan_send()*/
spinlock_t lock; /* protect critical operations */
} icn_card; } icn_card;
/* /*
* Main driver data * Main driver data
*/ */
typedef struct icn_dev { typedef struct icn_dev {
spinlock_t devlock; /* spinlock to protect this struct */
unsigned long memaddr; /* Address of memory mapped buffers */ unsigned long memaddr; /* Address of memory mapped buffers */
icn_shmem *shmem; /* Pointer to memory-mapped-buffers */ icn_shmem *shmem; /* Pointer to memory-mapped-buffers */
int mvalid; /* IO-shmem has been requested */ int mvalid; /* IO-shmem has been requested */
......
...@@ -117,7 +117,7 @@ config DVB_VES1820 ...@@ -117,7 +117,7 @@ config DVB_VES1820
config DVB_TDA1004X config DVB_TDA1004X
tristate "Frontends with external TDA1004X demodulators (OFDM)" tristate "Frontends with external TDA1004X demodulators (OFDM)"
depends on DVB_CORE depends on DVB_CORE && !STANDALONE
help help
A DVB-T tuner module. Say Y when you want to support this frontend. A DVB-T tuner module. Say Y when you want to support this frontend.
......
config DVB_TTUSB_DEC config DVB_TTUSB_DEC
tristate "Technotrend/Hauppauge USB DEC2000-T devices" tristate "Technotrend/Hauppauge USB DEC2000-T devices"
depends on DVB_CORE && USB depends on DVB_CORE && USB && !STANDALONE
help help
Support for external USB adapters designed by Technotrend and Support for external USB adapters designed by Technotrend and
produced by Hauppauge, shipped under the brand name 'DEC2000-T'. produced by Hauppauge, shipped under the brand name 'DEC2000-T'.
......
...@@ -1061,7 +1061,7 @@ int pcmcia_bind_mtd(mtd_bind_t *req) ...@@ -1061,7 +1061,7 @@ int pcmcia_bind_mtd(mtd_bind_t *req)
/*====================================================================*/ /*====================================================================*/
int pcmcia_deregister_clientR(client_handle_t handle) int pcmcia_deregister_client(client_handle_t handle)
{ {
client_t **client; client_t **client;
struct pcmcia_socket *s; struct pcmcia_socket *s;
......
...@@ -324,7 +324,7 @@ struct coda_statfs { ...@@ -324,7 +324,7 @@ struct coda_statfs {
#define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +\ #define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +\
VC_MAXDATASIZE VC_MAXDATASIZE
#define CIOC_KERNEL_VERSION _IOWR('c', 10, sizeof (int)) #define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t)
#if 0 #if 0
#define CODA_KERNEL_VERSION 0 /* don't care about kernel version number */ #define CODA_KERNEL_VERSION 0 /* don't care about kernel version number */
......
...@@ -188,15 +188,18 @@ extern int leases_enable, dir_notify_enable, lease_break_time; ...@@ -188,15 +188,18 @@ extern int leases_enable, dir_notify_enable, lease_break_time;
#define BLKSSZGET _IO(0x12,104)/* get block device sector size */ #define BLKSSZGET _IO(0x12,104)/* get block device sector size */
#if 0 #if 0
#define BLKPG _IO(0x12,105)/* See blkpg.h */ #define BLKPG _IO(0x12,105)/* See blkpg.h */
#define BLKELVGET _IOR(0x12,106,sizeof(blkelv_ioctl_arg_t))/* elevator get */
#define BLKELVSET _IOW(0x12,107,sizeof(blkelv_ioctl_arg_t))/* elevator set */ /* Some people are morons. Do not use sizeof! */
#define BLKELVGET _IOR(0x12,106,size_t)/* elevator get */
#define BLKELVSET _IOW(0x12,107,size_t)/* elevator set */
/* This was here just to show that the number is taken - /* This was here just to show that the number is taken -
probably all these _IO(0x12,*) ioctls should be moved to blkpg.h. */ probably all these _IO(0x12,*) ioctls should be moved to blkpg.h. */
#endif #endif
/* A jump here: 108-111 have been used for various private purposes. */ /* A jump here: 108-111 have been used for various private purposes. */
#define BLKBSZGET _IOR(0x12,112,sizeof(int)) #define BLKBSZGET _IOR(0x12,112,size_t)
#define BLKBSZSET _IOW(0x12,113,sizeof(int)) #define BLKBSZSET _IOW(0x12,113,size_t)
#define BLKGETSIZE64 _IOR(0x12,114,sizeof(u64)) /* return device size in bytes (u64 *arg) */ #define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size in bytes (u64 *arg) */
#define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */
#define FIBMAP _IO(0x00,1) /* bmap access */ #define FIBMAP _IO(0x00,1) /* bmap access */
......
...@@ -22,12 +22,12 @@ ...@@ -22,12 +22,12 @@
#define I8K_BIOS_VERSION _IOR ('i', 0x80, 4) #define I8K_BIOS_VERSION _IOR ('i', 0x80, 4)
#define I8K_MACHINE_ID _IOR ('i', 0x81, 16) #define I8K_MACHINE_ID _IOR ('i', 0x81, 16)
#define I8K_POWER_STATUS _IOR ('i', 0x82, sizeof(int)) #define I8K_POWER_STATUS _IOR ('i', 0x82, size_t)
#define I8K_FN_STATUS _IOR ('i', 0x83, sizeof(int)) #define I8K_FN_STATUS _IOR ('i', 0x83, size_t)
#define I8K_GET_TEMP _IOR ('i', 0x84, sizeof(int)) #define I8K_GET_TEMP _IOR ('i', 0x84, size_t)
#define I8K_GET_SPEED _IOWR('i', 0x85, sizeof(int)) #define I8K_GET_SPEED _IOWR('i', 0x85, size_t)
#define I8K_GET_FAN _IOWR('i', 0x86, sizeof(int)) #define I8K_GET_FAN _IOWR('i', 0x86, size_t)
#define I8K_SET_FAN _IOWR('i', 0x87, sizeof(int)*2) #define I8K_SET_FAN _IOWR('i', 0x87, size_t)
#define I8K_FAN_LEFT 1 #define I8K_FAN_LEFT 1
#define I8K_FAN_RIGHT 0 #define I8K_FAN_RIGHT 0
......
...@@ -67,9 +67,9 @@ struct sockaddr_pppox { ...@@ -67,9 +67,9 @@ struct sockaddr_pppox {
* *
********************************************************************/ ********************************************************************/
#define PPPOEIOCSFWD _IOW(0xB1 ,0, sizeof(struct sockaddr_pppox)) #define PPPOEIOCSFWD _IOW(0xB1 ,0, size_t)
#define PPPOEIOCDFWD _IO(0xB1 ,1) #define PPPOEIOCDFWD _IO(0xB1 ,1)
/*#define PPPOEIOCGFWD _IOWR(0xB1,2, sizeof(struct sockaddr_pppox))*/ /*#define PPPOEIOCGFWD _IOWR(0xB1,2, size_t)*/
/* Codes to identify message types */ /* Codes to identify message types */
#define PADI_CODE 0x09 #define PADI_CODE 0x09
......
...@@ -94,48 +94,48 @@ ...@@ -94,48 +94,48 @@
#define ISDN_CMSGLEN 50 /* Length of CONNECT-Message to add for Modem */ #define ISDN_CMSGLEN 50 /* Length of CONNECT-Message to add for Modem */
#define ISDN_MSNLEN 32 #define ISDN_MSNLEN 32
#define NET_DV 0x06 /* Data version for isdn_net_ioctl_cfg */ #define NET_DV 0x06 /* Data version for isdn_net_ioctl_cfg */
#define TTY_DV 0x06 /* Data version for iprofd etc. */ #define TTY_DV 0x06 /* Data version for iprofd etc. */
#define INF_DV 0x01 /* Data version for /dev/isdninfo */ #define INF_DV 0x01 /* Data version for /dev/isdninfo */
typedef struct { typedef struct {
char drvid[25]; char drvid[25];
unsigned long arg; unsigned long arg;
} isdn_ioctl_struct; } isdn_ioctl_struct;
typedef struct { typedef struct {
char name[10]; char name[10];
char phone[ISDN_MSNLEN]; char phone[ISDN_MSNLEN];
int outgoing; int outgoing;
} isdn_net_ioctl_phone; } isdn_net_ioctl_phone;
typedef struct { typedef struct {
char name[10]; /* Name of interface */ char name[10]; /* Name of interface */
char master[10]; /* Name of Master for Bundling */ char master[10]; /* Name of Master for Bundling */
char slave[10]; /* Name of Slave for Bundling */ char slave[10]; /* Name of Slave for Bundling */
char eaz[256]; /* EAZ/MSN */ char eaz[256]; /* EAZ/MSN */
char drvid[25]; /* DriverId for Bindings */ char drvid[25]; /* DriverId for Bindings */
int onhtime; /* Hangup-Timeout */ int onhtime; /* Hangup-Timeout */
int charge; /* Charge-Units */ int charge; /* Charge-Units */
int l2_proto; /* Layer-2 protocol */ int l2_proto; /* Layer-2 protocol */
int l3_proto; /* Layer-3 protocol */ int l3_proto; /* Layer-3 protocol */
int p_encap; /* Encapsulation */ int p_encap; /* Encapsulation */
int exclusive; /* Channel, if bound exclusive */ int exclusive; /* Channel, if bound exclusive */
int dialmax; /* Dial Retry-Counter */ int dialmax; /* Dial Retry-Counter */
int slavedelay; /* Delay until slave starts up */ int slavedelay; /* Delay until slave starts up */
int cbdelay; /* Delay before Callback */ int cbdelay; /* Delay before Callback */
int chargehup; /* Flag: Charge-Hangup */ int chargehup; /* Flag: Charge-Hangup */
int ihup; /* Flag: Hangup-Timeout on incoming line */ int ihup; /* Flag: Hangup-Timeout on incoming line */
int secure; /* Flag: Secure */ int secure; /* Flag: Secure */
int callback; /* Flag: Callback */ int callback; /* Flag: Callback */
int cbhup; /* Flag: Reject Call before Callback */ int cbhup; /* Flag: Reject Call before Callback */
int pppbind; /* ippp device for bindings */ int pppbind; /* ippp device for bindings */
int chargeint; /* Use fixed charge interval length */ int chargeint; /* Use fixed charge interval length */
int triggercps; /* BogoCPS needed for triggering slave */ int triggercps; /* BogoCPS needed for triggering slave */
int dialtimeout; /* Dial-Timeout */ int dialtimeout; /* Dial-Timeout */
int dialwait; /* Time to wait after failed dial */ int dialwait; /* Time to wait after failed dial */
int dialmode; /* Flag: off / on / auto */ int dialmode; /* Flag: off / on / auto */
} isdn_net_ioctl_cfg; } isdn_net_ioctl_cfg;
#define ISDN_NET_DIALMODE_MASK 0xC0 /* bits for status */ #define ISDN_NET_DIALMODE_MASK 0xC0 /* bits for status */
...@@ -385,24 +385,22 @@ typedef struct { ...@@ -385,24 +385,22 @@ typedef struct {
} infostruct; } infostruct;
/* Main driver-data */ /* Main driver-data */
typedef struct isdn_devt { typedef struct _isdn_dev_t {
unsigned short flags; /* Bitmapped Flags: */ unsigned short flags; /* Bitmapped Flags: */
/* */ int channels; /* Current number of channels */
int channels; /* Current number of channels */ int net_verbose; /* Verbose-Flag */
int net_verbose; /* Verbose-Flag */ int modempoll; /* Flag: tty-read active */
int modempoll; /* Flag: tty-read active */ int tflags; /* Timer-Flags: */
int tflags; /* Timer-Flags: */ /* see ISDN_TIMER_..defines */
/* see ISDN_TIMER_..defines */ int global_flags;
int global_flags; infostruct *infochain; /* List of open info-devs. */
infostruct *infochain; /* List of open info-devs. */ wait_queue_head_t info_waitq; /* Wait-Queue for isdninfo */
wait_queue_head_t info_waitq; /* Wait-Queue for isdninfo */ struct task_struct *profd; /* For iprofd */
struct task_struct *profd; /* For iprofd */ struct semaphore sem; /* serialize list access*/
struct semaphore sem; /* serialize list access*/ unsigned long global_features;
unsigned long global_features; } isdn_dev_t;
} isdn_dev;
extern isdn_dev_t *get_isdn_dev(void);
extern isdn_dev *dev;
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -15,21 +15,21 @@ struct matroxioc_output_mode { ...@@ -15,21 +15,21 @@ struct matroxioc_output_mode {
#define MATROXFB_OUTPUT_MODE_NTSC 0x0002 #define MATROXFB_OUTPUT_MODE_NTSC 0x0002
#define MATROXFB_OUTPUT_MODE_MONITOR 0x0080 #define MATROXFB_OUTPUT_MODE_MONITOR 0x0080
}; };
#define MATROXFB_SET_OUTPUT_MODE _IOW('n',0xFA,sizeof(struct matroxioc_output_mode)) #define MATROXFB_SET_OUTPUT_MODE _IOW('n',0xFA,size_t)
#define MATROXFB_GET_OUTPUT_MODE _IOWR('n',0xFA,sizeof(struct matroxioc_output_mode)) #define MATROXFB_GET_OUTPUT_MODE _IOWR('n',0xFA,size_t)
/* bitfield */ /* bitfield */
#define MATROXFB_OUTPUT_CONN_PRIMARY (1 << MATROXFB_OUTPUT_PRIMARY) #define MATROXFB_OUTPUT_CONN_PRIMARY (1 << MATROXFB_OUTPUT_PRIMARY)
#define MATROXFB_OUTPUT_CONN_SECONDARY (1 << MATROXFB_OUTPUT_SECONDARY) #define MATROXFB_OUTPUT_CONN_SECONDARY (1 << MATROXFB_OUTPUT_SECONDARY)
#define MATROXFB_OUTPUT_CONN_DFP (1 << MATROXFB_OUTPUT_DFP) #define MATROXFB_OUTPUT_CONN_DFP (1 << MATROXFB_OUTPUT_DFP)
/* connect these outputs to this framebuffer */ /* connect these outputs to this framebuffer */
#define MATROXFB_SET_OUTPUT_CONNECTION _IOW('n',0xF8,sizeof(__u32)) #define MATROXFB_SET_OUTPUT_CONNECTION _IOW('n',0xF8,size_t)
/* which outputs are connected to this framebuffer */ /* which outputs are connected to this framebuffer */
#define MATROXFB_GET_OUTPUT_CONNECTION _IOR('n',0xF8,sizeof(__u32)) #define MATROXFB_GET_OUTPUT_CONNECTION _IOR('n',0xF8,size_t)
/* which outputs are available for this framebuffer */ /* which outputs are available for this framebuffer */
#define MATROXFB_GET_AVAILABLE_OUTPUTS _IOR('n',0xF9,sizeof(__u32)) #define MATROXFB_GET_AVAILABLE_OUTPUTS _IOR('n',0xF9,size_t)
/* which outputs exist on this framebuffer */ /* which outputs exist on this framebuffer */
#define MATROXFB_GET_ALL_OUTPUTS _IOR('n',0xFB,sizeof(__u32)) #define MATROXFB_GET_ALL_OUTPUTS _IOR('n',0xFB,size_t)
enum matroxfb_ctrl_id { enum matroxfb_ctrl_id {
MATROXFB_CID_TESTOUT = V4L2_CID_PRIVATE_BASE, MATROXFB_CID_TESTOUT = V4L2_CID_PRIVATE_BASE,
......
...@@ -122,15 +122,15 @@ enum { ...@@ -122,15 +122,15 @@ enum {
/* no param */ /* no param */
#define PMU_IOC_SLEEP _IO('B', 0) #define PMU_IOC_SLEEP _IO('B', 0)
/* out param: u32* backlight value: 0 to 15 */ /* out param: u32* backlight value: 0 to 15 */
#define PMU_IOC_GET_BACKLIGHT _IOR('B', 1, sizeof(__u32*)) #define PMU_IOC_GET_BACKLIGHT _IOR('B', 1, size_t)
/* in param: u32 backlight value: 0 to 15 */ /* in param: u32 backlight value: 0 to 15 */
#define PMU_IOC_SET_BACKLIGHT _IOW('B', 2, sizeof(__u32)) #define PMU_IOC_SET_BACKLIGHT _IOW('B', 2, size_t)
/* out param: u32* PMU model */ /* out param: u32* PMU model */
#define PMU_IOC_GET_MODEL _IOR('B', 3, sizeof(__u32*)) #define PMU_IOC_GET_MODEL _IOR('B', 3, size_t)
/* out param: u32* has_adb: 0 or 1 */ /* out param: u32* has_adb: 0 or 1 */
#define PMU_IOC_HAS_ADB _IOR('B', 4, sizeof(__u32*)) #define PMU_IOC_HAS_ADB _IOR('B', 4, size_t)
/* out param: u32* can_sleep: 0 or 1 */ /* out param: u32* can_sleep: 0 or 1 */
#define PMU_IOC_CAN_SLEEP _IOR('B', 5, sizeof(__u32*)) #define PMU_IOC_CAN_SLEEP _IOR('B', 5, size_t)
/* no param */ /* no param */
#define PMU_IOC_GRAB_BACKLIGHT _IOR('B', 6, 0) #define PMU_IOC_GRAB_BACKLIGHT _IOR('B', 6, 0)
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
#define ATY_RADEON_CRT_ON 0x00000002 #define ATY_RADEON_CRT_ON 0x00000002
#define FBIO_RADEON_GET_MIRROR _IOR('@', 3, sizeof(__u32*)) #define FBIO_RADEON_GET_MIRROR _IOR('@', 3, size_t)
#define FBIO_RADEON_SET_MIRROR _IOW('@', 4, sizeof(__u32*)) #define FBIO_RADEON_SET_MIRROR _IOW('@', 4, size_t)
#endif #endif
...@@ -41,6 +41,15 @@ config CLEAN_COMPILE ...@@ -41,6 +41,15 @@ config CLEAN_COMPILE
If unsure, say Y If unsure, say Y
config STANDALONE
bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL
default y
help
Select this option if you don't have magic firmware for drivers that
need it.
If unsure, say Y.
config BROKEN config BROKEN
bool bool
depends on !CLEAN_COMPILE depends on !CLEAN_COMPILE
......
...@@ -4,12 +4,14 @@ always := $(host-progs) ...@@ -4,12 +4,14 @@ always := $(host-progs)
genksyms-objs := genksyms.o parse.o lex.o genksyms-objs := genksyms.o parse.o lex.o
HOSTCFLAGS_parse.o := -Wno-uninitialized # -I needed for generated C source (shipped source)
HOSTCFLAGS_parse.o := -Wno-uninitialized -I$(src)
# dependencies on generated files need to be listed explicitly # dependencies on generated files need to be listed explicitly
$(obj)/lex.o: $(obj)/parse.h $(obj)/keywords.c $(obj)/lex.o: $(obj)/parse.h $(obj)/keywords.c
# -I needed for generated C source (shipped source)
HOSTCFLAGS_lex.o := -I$(src)
ifdef GENERATE_PARSER ifdef GENERATE_PARSER
......
...@@ -319,7 +319,7 @@ config SOUND_TRIDENT ...@@ -319,7 +319,7 @@ config SOUND_TRIDENT
config SOUND_MSNDCLAS config SOUND_MSNDCLAS
tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey" tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey"
depends on SOUND_PRIME!=n && SOUND depends on SOUND_PRIME!=n && SOUND && !STANDALONE
help help
Say M here if you have a Turtle Beach MultiSound Classic, Tahiti or Say M here if you have a Turtle Beach MultiSound Classic, Tahiti or
Monterey (not for the Pinnacle or Fiji). Monterey (not for the Pinnacle or Fiji).
...@@ -334,7 +334,7 @@ comment "Compiled-in MSND Classic support requires firmware during compilation." ...@@ -334,7 +334,7 @@ comment "Compiled-in MSND Classic support requires firmware during compilation."
config MSNDCLAS_HAVE_BOOT config MSNDCLAS_HAVE_BOOT
bool bool
depends on SOUND_MSNDCLAS=y depends on SOUND_MSNDCLAS=y && !STANDALONE
default y default y
config MSNDCLAS_INIT_FILE config MSNDCLAS_INIT_FILE
...@@ -383,7 +383,7 @@ config MSNDCLAS_IO ...@@ -383,7 +383,7 @@ config MSNDCLAS_IO
config SOUND_MSNDPIN config SOUND_MSNDPIN
tristate "Support for Turtle Beach MultiSound Pinnacle, Fiji" tristate "Support for Turtle Beach MultiSound Pinnacle, Fiji"
depends on SOUND_PRIME!=n && SOUND depends on SOUND_PRIME!=n && SOUND && !STANDALONE
help help
Say M here if you have a Turtle Beach MultiSound Pinnacle or Fiji. Say M here if you have a Turtle Beach MultiSound Pinnacle or Fiji.
See <file:Documentation/sound/oss/MultiSound> for important information See <file:Documentation/sound/oss/MultiSound> for important information
...@@ -714,7 +714,7 @@ config SOUND_TRIX ...@@ -714,7 +714,7 @@ config SOUND_TRIX
config TRIX_HAVE_BOOT config TRIX_HAVE_BOOT
bool "Have TRXPRO.HEX firmware file" bool "Have TRXPRO.HEX firmware file"
depends on SOUND_TRIX=y depends on SOUND_TRIX=y && !STANDALONE
help help
The MediaTrix AudioTrix Pro has an on-board microcontroller which The MediaTrix AudioTrix Pro has an on-board microcontroller which
needs to be initialized by downloading the code from the file needs to be initialized by downloading the code from the file
...@@ -869,7 +869,7 @@ config PSS_MIXER ...@@ -869,7 +869,7 @@ config PSS_MIXER
config PSS_HAVE_BOOT config PSS_HAVE_BOOT
bool "Have DSPxxx.LD firmware file" bool "Have DSPxxx.LD firmware file"
depends on SOUND_PSS depends on SOUND_PSS && !STANDALONE
help help
If you have the DSPxxx.LD file or SYNTH.LD file for you card, say Y If you have the DSPxxx.LD file or SYNTH.LD file for you card, say Y
to include this file. Without this file the synth device (OPL) may to include this file. Without this file the synth device (OPL) may
...@@ -940,7 +940,7 @@ config SOUND_MAUI ...@@ -940,7 +940,7 @@ config SOUND_MAUI
config MAUI_HAVE_BOOT config MAUI_HAVE_BOOT
bool "Have OSWF.MOT firmware file" bool "Have OSWF.MOT firmware file"
depends on SOUND_MAUI=y depends on SOUND_MAUI=y && !STANDALONE
help help
Turtle Beach Maui and Tropez sound cards have a microcontroller Turtle Beach Maui and Tropez sound cards have a microcontroller
which needs to be initialized prior to use. OSWF.MOT is a file which needs to be initialized prior to use. OSWF.MOT is a file
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment