- 06 Jan, 2003 9 commits
-
-
Patrick Mochel authored
This creates and exports device_bind_driver() and device_release_driver() that allow a caller to manually bind a device to a driver. Apparantly, some drivers use this functionality (like USB): a driver binds to other device interfaces during the driver's probe() method call for the first interface. Implementation is easy enough, since it simply involves renaming and exporting the internal functions attach() and detach().
-
Patrick Mochel authored
In drivers/base/bus.c, get_bus() was called without put_bus() in these functions: - bus_for_each_dev() - bus_for_each_drv()
-
Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-kobject
-
Patrick Mochel authored
- declare net_subsys, and register during net_dev_init(). - Add kobject to struct net_device. - initialize name and register in register_netdevice(). - remove in unregister_netdevice(). This allows one to see the registered network devices in the system via: # tree /sys/net/ /sys/net/ `-- eth0
-
Patrick Mochel authored
Since block_subsys already contains a list and a lock, use those, instead of defining our own static ones. This allows struct gendisk::full_list to be removed. struct gendisk::list is also apparently unused, so it is removed also.
-
Patrick Mochel authored
This was never used, and a bad idea to begin with.
-
Patrick Mochel authored
-
Patrick Mochel authored
-
Patrick Mochel authored
The kobject core no longer references a subsystem directly through a kobject, instead using the kobject's dominant kset to reference the subsystem. The registrants of kobjects have been fixed up. To aid in this process, a few helpers were introdcuced: - kobj_set_kset_s(obj,subsys) - kset_set_kset_s(obj,subsys) - subsys_set_kset(obj,subsys) that set the kset ptr of embedded kobjects for objects that have different embedded types. See include/linux/kobject.h for more description and usage. struct subsystem::kobj is also removed, relying solely on a subsystem's embedded kset for hierarchy information. Since this requires modification of the subsystem declarations, a helper macro has been defined: decl_subsys(name,type) which initializes the name and ktype fields of the subsystem's embedded kset. All the subsystem declarations have been fixed up.
-
- 05 Jan, 2003 10 commits
-
-
Patrick Mochel authored
struct kset is what struct subsystem should have originally been called. It is a set of kobjects, and nothing more, with a much less confusing name than 'subsystem.' struct kset contains an embedded kobject, making it possible to represent it in the object hierarchy, and sysfs. This also provides a means for objects to easily express a list of subordinate objects. struct subsystem still exists, and contains an rwsem, which its subordinate ksets use to protect their lists. An arbitrary number of ksets may belong to a subsystem. A ksets specifies the subsystem it belongs to via its ->subsys field. struct subsystem also contains a default kset, which may be used without having to define a separate kset. The objects that defined subordinate subsystems (bus and class drivers) have been converted to use subordinate ksets instead. Note that the usage of ksets is flexible. - ksets may contain a list of objects of any type, not just kobjects. - The objects registered with a kset do not have to be registered. - ksets themselves do not have to be registered. One can be used by simply calling kset_init(). - ksets do not need a name if they are not registered. - Note however that locking must be done manually in these cases.
-
Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core
-
bk://linux.bkbits.net/linux-2.5Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
-
bk://linux.bkbits.net/linux-2.5Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Andi Kleen authored
This is just to make x86-64 boot with IOMMU and compiled in AGP driver again. Previously both AGP and the IOMMU code would set up an aperture, with AGP being winner, messing up pci_map_*. This is needed for the x86-64 update for 2.5.54 I sent earlier. Actually using /dev/agpgart still corrupts memory unfortunately, haven't tracked that down yet. I also commented on some (usually 64bit, but at least one 32bit) bugs in the driver too. These changes should be all nops on i386. - Export amd k8 init function for x86-64. It needs to be called early by the iommu code. Add some comments to warn about about that (the upcoming VIA and SIS K8 chipsets will have the same problem) - Declare gatt table as u32 following the AGP spec. - Comment some bugs.
-
Andi Kleen authored
More x86-64 updates for 2.5.54. Most noticeable change is that the 64bit X server works again. This only changes x86-64 specific files. It requires some AGP driver changes I'm sending separately. - Some Makefile cleanups from Sam Ravnborg - Make sure extended registers in 32bit processes are zeroed and not accessible/changeable from ptrace. This is to avoid potential security bugs with non 64bit clean 32bit emulation functions (they often are overflow prone etc.) - Some 32bit emulation cleanups from Stephen Rothwell - Make copy_*_user source const to fix warnings. - Set fs/gs to dummy values when the 64bit segment base is set to not confuse the context switch (Karsten Keil, me) * still one mysterious bug in this area unfortunately. - Make MAP_32BIT for 64bit processes only map in the first 31bit, because it is usually used to map small model code. This fixes the X server crashes. Some cleanups in this area. - Don't set O_LARGEFILE for 32bit open - Handle ptregs calls from 32bit syscall correctly. - Implement aio io_getevents for 32bit. - Remove buggy unused command handler in nfsd 32bit emulation. - Convert timespec in semtimedop (thanks to Anton for telling me about this) - Ignore long mode flag from 32bit modify_ldt. This fixes Wine, which left it uninitialized (bug found by Karsten Keil) - Merge with i386 - Handle new kallsyms - Remove some superfluous bootup printks
-
http://linux-scsi.bkbits.net/scsi-for-linus-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
James Bottomley authored
into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.5
-
Andries E. Brouwer authored
Wondering why my CD-writer did not have a name in sysfs, I saw that when the name is longer than 50 bytes no name at all is used. The (much smaller) code below constructs a truncated name instead.
-
- 04 Jan, 2003 21 commits
-
-
Luca Barbieri authored
This patch fixes the handling of IOPL when sysenter is used. Currently when entering kernel mode, IOPL is not changed and it is not presserved across context switches: thus, in the kernel, the IOPL value is random. This is not a problem when using iret, because it restores eflags, but the sysexit code currently doesn't, which means that that IOPL becomes random in user mode too which is of course not good. This patch fixes the problem by saving eflags across context switches.
-
James Bottomley authored
Also update zalon to C99 initialisers
-
Patrick Mochel authored
- Remove unused class_list. - Use lists in subordinate subsystems for storing lists of devices and drivers. - Rename 'drvsubsys' to 'drivers' and 'devsubsys' to 'devices', to be more meaningful.
-
Patrick Mochel authored
- Remove devices list, in favor of using the list in the subordinate devices subsystem. - Rename devsubsys to 'devices' and drvsubsys to 'drivers'. - Use bus's rwsem when iterating over drivers, instead of the subordinate driver subsystem's. (We use that one when adding the driver, and binding it to devices).
-
Patrick Mochel authored
This is the first step in morphing struct subsystem into something meaningful. A subsystem is defined simply as a list of kobjects of a certain type, which is far too generic. A subsystem should be representative of a large entity of code (i.e. a subsystem of the kernel), not just a simple list. This changeset: - Creates struct kobj_type, a descriptor of the type a kobject is embedded in. - Extracts the fields that are specific to a particular object type from struct subsystem and puts them in struct kobj_type, which are - the object's release method. - the sysfs operations for the object type. - the default attributes of the object type. - Adds ptr to struct kobject to point to its type descriptor. - Converts the existing subsystem definitions to define struct kobj_type. struct kobj_type's are not registered, as they do not have any explicit representation in the object hierarchy, nor do they have any fields that need runtime initialization. A kobject's ktype should be set when it is registered, like its subsystem. Note this obviates the need for defining a struct subsystem when an object type does not need to be kept in a global list.
-
Patrick Mochel authored
-
bk://linux.bkbits.net/linux-2.5Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
-
James Bottomley authored
-
Richard Hirst authored
The Zalon card is a GSC 53c720 based card. This driver adopts the ncr53c8xx driver for the purpose.
-
http://linux-isdn.bkbits.net/linux-2.5.isdnLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.isdn
-
Kai Germaschewski authored
When separating out the duplicated xmit handling, we were lucky that we could reuse BC_Send_Data for our purposes. Introduce a more extensible "struct bc_l1_ops" instead, and initialize that in the code that provides the functionality, not in the users.
-
Kai Germaschewski authored
Realize that *_empty_fifo() and *_fill_fifo() are always called under the card lock, so no additional protection when reading/writing fifos is needed.
-
Kai Germaschewski authored
Same thing which just happened to hscx_irq.c - Use the struct bc_hw_ops instead of macros and inlining.
-
Kai Germaschewski authored
Each driver for HSCX based cards defined some hardware access macros and #include'd hscx_irq.c. Instead, we now add the needed routines to the corresponding bc_hw_ops and use regular function calls. It's a slight bit less efficient, but shouldn't be noticable.
-
Kai Germaschewski authored
Using {isac,hscx}_{read,write} instead of the low-level readreg/writereg simplifies the code a bit.
-
Kai Germaschewski authored
Preparing for un-inlining hscx_irq.c, we add operations needed to access the B-Channel FIFO's, similar to what we already have for the D-Channel.
-
Kai Germaschewski authored
Basically only a cosmetic patch, with much renaming and a little rearranging of code.
-
James Bottomley authored
mainly #include file shuffle
-
Kai Germaschewski authored
Just a simple search and replace, switch to the more commonly used "u8" type.
-
Kai Germaschewski authored
In many cases, readreg()/writereg() users can be simplified by passing struct IsdnCardState instead of individual register addresses.
-