public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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