diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 20:33:43 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 20:33:43 -0800 |
| commit | 1fc742dd8e03a4957af9c1fee4a4e465781ba7a9 (patch) | |
| tree | 775cdf3d1c05d216787569a1b129b3f9aae7b6db /include | |
| parent | d40d1af9f0aebf7e108f1dfb66ac5af671bc9719 (diff) | |
v2.4.14.3 -> v2.4.14.4
- Mikael Pettersson: make proc_misc happy without modules
- Arjan van de Ven: clean up acpitable implementation ("micro-acpi")
- Anton Altaparmakov: LDM partition code update
- Alan Cox: final (yeah, sure) small missing pieces
- Andrey Savochkin/Andrew Morton: eepro100 config space save/restore over suspend
- Arjan van de Ven: remove power from pcmcia socket on card remove
- Greg KH: USB updates
- Neil Brown: multipath updates
- Martin Dalecki: fix up some "asmlinkage" routine markings
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/ac97_codec.h | 3 | ||||
| -rw-r--r-- | include/linux/console.h | 1 | ||||
| -rw-r--r-- | include/linux/isapnp.h | 15 | ||||
| -rw-r--r-- | include/linux/kernel.h | 2 | ||||
| -rw-r--r-- | include/linux/pci.h | 5 | ||||
| -rw-r--r-- | include/linux/raid/md_k.h | 1 | ||||
| -rw-r--r-- | include/linux/raid/multipath.h | 22 |
7 files changed, 28 insertions, 21 deletions
diff --git a/include/linux/ac97_codec.h b/include/linux/ac97_codec.h index 96944938fc18..8701d6a01164 100644 --- a/include/linux/ac97_codec.h +++ b/include/linux/ac97_codec.h @@ -239,6 +239,7 @@ extern int ac97_read_proc (char *page_out, char **start, off_t off, extern int ac97_probe_codec(struct ac97_codec *); extern unsigned int ac97_set_adc_rate(struct ac97_codec *codec, unsigned int rate); extern unsigned int ac97_set_dac_rate(struct ac97_codec *codec, unsigned int rate); - +extern int ac97_save_state(struct ac97_codec *codec); +extern int ac97_restore_state(struct ac97_codec *codec); #endif /* _AC97_CODEC_H_ */ diff --git a/include/linux/console.h b/include/linux/console.h index d2ae967af36c..0fca958bd07e 100644 --- a/include/linux/console.h +++ b/include/linux/console.h @@ -112,6 +112,7 @@ extern struct console *console_drivers; extern void acquire_console_sem(void); extern void release_console_sem(void); extern void console_conditional_schedule(void); +extern void console_unblank(void); /* VESA Blanking Levels */ #define VESA_NO_BLANKING 0 diff --git a/include/linux/isapnp.h b/include/linux/isapnp.h index f42165a80799..136dac530b93 100644 --- a/include/linux/isapnp.h +++ b/include/linux/isapnp.h @@ -162,6 +162,14 @@ struct isapnp_device_id { unsigned long driver_data; /* data private to the driver */ }; +struct isapnp_driver { + struct list_head node; + char *name; + const struct isapnp_device_id *id_table; /* NULL if wants all devices */ + int (*probe) (struct pci_dev *dev, const struct isapnp_device_id *id); /* New device inserted */ + void (*remove) (struct pci_dev *dev); /* Device removed (NULL if not a hot-plug capable driver) */ +}; + #if defined(CONFIG_ISAPNP) || (defined(CONFIG_ISAPNP_MODULE) && defined(MODULE)) #define __ISAPNP__ @@ -214,6 +222,9 @@ extern struct list_head isapnp_devices; #define isapnp_for_each_dev(dev) \ for(dev = pci_dev_g(isapnp_devices.next); dev != pci_dev_g(&isapnp_devices); dev = pci_dev_g(dev->global_list.next)) +int isapnp_register_driver(struct isapnp_driver *drv); +void isapnp_unregister_driver(struct isapnp_driver *drv); + #else /* !CONFIG_ISAPNP */ /* lowlevel configuration */ @@ -249,6 +260,10 @@ static inline void isapnp_resource_change(struct resource *resource, unsigned long size) { ; } static inline int isapnp_activate_dev(struct pci_dev *dev, const char *name) { return -ENODEV; } +static inline int isapnp_register_driver(struct isapnp_driver *drv) { return 0; } + +static inline void isapnp_unregister_driver(struct isapnp_driver *drv) { } + #endif /* CONFIG_ISAPNP */ #endif /* __KERNEL__ */ diff --git a/include/linux/kernel.h b/include/linux/kernel.h index f6821a2668b2..ce4aef9e5666 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -51,7 +51,7 @@ struct completion; extern struct notifier_block *panic_notifier_list; NORET_TYPE void panic(const char * fmt, ...) __attribute__ ((NORET_AND format (printf, 1, 2))); -NORET_TYPE void do_exit(long error_code) +asmlinkage NORET_TYPE void do_exit(long error_code) ATTRIB_NORET; NORET_TYPE void complete_and_exit(struct completion *, long) ATTRIB_NORET; diff --git a/include/linux/pci.h b/include/linux/pci.h index 8eaa73a08c3e..e1cd3b4203e0 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -532,6 +532,8 @@ struct pci_bus *pci_alloc_primary_bus(int bus); struct pci_dev *pci_scan_slot(struct pci_dev *temp); int pci_proc_attach_device(struct pci_dev *dev); int pci_proc_detach_device(struct pci_dev *dev); +int pci_proc_attach_bus(struct pci_bus *bus); +int pci_proc_detach_bus(struct pci_bus *bus); void pci_name_device(struct pci_dev *dev); char *pci_class_name(u32 class); void pci_read_bridge_bases(struct pci_bus *child); @@ -589,6 +591,9 @@ void pci_insert_device(struct pci_dev *, struct pci_bus *); void pci_remove_device(struct pci_dev *); struct pci_driver *pci_dev_driver(const struct pci_dev *); const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev); +void pci_announce_device_to_drivers(struct pci_dev *); +unsigned int pci_do_scan_bus(struct pci_bus *bus); +struct pci_bus * pci_add_new_bus(struct pci_bus *parent, struct pci_dev *dev, int busnr); /* kmem_cache style wrapper around pci_alloc_consistent() */ struct pci_pool *pci_pool_create (const char *name, struct pci_dev *dev, diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index 851df24f4a5a..b53549dda951 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h @@ -43,6 +43,7 @@ static inline int pers_to_level (int pers) static inline int level_to_pers (int level) { switch (level) { + case -4: return MULTIPATH; case -3: return HSM; case -2: return TRANSLUCENT; case -1: return LINEAR; diff --git a/include/linux/raid/multipath.h b/include/linux/raid/multipath.h index db2f3ec99bda..261c1c837d7b 100644 --- a/include/linux/raid/multipath.h +++ b/include/linux/raid/multipath.h @@ -7,14 +7,11 @@ struct multipath_info { int number; int raid_disk; kdev_t dev; - int sect_limit; - int head_position; /* * State bits: */ int operational; - int write_only; int spare; int used_slot; @@ -36,22 +33,10 @@ struct multipath_private_data { * multipath_bh that are pre-allocated have MPBH_PreAlloc set. * All these variable are protected by device_lock */ - struct buffer_head *freebh; - int freebh_cnt; /* how many are on the list */ struct multipath_bh *freer1; - struct multipath_bh *freebuf; /* each bh_req has a page allocated */ + int freer1_blocked; + int freer1_cnt; md_wait_queue_head_t wait_buffer; - - /* for use when syncing multipaths: */ - unsigned long start_active, start_ready, - start_pending, start_future; - int cnt_done, cnt_active, cnt_ready, - cnt_pending, cnt_future; - int phase; - int window; - md_wait_queue_head_t wait_done; - md_wait_queue_head_t wait_ready; - md_spinlock_t segment_lock; }; typedef struct multipath_private_data multipath_conf_t; @@ -76,9 +61,8 @@ struct multipath_bh { unsigned long state; mddev_t *mddev; struct buffer_head *master_bh; - struct buffer_head *multipath_bh_list; struct buffer_head bh_req; - struct multipath_bh *next_r1; /* next for retry or in free list */ + struct multipath_bh *next_mp; /* next for retry or in free list */ }; /* bits for multipath_bh.state */ #define MPBH_Uptodate 1 |
