* 2.5.2 API change summary
@ 2002-01-21 4:05 Andreas Bombe
0 siblings, 0 replies; only message in thread
From: Andreas Bombe @ 2002-01-21 4:05 UTC (permalink / raw)
To: linux-kernel
A bit late, but here it is. No guarantees for correctness of the
explanations, it's what I've gathered from context and reading a bit of
source code. Corrections welcome.
These are just the actual changes in the 2.5.2 patch, if you want the
bigger picture visit Randy Dunlap's page where he collects pointers to
mailing list threads of relevance for driver writers:
http://www.osdl.org/archive/rddunlap/linux-port-25x.html
And here it goes:
GENERAL CHANGES:
include/linux/list.h:
- New typedef of list_t to struct list_head.
include/linux/crc32.h (new):
- Central implementation of CRC32, which was previously implemented in 5
places in the kernel.
include/linux/devfs_fs_kernel.h:
- devfs_put() exported (put (release) reference to a devfs entry).
- New function devfs_get_handle() to get the devfs handle corresponding
to a name or major/minor combination.
include/linux/kdev_t.h:
- kdev_t changed from basic type (unsigned short) to opaque struct type
to prepare for future expansion to larger major/minor numbers.
- New macros major() and minor() to replace MAJOR() and MINOR() for
extracting those from a kdev_t. MAJOR()/MINOR() are for the user
level dev_t only now.
- New functions kdev_val() and val_to_kdev() to convert a kdev_t to/from
an unsigned int cookie.
- New macro mk_kdev() to convert a major/minor combination into a
kdev_t.
include/linux/namespace.h (new):
include/linux/sched.h:
- Added task namespace functions.
- New CLONE_NEWNS cloning flag for namespaces.
include/linux/mm.h:
include/linux/gfp.h (new):
- All GFP macros and page allocation functions moved to new gfp.h from
mm.h.
- New function get_user_pages().
BLOCK DEVICES / FILE SYSTEMS:
include/linux/bio.h:
- New #define BIO_MAX_SIZE to accompany BIO_MAX_SECTORS, defined as
(BIO_MAX_SECTORS << 9).
include/linux/acct.h:
- acct_auto_close() now takes a struct super_block* instead of kdev_t as
argument.
include/linux/fs.h:
- create_empty_buffers() does not have a kdev_t parameter anymore.
- fsync_no_super() and brw_page() now take a struct super_block* where
they took a kdev_t as argument.
- The following functions are now wrappers mapping kdev_t to struct
super_block* of the real function:
get_hash_table() => __get_hash_table()
getblk() => __getblk()
bread() => __bread()
- New functions sb_set_blocksize() and sb_min_blocksize() (to set
super_block block size) and map_bh().
SCSI:
drivers/scsi/hosts.h:
- Field host_lock in struct Scsi_Host changed from spinlock_t to
spinlock_t*, which defaults to point to the new field default_lock.
Function scsi_assign_lock() to set that field added.
- Fully dynamic host and device handling: scsi_(un)register_module()
removed, scsi_unregister_device() and scsi_(un)register_host()
added.
USB:
drivers/usb/hcd.h (new):
- New host controller driver framework. "Plugs into usbcore (usb_bus)
and lets HCDs share code, minimizing HCD-specific behaviors/bugs."
include/linux/usb.h:
- typedef devrequest is now struct usb_ctrlrequest.
--
Andreas Bombe <bombe@informatik.tu-muenchen.de> DSA key 0x04880A44
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-01-21 4:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-21 4:05 2.5.2 API change summary Andreas Bombe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox