aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/Kbuild1
-rw-r--r--include/linux/fs.h2
-rw-r--r--include/linux/i2c.h4
-rw-r--r--include/linux/init.h2
-rw-r--r--include/linux/irq.h1
-rw-r--r--include/linux/kdebug.h2
-rw-r--r--include/linux/mmzone.h1
-rw-r--r--include/linux/pci_ids.h1
-rw-r--r--include/linux/spi/spi.h59
-rw-r--r--include/linux/spi/spidev.h4
-rw-r--r--include/linux/sysctl.h2
11 files changed, 73 insertions, 6 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index bcf875e844fe..ad7f71a81b0a 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -137,6 +137,7 @@ header-y += radeonfb.h
137header-y += raw.h 137header-y += raw.h
138header-y += resource.h 138header-y += resource.h
139header-y += rose.h 139header-y += rose.h
140header-y += serial_reg.h
140header-y += smbno.h 141header-y += smbno.h
141header-y += snmp.h 142header-y += snmp.h
142header-y += sockios.h 143header-y += sockios.h
diff --git a/include/linux/fs.h b/include/linux/fs.h
index d33beadd9a43..6bf139562947 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -878,7 +878,7 @@ extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl);
878extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl); 878extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl);
879extern int __break_lease(struct inode *inode, unsigned int flags); 879extern int __break_lease(struct inode *inode, unsigned int flags);
880extern void lease_get_mtime(struct inode *, struct timespec *time); 880extern void lease_get_mtime(struct inode *, struct timespec *time);
881extern int setlease(struct file *, long, struct file_lock **); 881extern int generic_setlease(struct file *, long, struct file_lock **);
882extern int vfs_setlease(struct file *, long, struct file_lock **); 882extern int vfs_setlease(struct file *, long, struct file_lock **);
883extern int lease_modify(struct file_lock **, int); 883extern int lease_modify(struct file_lock **, int);
884extern int lock_may_read(struct inode *, loff_t start, unsigned long count); 884extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 0c37a737a2b2..2a32f2fd940d 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -156,10 +156,14 @@ struct i2c_driver {
156 * @name: Indicates the type of the device, usually a chip name that's 156 * @name: Indicates the type of the device, usually a chip name that's
157 * generic enough to hide second-sourcing and compatible revisions. 157 * generic enough to hide second-sourcing and compatible revisions.
158 * @adapter: manages the bus segment hosting this I2C device 158 * @adapter: manages the bus segment hosting this I2C device
159 * @driver: device's driver, hence pointer to access routines
160 * @usage_count: counts current number of users of this client
159 * @dev: Driver model device node for the slave. 161 * @dev: Driver model device node for the slave.
160 * @irq: indicates the IRQ generated by this device (if any) 162 * @irq: indicates the IRQ generated by this device (if any)
161 * @driver_name: Identifies new-style driver used with this device; also 163 * @driver_name: Identifies new-style driver used with this device; also
162 * used as the module name for hotplug/coldplug modprobe support. 164 * used as the module name for hotplug/coldplug modprobe support.
165 * @list: list of active/busy clients
166 * @released: used to synchronize client releases & detaches and references
163 * 167 *
164 * An i2c_client identifies a single device (i.e. chip) connected to an 168 * An i2c_client identifies a single device (i.e. chip) connected to an
165 * i2c bus. The behaviour exposed to Linux is defined by the driver 169 * i2c bus. The behaviour exposed to Linux is defined by the driver
diff --git a/include/linux/init.h b/include/linux/init.h
index f0d0e3295a9b..1a4a283d19a9 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -114,7 +114,7 @@ void prepare_namespace(void);
114 * 114 *
115 * This only exists for built-in code, not for modules. 115 * This only exists for built-in code, not for modules.
116 */ 116 */
117#define pure_initcall(fn) __define_initcall("0",fn,1) 117#define pure_initcall(fn) __define_initcall("0",fn,0)
118 118
119#define core_initcall(fn) __define_initcall("1",fn,1) 119#define core_initcall(fn) __define_initcall("1",fn,1)
120#define core_initcall_sync(fn) __define_initcall("1s",fn,1s) 120#define core_initcall_sync(fn) __define_initcall("1s",fn,1s)
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 44657197fcb0..efc88538b2ba 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -140,6 +140,7 @@ struct irq_chip {
140 * @wake_depth: enable depth, for multiple set_irq_wake() callers 140 * @wake_depth: enable depth, for multiple set_irq_wake() callers
141 * @irq_count: stats field to detect stalled irqs 141 * @irq_count: stats field to detect stalled irqs
142 * @irqs_unhandled: stats field for spurious unhandled interrupts 142 * @irqs_unhandled: stats field for spurious unhandled interrupts
143 * @last_unhandled: aging timer for unhandled count
143 * @lock: locking for SMP 144 * @lock: locking for SMP
144 * @affinity: IRQ affinity on SMP 145 * @affinity: IRQ affinity on SMP
145 * @cpu: cpu index useful for balancing 146 * @cpu: cpu index useful for balancing
diff --git a/include/linux/kdebug.h b/include/linux/kdebug.h
index 5db38d6d8b92..ed815090b3bc 100644
--- a/include/linux/kdebug.h
+++ b/include/linux/kdebug.h
@@ -3,6 +3,8 @@
3 3
4#include <asm/kdebug.h> 4#include <asm/kdebug.h>
5 5
6struct notifier_block;
7
6struct die_args { 8struct die_args {
7 struct pt_regs *regs; 9 struct pt_regs *regs;
8 const char *str; 10 const char *str;
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index da8eb8ad9e9b..3ea68cd3b61f 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -120,7 +120,6 @@ enum zone_type {
120 * --------------------------- 120 * ---------------------------
121 * parisc, ia64, sparc <4G 121 * parisc, ia64, sparc <4G
122 * s390 <2G 122 * s390 <2G
123 * arm26 <48M
124 * arm Various 123 * arm Various
125 * alpha Unlimited or 0-16MB. 124 * alpha Unlimited or 0-16MB.
126 * 125 *
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 69d68117bdac..07fc57429b58 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -611,7 +611,6 @@
611#define PCI_DEVICE_ID_NEC_CBUS_3 0x003b 611#define PCI_DEVICE_ID_NEC_CBUS_3 0x003b
612#define PCI_DEVICE_ID_NEC_NAPCCARD 0x003e 612#define PCI_DEVICE_ID_NEC_NAPCCARD 0x003e
613#define PCI_DEVICE_ID_NEC_PCX2 0x0046 /* PowerVR */ 613#define PCI_DEVICE_ID_NEC_PCX2 0x0046 /* PowerVR */
614#define PCI_DEVICE_ID_NEC_NILE4 0x005a
615#define PCI_DEVICE_ID_NEC_VRC5476 0x009b 614#define PCI_DEVICE_ID_NEC_VRC5476 0x009b
616#define PCI_DEVICE_ID_NEC_VRC4173 0x00a5 615#define PCI_DEVICE_ID_NEC_VRC4173 0x00a5
617#define PCI_DEVICE_ID_NEC_VRC5477_AC97 0x00a6 616#define PCI_DEVICE_ID_NEC_VRC5477_AC97 0x00a6
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index 302b81d1d117..002a3cddbdd5 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -77,6 +77,7 @@ struct spi_device {
77#define SPI_CS_HIGH 0x04 /* chipselect active high? */ 77#define SPI_CS_HIGH 0x04 /* chipselect active high? */
78#define SPI_LSB_FIRST 0x08 /* per-word bits-on-wire */ 78#define SPI_LSB_FIRST 0x08 /* per-word bits-on-wire */
79#define SPI_3WIRE 0x10 /* SI/SO signals shared */ 79#define SPI_3WIRE 0x10 /* SI/SO signals shared */
80#define SPI_LOOP 0x20 /* loopback mode */
80 u8 bits_per_word; 81 u8 bits_per_word;
81 int irq; 82 int irq;
82 void *controller_state; 83 void *controller_state;
@@ -138,6 +139,32 @@ struct spi_message;
138 139
139 140
140 141
142/**
143 * struct spi_driver - Host side "protocol" driver
144 * @probe: Binds this driver to the spi device. Drivers can verify
145 * that the device is actually present, and may need to configure
146 * characteristics (such as bits_per_word) which weren't needed for
147 * the initial configuration done during system setup.
148 * @remove: Unbinds this driver from the spi device
149 * @shutdown: Standard shutdown callback used during system state
150 * transitions such as powerdown/halt and kexec
151 * @suspend: Standard suspend callback used during system state transitions
152 * @resume: Standard resume callback used during system state transitions
153 * @driver: SPI device drivers should initialize the name and owner
154 * field of this structure.
155 *
156 * This represents the kind of device driver that uses SPI messages to
157 * interact with the hardware at the other end of a SPI link. It's called
158 * a "protocol" driver because it works through messages rather than talking
159 * directly to SPI hardware (which is what the underlying SPI controller
160 * driver does to pass those messages). These protocols are defined in the
161 * specification for the device(s) supported by the driver.
162 *
163 * As a rule, those device protocols represent the lowest level interface
164 * supported by a driver, and it will support upper level interfaces too.
165 * Examples of such upper levels include frameworks like MTD, networking,
166 * MMC, RTC, filesystem character device nodes, and hardware monitoring.
167 */
141struct spi_driver { 168struct spi_driver {
142 int (*probe)(struct spi_device *spi); 169 int (*probe)(struct spi_device *spi);
143 int (*remove)(struct spi_device *spi); 170 int (*remove)(struct spi_device *spi);
@@ -667,7 +694,37 @@ static inline ssize_t spi_w8r16(struct spi_device *spi, u8 cmd)
667 * parport adapters, or microcontrollers acting as USB-to-SPI bridges. 694 * parport adapters, or microcontrollers acting as USB-to-SPI bridges.
668 */ 695 */
669 696
670/* board-specific information about each SPI device */ 697/**
698 * struct spi_board_info - board-specific template for a SPI device
699 * @modalias: Initializes spi_device.modalias; identifies the driver.
700 * @platform_data: Initializes spi_device.platform_data; the particular
701 * data stored there is driver-specific.
702 * @controller_data: Initializes spi_device.controller_data; some
703 * controllers need hints about hardware setup, e.g. for DMA.
704 * @irq: Initializes spi_device.irq; depends on how the board is wired.
705 * @max_speed_hz: Initializes spi_device.max_speed_hz; based on limits
706 * from the chip datasheet and board-specific signal quality issues.
707 * @bus_num: Identifies which spi_master parents the spi_device; unused
708 * by spi_new_device(), and otherwise depends on board wiring.
709 * @chip_select: Initializes spi_device.chip_select; depends on how
710 * the board is wired.
711 * @mode: Initializes spi_device.mode; based on the chip datasheet, board
712 * wiring (some devices support both 3WIRE and standard modes), and
713 * possibly presence of an inverter in the chipselect path.
714 *
715 * When adding new SPI devices to the device tree, these structures serve
716 * as a partial device template. They hold information which can't always
717 * be determined by drivers. Information that probe() can establish (such
718 * as the default transfer wordsize) is not included here.
719 *
720 * These structures are used in two places. Their primary role is to
721 * be stored in tables of board-specific device descriptors, which are
722 * declared early in board initialization and then used (much later) to
723 * populate a controller's device tree after the that controller's driver
724 * initializes. A secondary (and atypical) role is as a parameter to
725 * spi_new_device() call, which happens after those controller drivers
726 * are active in some dynamic board configuration models.
727 */
671struct spi_board_info { 728struct spi_board_info {
672 /* the device name and module name are coupled, like platform_bus; 729 /* the device name and module name are coupled, like platform_bus;
673 * "modalias" is normally the driver name. 730 * "modalias" is normally the driver name.
diff --git a/include/linux/spi/spidev.h b/include/linux/spi/spidev.h
index 7d700be57490..c93ef9d42a01 100644
--- a/include/linux/spi/spidev.h
+++ b/include/linux/spi/spidev.h
@@ -35,6 +35,10 @@
35#define SPI_MODE_2 (SPI_CPOL|0) 35#define SPI_MODE_2 (SPI_CPOL|0)
36#define SPI_MODE_3 (SPI_CPOL|SPI_CPHA) 36#define SPI_MODE_3 (SPI_CPOL|SPI_CPHA)
37 37
38#define SPI_CS_HIGH 0x04
39#define SPI_LSB_FIRST 0x08
40#define SPI_3WIRE 0x10
41#define SPI_LOOP 0x20
38 42
39/*---------------------------------------------------------------------------*/ 43/*---------------------------------------------------------------------------*/
40 44
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index 47f1c53332ce..483050c924c3 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -62,7 +62,7 @@ enum
62 CTL_KERN=1, /* General kernel info and control */ 62 CTL_KERN=1, /* General kernel info and control */
63 CTL_VM=2, /* VM management */ 63 CTL_VM=2, /* VM management */
64 CTL_NET=3, /* Networking */ 64 CTL_NET=3, /* Networking */
65 /* was CTL_PROC */ 65 CTL_PROC=4, /* removal breaks strace(1) compilation */
66 CTL_FS=5, /* Filesystems */ 66 CTL_FS=5, /* Filesystems */
67 CTL_DEBUG=6, /* Debugging */ 67 CTL_DEBUG=6, /* Debugging */
68 CTL_DEV=7, /* Devices */ 68 CTL_DEV=7, /* Devices */